Объединяем два столбца при помощи формул
Допустим, у Вас есть таблица с данными о клиентах, и Вы хотите объединить столбцы с именем (First Name) и фамилией (Last Name) в один столбец с полным именем (Full Name).
Добавьте в таблицу новый столбец. Для этого наведите указатель мыши на заголовок столбца (в нашем случае это столбец D), кликните по нему правой кнопкой мыши и в контекстном меню выберите пункт Insert (Вставить). Давайте назовём новый столбец Full Name.
В ячейке D2 запишите вот такую формулу:
B2 и C2 – это адреса ячеек из столбцов First Name и Last Name
Обратите внимание, что в формуле между ними стоит символ пробела, заключенный в кавычки. Это разделитель, который будет вставлен между соединёнными частями имени
В качестве разделителя Вы можете использовать любой другой символ, например, запятую.
Точно так же Вы можете объединить данные из нескольких ячеек, используя при этом любой разделитель по Вашему вкусу. Например, Вы можете соединить адреса из 3 столбцов в один:
Скопируйте эту формулу во все остальные ячейки столбца Full Name. Пошаговую инструкцию как это делается Вы можете найти в статье Как вставить одинаковую формулу сразу во все выбранные ячейки.
Итак, мы объединили имена из двух столбцов в один, но это по-прежнему формула. Если мы удалим столбец First name или Last name, то связанные с ними данные в столбце Full Name также будут потеряны.
Теперь нам нужно превратить формулу в значение, чтобы мы могли удалить ненужные столбцы с нашего листа Excel. Выделите все ячейки с данными в объединённом столбце (выделите первую ячейку в столбце Full Name и затем нажмите Ctrl+Shift+Стрелка вниз.Скопируйте содержимое в буфер обмена (Ctrl+C или Ctrl+Ins – что предпочитаете), затем кликните правой кнопкой мыши по любой ячейке в том же столбце (Full Name) и в контекстном меню выберите Paste Special (Специальная вставка). Отметьте вариант Values (Значения) и нажмите ОК.
Удалите столбцы First Name и Last Name, они нам больше не нужны. Для этого:
кликните по заголовку столбца B, затем, нажав и удерживая клавишу Ctrl, кликните по заголовку столбца C.
(другой способ) выберите любую ячейку в столбце B, нажмите Ctrl+Space (Пробел), чтобы выделить весь столбец B, затем нажмите Ctrl+Shift+Стрелка вправо, чтобы добавить к выделению столбец C.
После этого кликните правой кнопкой мыши по любому из выделенных столбцов и в контекстном меню нажмите Delete (Удалить).
Отлично, мы объединили имена из двух столбцов в один! Хоть это и потребовало немало усилий и времени.
Псевдонимы полей
Псевдоним является альтернативным именем поля и представляет собой более понятное описание содержимого поля. В отличие от настоящих имен, псевдонимы могут не соответствовать ограничениям базы данных и могут содержать до 255 знаков – включая пробелы, цифры и специальные символы. Задавая псевдонимы, вы можете называть поля более информативно по сравнению с настоящими именами.
Например, вы можете задать псевдоним «Дата действия» для поля, хранящегося в базе данных как «DEED_DATE».
Существует два типа псевдонимов полей: псевдонимы полей класса пространственных объектов (только в базах геоданных) и псевдонимы полей слоя. С псевдонимами полей класса объектов вы работаете в ArcCatalog в диалоговом окне Свойства класса пространственных объектов (Feature Class Properties). Когда класс объектов базы данных добавляется в ArcMap, его псевдонимы полей изначально используются для псевдонимов полей слоя. Однако, после этого связи между двумя типами псевдонимов нет. Свойства, заданные в ArcMap, временно отменяют настройки свойства источника данных, но при этом не переносятся в источник данных. Это означает, что если вы измените псевдоним поля слоя, это не изменит псевдоним поля класса пространственных объектов, и если вы измените псевдоним поля в базе геоданных, это не обновит псевдоним поля слоя ни для какого слоя, созданного на основе этого класса объектов.
Способ 1: именованные диапазоны + функция ДВССЫЛ
Для начала создадим именованные диапазоны с адресами. Имя каждому присвоим в соответствии с городом.
Алгоритм создания именованного диапазона: выделяем диапазон, далее «Формулы» – «Задать имя».
У нас получится 5 именованных диапазона: Волгоград, Воронеж, Краснодар, Москва и Ростов_на_Дону.
Обратите внимание, к именам диапазонов есть список требований. Например, в имени не могут содержаться пробелы, запятые, дефисы и прочие символы
Подробнее о создании именованных диапазонов и работе с ними мы говорим в нашем бесплатном курсе Основы Excel.
Поэтому, вместо дефисов в названии города Ростов-на-Дону мы укажем допустимый символ – нижнее подчеркивание.
Именованные диапазоны готовы.
Теперь выбираем ячейку для второго выпадающего списка, того, который будет зависимым. Переходим к инструменту «Проверка данных», тип данных – «Список». В поле «Источник» указываем функцию: , где D2 – это адрес ячейки с первым выпадающим списком городов.
В ячейке D2, которая используется в качестве аргумента функции , находится текстовое выражение, которое совпадает с именем соответствующего именованного диапазона с названиями городов. В результате функция возвращает ссылку на соответствующий именованный диапазон.
Зависимый выпадающий список адресов готов.
Меняя значения в ячейке D2, меняются списки в ячейке E2. За исключением города Ростов-на-Дону. В выпадающем списке городов (ячейка D2), в названии используется дефис, а в именованном диапазоне – нижнее подчеркивание.
Чтобы устранить это несоответствие, перед тем как применять функцию , обработаем значения функцией .
Функция заменяет определенный текст в текстовой строке на новое значение. Вместо: укажем:
То есть, мы проводим предварительную обработку значений, чтобы они соответствовали правилам написания имён. Если в названии города имеются дефисы, они будут заменены на нижнее подчеркивание.
Теперь зависимый выпадающий список работает и для города, содержащего в названии дефисы – Ростов-на-Дону. Вернемся к выпадающему списку городов.
Геометрия
В ArcGIS тип данных геометрия (geometry) определяет типы геометрии объектов — точка, линия, полигон, мультиточка или мультипатч — которые хранятся в определенной таблице. Поле, хранящееся как тип geometry, при создании из ArcGIS получает имя SHAPE.
Новый полигональный класс пространственных объектов
Geometry — это тип данных, используемый ArcGIS. Например, если для нового класса объектов выбрано Объекты полигоны, как показано ниже, поле SHAPE, добавленное по умолчанию, получит тип данных ArcGIS Geometry.
В разделе Свойства поля диалогового окна Новый класс пространственных объектов тип геометрии будет указан как Polygon.
Тип данных и тип геометрии
Если бы вы создали класс пространственных объектов с типом объектов — линия, точка, мультиточка, мультипатч, объект-размер (dimension) или аннотация — то тип геометрии для поля SHAPE поменялся бы соответствующим образом — на линия, точка, мультиточка, мультипатч или полигон для объектов-размеров (dimension) или аннотаций.
Синтаксис
identifier:
nondigit
identifiernondigit
identifierdigit
nondigit: один из следующих символов:
_ a b c d e f g h i j k l mn o p q r s t u v w x y z
A B C D E F G H I J K L MN O P Q R S T U V W X Y Z
digit: один из следующих символов:
0 1 2 3 4 5 6 7 8 9
Первый символ имени идентификатора должен принадлежать к группе (т. е., первым символом должен быть знак подчеркивания или прописная либо строчная буква). Стандарт ANSI допускает 6 значащих символов в имени внешнего идентификатора и 31 символ для имен внутренних (внутри функции) идентификаторов. На имена внешних идентификаторов (идентификаторов, объявленных в глобальной области или с классом хранения ) могут накладываться дополнительные ограничения, поскольку эти идентификаторы должны обрабатываться другим программным обеспечением, таким как компоновщики.
Блок, относящийся только к системам Microsoft
Хотя стандарт ANSI допускает 6 значащих символов в именах внешних идентификаторов и 31 символ в именах внутренних (внутри функции) идентификаторов, компилятор Microsoft C допускает 247 символов в именах внутренних и внешних идентификаторов. Если совместимость со стандартом ANSI не требуется, можно увеличить или уменьшить это значение по умолчанию с помощью параметра /H (ограничение длины внешних имен).
Завершение блока, относящегося только к системам Майкрософт
В компиляторе языка C прописные и строчные буквы считаются разными символами. Эта особенность, называемая «учетом регистра», позволяет создавать различные идентификаторы, состоящие из одинаковых букв в различных регистрах. Например, каждый из следующих идентификаторов является уникальным:
Блок, относящийся только к системам Microsoft
Не выбирайте для идентификаторов имена, которые начинаются с двух символов подчеркивания или с одного символа подчеркивания и последующей прописной буквы. Стандарт ANSI языка C разрешает резервировать имена идентификаторов, начинающиеся с таких сочетаний символов, для использования компилятором. Идентификаторы с областью действия на уровне файлов также не должны начинаться со знака подчеркивания и последующей строчной буквы. Имена идентификаторов, начинающиеся с таких символов, также зарезервированы. По принятому соглашению в системах Microsoft символ подчеркивания и прописная букву используются в начале имен макросов, а два символа подчеркивания используются для специальных ключевых слова систем Microsoft. Во избежание каких-либо конфликтов имен никогда не выбирайте имена идентификаторов, которые начинаются с одного или двух символов подчеркивания или с символа подчеркивания и последующей прописной буквы.
Завершение блока, относящегося только к системам Майкрософт
Ниже приведены примеры допустимых идентификаторов, которые соответствуют ограничениям на имена, накладываемым стандартом ANSI или системами Microsoft:
Блок, относящийся только к системам Microsoft
Хотя по умолчанию в файлах исходного кода учитывается регистр символов в идентификаторах, в символах объектных файлов регистр не учитывается. Microsoft C обрабатывает идентификаторы в единице компиляции с учетом регистра.
Компоновщик Microsoft учитывает регистр. Необходимо указывать все идентификаторы единообразно с учетом регистра.
«Исходная кодировка» — это набор допустимых символов, которые могут использоваться в файлах исходного кода. Для Microsoft C исходной кодировкой является стандартный набор символов ASCII. Исходная кодировка и кодировка выполнения содержат символы ASCII, используемые в виде escape-последовательностей. Сведения о кодировке выполнения см. в статье Константы символов в C.
Завершение блока, относящегося только к системам Майкрософт
У идентификатора имеется «область», т. е. область программы, в которой он определен, и «компоновка», которая определяет, ссылается ли то же самое имя из другой области на этот же идентификатор. Эти вопросы рассматриваются в разделе Время существования, область, видимость и компоновка.
Источник данных сводной таблицы Excel
Для успешной работы со сводными таблицами исходные данные должны отвечать ряду требований. Обязательным условием является наличие названий над каждым полем (столбцом), по которым эти поля будут идентифицироваться. Теперь полезные советы.
1. Лучший формат для данных – это Таблица Excel. Она хороша тем, что у каждого поля есть наименование и при добавлении новых строк они автоматически включаются в сводную таблицу.
2. Избегайте повторения групп в виде столбцов. Например, все даты должны находиться в одном поле, а не разбиты по месяцам в отдельных столбцах.
3. Уберите пропуски и пустые ячейки иначе данная строка может выпасть из анализа.
4. Применяйте правильное форматирование к полям. Числа должны быть в числовом формате, даты должны быть датой. Иначе возникнут проблемы при группировке и математической обработке. Но здесь эксель вам поможет, т.к. сам неплохо определяет формат данных.
В целом требований немного, но их следует знать.
Идентификаторы объектов
Поле ObjectID автоматически поддерживается в ArcGIS и гарантирует, что у каждой записи в таблице будет свой уникальный идентификатор. Если открыть таблицу или атрибутивную таблицу слоя, вы увидите поле ObjectID сразу после псевдонимов OID или ObjectID для таблиц и FID для слоев. От наличия этого поля зависят такие ключевые функции, как прокрутка и отображение выбранных наборов.
Следует отметить, что для работы большинства функциональных возможностей ArcGIS for Desktop, даже для инструмента Идентифицировать, необходимо наличие поля ObjectID с уникальными значениями
Соответственно, с базой данных вне ArcGIS надо работать очень осторожно, чтобы случайно не повредить или не создать повторяющиеся записи в полях типа ObjectID. Например, при создании видов со связями типа один-ко-многим есть вероятность продублировать ObjectID
Это приведет к некорректному поведению функций ArcGIS for Desktop.
Использование доменов для контролирования значений в полях
Атрибутивные домены представляют собой правила, определяющие корректные значения для поля в таблице базы геоданных. Они обеспечивают целостность данных путем установки ограничений на то, какие значения данных пользователь сможет добавить в конкретное поле.
Вам следует использовать атрибутивные домены для тех полей, для которых имеется четко определенный набор или диапазон возможных значений, определенных для этого поля. Например, для поля, которое содержит ответ на вопрос социологического исследования «Какое ваше любимое блюдо?», будет трудно установить домен, поскольку существует слишком большое количество ответов, которые могут быть получены. Однако поле, хранящее данные о цвете глаз, может иметь назначенный для него атрибутивный домен, поскольку существует весьма ограниченное количество возможных значений.
- Черный
- Браун
- Синий
- Зеленый
- Светло-коричневый
- Серый
- Фиолетовый
Использование атрибутивного домена для поля, хранящего данные по цвету глаз, могло бы обеспечить некоторую последовательность, или согласованность значений. Если человеку, производящему сбор данных, было бы разрешено вводить для цвета глаз в текстовое поле любой цвет, то вы бы могли запутаться во всех этих значениях глаз голубого цвета:
- Лазурный
- Темно-синий
- Небесно-голубой
- Зеленовато-синий
- Аквамарин
Атрибутивные домены также предотвращают возможность появления орфографической ошибки или опечатки. Даже если операторы знают, что им разрешено использовать для обозначения голубого цвета глаз только значение голубой, они все равно могут бы написать это слово с ошибкой (галубой) или нечаянно нажать в момент ввода в текстовое поле слова голубой не ту клавишу на клавиатуре (голубоц).
Глобальные идентификаторы
Тип данных global ID, или GUID, хранит реестр строк стилей (registry style strings), состоящий из 36 символов, заключенных в круглые скобки. Эти строки уникально определяют объект или запись таблицы внутри и вне базы геоданных. Так обеспечивается отслеживание объектов при одностороннем или двустороннем создании реплик. Разработчики могут использовать их в отношениях или в любом приложении, для которого требуется наличие глобальных уникальных идентификаторов. В отношении, если поле Global ID является исходным ключом (origin key), то поле GUID должно быть ключом назначения (destination key). Глобальные идентификаторы можно добавить в набор данных в базе геоданных, щелкнув его правой кнопкой мыши и выбрав Добавить Global ID. После этого база геоданных будет поддерживать эти значения автоматически. Вы можете создать поле GUID в ArcCatalog, но обслуживать его значения надо будет вам вручную.
Базы данных с собственным типом данных GUID, например, персональные базы геоданных и Microsoft SQL Server, хранят значения Global ID и GUID в виде 16 байтов. Базы данных, не имеющие «родной» тип данных GUID, хранят их в виде 38 байт.
Некоторые примечания по работе с глобальными идентификаторами
Использование подтипов
Подтипы представляют собой классификации, созданные в рамках класса пространственных объектов или таблицы в базе геоданных. Они также позволяют вам объединять пространственные объекты в логические группы на основании уникальных характеристик или модели поведения данных. Эта характеристика или модель поведения представляется в виде значений какого-то поля в таблице. Например, для таблицы гидрологических данных, вы можете определить подтипы для различных типов русел: ручьев, горных ручьев, протоков, каналов и рек. Для каждого из этих подтипов вы можете использовать различные правила топологии, правила связности, значения по умолчанию и правила отношений.
Использование подтипов для хранения групп связанных объектов может повысить производительность обработки запросов. Если бы вы хранили различные типы данных в разных классах пространственных объектов вместо использования подтипов, то в вашей базе данных было бы гораздо больше классов пространственных объектов, что могло бы привести к увеличению времени поиска.
Вот правила, применяющиеся для подтипов:
- В таблице или классе пространственных объектов только одно поле может иметь определенные для него подтипы.
- Чтобы вы могли использовать подтипы, поле, для которого вы хотите использовать подтип, должно быть с типом длинное целое (long integer) или короткое целое (short integer).
- Вы можете использовать различные правила топологии и отношений для различных подтипов. Можно также использовать различные атрибуты или домены с кодированными значениями для других полей в таблице на основании подтипов.
Условный оператор WHERE
Ситуация, когда требуется сделать выборку по определенному условию, встречается очень часто. Для этого в операторе SELECT существует параметр WHERE, после которого следует условие для ограничения строк. Если запись удовлетворяет этому условию, то попадает в результат, иначе отбрасывается.
Общая структура запроса с оператором WHERE
SELECT поля_таблиц FROM список_таблиц WHERE условия_на_ограничения_строк ;
В описанной структуре запроса необязательные параметры указаны в квадратных скобках.
В условном операторе применяются операторы сравнения, специальные и логические операторы.
Операторы сравнения
Операторы сравнения служат для сравнения 2 выражений, их результатом может являться ИСТИНА (1), ЛОЖЬ (0) и NULL.
Оператор | Описание |
---|---|
= | Оператор равенство |
<=> | Оператор эквивалентностьАналогичный оператору равенства, с одним лишь исключением: в отличие от него, оператор эквивалентности вернет ИСТИНУ при сравнении NULL <=> NULL |
<>или!= | Оператор неравенство |
< | Оператор меньше |
<= | Оператор меньше или равно |
> | Оператор больше |
>= | Оператор больше или равно |
Специальные операторы
-
— позволяет узнать равно ли проверяемое значение NULL.
Для примера выведем всех членов семьи, у которых статус в семье не равен NULL:
SELECT * FROM FamilyMembers WHERE status IS NOT NULL;
-
— позволяет узнать расположено ли проверяемое значение столбца в интервале между min и max.
Выведем все данные о покупках с ценой от 100 до 500 рублей из таблицы Payments:
SELECT * FROM Payments WHERE unit_price BETWEEN 100 AND 500;
-
— позволяет узнать входит ли проверяемое значение столбца в список определённых значений.
Выведем имена членов семьи, чей статус равен «father» или «mother»:
SELECT member_name FROM FamilyMembers WHERE status IN ('father', 'mother');
-
— позволяет узнать соответствует ли строка определённому шаблону.
Например, выведем всех людей с фамилией «Quincey»:
SELECT member_name FROM FamilyMembers WHERE member_name LIKE '% Quincey';
Трафаретные символы
В шаблоне разрешается использовать два трафаретных символа:
- символ подчеркивания (_), который можно применять вместо любого единичного символа в проверяемом значении
- символ процента (%) заменяет последовательность любых символов (число символов в последовательности может быть от 0 и более) в проверяемом значении.
Шаблон | Описание |
---|---|
never% | Сопоставляется любым строкам, начинающимся на «never». |
%ing | Сопоставляется любым строкам, заканчивающимся на «ing». |
_ing | Сопоставляется строкам, имеющим длину 4 символа, при этом 3 последних обязательно должны быть «ing». Например, слова «sing» и «wing». |
ESCAPE-символ
ESCAPE-символ используется для экранирования трафаретных символов. В случае если вам нужно найти строки, содержащие проценты (а процент — это зарезервированный символ), вы можете использовать ESCAPE-символ.
Например, вы хотите получить идентификаторы задач, прогресс которых равен 3%:
SELECT job_id FROM Jobs WHERE progress LIKE '3!%' ESCAPE '!';
Если бы мы не экранировали трафаретный символ, то в выборку попало бы всё, что начинается на 3.
Логические операторы
Логические операторы необходимы для связывания нескольких условий ограничения строк.
- Оператор NOT — меняет значение специального оператора на противоположный
- Оператор OR — общее значение выражения истинно, если хотя бы одно из них истинно
- Оператор AND — общее значение выражения истинно, если они оба истинны
- Оператор XOR — общее значение выражения истинно, если один и только один аргумент является истинным
Выведем все полёты, которые были совершены на самолёте «Boeing», но, при этом, вылет был не из Лондона:
SELECT * FROM Trip WHERE plane = 'Boeing' AND NOT town_from = 'London';
Установка свойств полей
Когда вы щелкаете на поле в списке слева, свойства отдельных полей отображаются на правой части закладки (если у вас выбрано несколько полей, правая часть остается пустой). Можно изменить свойства, показываемые в разделе Внешний вид (Appearance), но нельзя изменить свойства, перечисленные в разделе Детали поля (Field Details). Если щелкнуть на строке справа, в нижней части правой панели появится строчка с описанием этого свойства.
Свойства отображения указывают, каким образом содержимое этого поля отображается в ArcMap. Псевдоним поля – это его альтернативное название, которое может быть более понятным для пользователя, чем настоящее. Если нужно отличить определенные поля – например, чтобы их было лучше видно при редактировании в окне Атрибуты (Attributes) – установите в свойстве Выделить (Highlight) значение Да. При этом изменятся цвет шрифта и фоновая тень, чтобы поля отличались от остальных. Также можно задать полю режим «только для чтения», что означает, что его можно видеть, но не редактировать, независимо от прав доступа к базе геоданных. Кроме того, если вы работаете с числовыми полями, то можно установить формат чисел, нажав кнопку многоточия в строке Числовой формат (Number Format). У каждой категории – валюта, проценты и т.д. – свой набор доступных опций форматирования.
Имена полей
Имена полей – это имена, которые вы присваиваете для столбцов таблицы. Имена должны нести в себе информацию о том, какие данные содержатся в каждом столбце. Например, при создании нового класса пространственных объектов в ArcCatalog в таблице автоматически создаются и заполняются поля ObjectID и Shape. Поле ObjectID содержит уникальные номера идентификаторов (ID) для каждого объекта в классе пространственных объектов. Поле Shape определяет тип геометрии, хранящийся в классе пространственных объектов: точка, линия, полигон, мультиточка или мультипатч.
Вам также следует принять во внимание возможность использования связанных словосочетаний для обозначения типа столбца. Например, если вы создаете для таблицы отдельный столбец уникальных ID, который вы будете использовать для индексирования, то вы можете присвоить этому полю имя ID_UK, – UK означает, что это уникальный ключ (unique key)
Имена полей в одной и той же таблице должны быть уникальными; например, у вас не может быть двух столбцов с именем ObjectID. Имена должны также начинаться с буквы и не должны содержать пробелов или зарезервированных слов. Длина названий полей должна быть не должна превышать 64 символа для файловых и персональных баз геоданных, 31 символа в SQL Server and SQL Express, 30 символов в базах геоданных в Oracle и DB2 и 10 символов в dBASE.
Определенные имена полей будут отображаться в ArcGIS под своими полными именами для таблиц, хранящихся в базе геоданных ArcSDE. Например, если вы создаете или импортируете полигональный класс пространственных объектов, который имеет поле с именем Area, то к его имени будет добавлено имя базы данных, схема и имя таблицы. Именно это название вы увидите в таблице атрибутов класса пространственных объектов. Это означает, что для полигонального класса пространственных объектов с именем archsites, хранимого в схеме prof в базе данных museum, поле Area будет выглядеть так:
MUSEUM.PROF.ARCHSITES.AREA
Вот список названий полей, к которым автоматически приписывается подобная информация в базе геоданных ArcSDE:
FID, AREA, LEN, POINTS, NUMOFPTS, ENTITY, EMINX, EMINY, EMAXX, EMAXY, EMINZ, EMAXZ, MIN_MEASURE, MAX_MEASURE
В подобных случаях вам следует подумать об использовании других слов в качестве псевдонимов полей.
Глобальные идентификаторы
Тип данных global ID, или GUID, хранит реестр строк стилей (registry style strings), состоящий из 36 символов, заключенных в круглые скобки. Эти строки уникально определяют объект или запись таблицы внутри и вне базы геоданных. Так обеспечивается отслеживание объектов при одностороннем или двустороннем создании реплик. Разработчики могут использовать их в отношениях или в любом приложении, для которого требуется наличие глобальных уникальных идентификаторов. В отношении, если поле Global ID является исходным ключом (origin key), то поле GUID должно быть ключом назначения (destination key). Глобальные идентификаторы можно добавить в набор данных в базе геоданных, щелкнув его правой кнопкой мыши и выбрав Добавить Global ID. После этого база геоданных будет поддерживать эти значения автоматически. Вы можете создать поле GUID в ArcCatalog, но обслуживать его значения надо будет вам вручную.
Базы данных с собственным типом данных GUID, например, персональные базы геоданных и Microsoft SQL Server, хранят значения Global ID и GUID в виде 16 байтов. Базы данных, не имеющие «родной» тип данных GUID, хранят их в виде 38 байт.
Некоторые примечания по работе с глобальными идентификаторами