Отношения применяются для соединения атрибутов из двух или более наборов данных на основании общих полей или местоположений. Отношения можно использовать для добавления атрибутов из связанной таблицы к другому набору данных, для комбинирования атрибутов из двух наборов данных, чтобы сделать возможным различные типы анализа, и для включения местоположений в непространственные таблицы.
Для создания отношения в ArcGIS Insights, необходимо добавить на страницу два или более поддерживаемых наборов данных с общими полями.
О классах отношений
Insights позволяет объединять данные из двух или более наборов данных, используя общее поле или местоположение в окне Создать отношения. Например, вы можете объединить набор данных сделок по продажам с набором данных, в котором содержится информация по магазинам, определив общее поле (например, номер магазина). Общее поле определяет, какие строки из какого набора данных будут соединены друг с другом, а тип отношений определяет, какие записи сохраняются в объединенном наборе данных.
Для соединения наборов данных может использоваться четыре типа отношений:
- Внутри
- Все (полное внешнее соединение)
- Левое (левое внешнее соединение)
- Правое (правое внешнее соединение)
Примечание:
Пространственные соединения (соединения, выполненные с помощью полей местоположения) будут созданы с использованием пересечений в качестве пространственного отношения. Вы по-прежнему сможете выбрать в качестве типа отношений Внутри, Все, Левое или Правое.
Объединенный набор данных отображается на панели данных как результирующий набор данных . Соединенный набор данных позволяет расширить возможности анализа, используя данные из всех соединяемых наборов для получения единого слоя.
В контексте объединенного набора данных кардинальность касается отношений между наборами данных. В окне Создать отношения проверьте и примите во внимание кардинальность между наборами данных, которая может быть один-к-одному, многие-к-одному и многие-ко-многим. Кардинальность не влияет на создаваемый вами тип отношения, но скажется на полях, которые вы захотите агрегировать соединенном наборе, или на поле, выбранном вами для показа на карте.
Insights также требует наличия общего поля при выборе вами соединяемых наборов данных. Если поле не предложено, выберите поля, которые будут использоваться в отношении.
Поддерживаемые данные
Для создания отношений могут быть использованы следующие типы данных:
- Размещенные векторные слои
- Поля, добавленные в вашу рабочую книгу
- Наборы данных из подключений баз данных (доступно в Insights in ArcGIS Enterprise и Insights desktop)
- Результирующие наборы данных пространственного анализа, включая результаты из не поддерживаемых типов данных
Определяющие запросы в сервисах объектов не поддерживаются для создания отношений. Данные в рабочей книге, которые не поддерживаются отношениями, в окне Создать отношения отключаются.
Примечание:
Отношения не могут быть созданы с удаленными векторными слоями, такими как слои ArcGIS Living Atlas.
Для соединения, наборы данных базы должны поступать из одной и той же базы данных и ее экземпляра. При соединении другие наборы данных должны храниться в том же самом хранилище.
Если наборы данных несовместимы с соединением или хранятся в отдельных хранилищах данных, можно скопировать наборы данных в рабочую книгу и использовать скопированные наборы данных для создания отношения.
Создание отношения
Чтобы подробнее познакомиться с созданием отношения для соединения объектов, выполните перечисленные ниже действия или изучите для выполнения этого процесса пример использования, содержащий описание и результаты для каждого типа отношений.
- Щелкните кнопку Создать отношения над панелью данных.
Появится окно Создать отношения со списком наборов данных вашей текущей страницы – на вкладке Мои данные.
- На вкладке Мои данные щелкните один или несколько наборов данных, которые вы хотите соединить.
Примечание:
Если вы планируете использовать типы отношений Левое или Правое, проверьте, что нужный набор данных действительно находится, соответственно, слева или справа. Выбранный первым набор данных при добавлении на страницу появляется слева.Подсказка:
Рекомендуется размещать слева набор данных с самым высоким уровнем детальности. В описанном ниже примере использования слева должен быть набор данных StoreTransactions.
Когда вы выбираете первый набор данных, в виде отобразятся только наборы, подходящие для отношения.
Insights анализирует добавленные вами наборы данных и предлагает поле для соединения, основываясь на типе хранящихся в нем данных и имени. Если поле предложено, уменьшенные изображения каждого набор данных соединяются линией, и на каждом из них появляется предлагаемое программой поле.
- Вы можете сделать следующее:
- Если предложенное поле вам подходит, и вы хотите применить тип отношения по умолчанию (Внутри), перейдите к последнему шагу.
- Если вам необходимо выбрать другое поле, добавьте другое поле или выбрать иной тип отношения, перейдите к следующему шагу.
- Если общее поле обнаружить не удалось, между образцами наборов данных появится линия и откроется окно Создать отношение, в котором вы сможете выбрать общие поля. Перейдите к шагу 5.
- Чтобы изменить свойства отношений, например, выбрать другое поле, добавить дополнительные поля к соединению или выбрать другой тип отношения, нажмите кнопку Редактировать отношение на линии отношения, связывающей образцы наборов данных.
- Выберите другое поле одного или нескольких наборов данных, или выберите другой тип отношения и закройте диалоговое окно свойств отношений или щелкните вне этого окна.
- Дополнительно: Если отношение требует составного ключа, вы можете добавить дополнительные поля с помощью кнопки Добавить поля , расположенной ниже Выбрать поля.
К примеру, если вы присоединяете CityName к CityName, вы можете задать значения округа (county), штата (state) и государства (country), так как значения CityName дублируются в наборе.
- Вы можете сделать следующее:
- Щелкните Готово (в правом нижнем углу), чтобы закончить создание отношения.
- Щелкните Отмена для отмены текущего отношения.
При нажатии вами кнопки Готово закрывается окно Создать отношения. На панель данных добавляется результирующий набор данных с соединенными данными.
Пример применения
В данном разделе описан пример, описывающий порядок создания отношения между двумя наборами данных для ответа на конкретные вопросы, а также влияние каждого типа отношения на данные соединенного набора.
Вопросы могут быть такими:
- Каков доход каждого магазина?
- Где в моем городе находится самый высокодоходный магазин?
На странице рабочей книги есть два набора данных, которые помогут вам ответить на этот вопрос. Первый – это следующая таблица Excel, содержащая транзакции трех магазинов:
OrderID | StoreID | TotalAmount | PaymentMethod |
---|---|---|---|
1204 | 1 | $91.48 | Credit |
1295 | 1 | $103.86 | Credit |
1316 | 3 | $97.81 | Debit |
1406 | 2 | $103.24 | Credit |
1421 | 2 | $44.95 | Cash |
1426 | 2 | $153.71 | Debit |
1454 | 3 | $168.95 | Credit |
По набору данных StoreTransactions можно получить информацию о показателе TotalAmount по StoreID (если изменить StoreID на строковое поле и создать линейную диаграмму), но для публикации результатов анализа для пользователей организации более предпочтителен отчет TotalAmount по названию магазина.
Кроме того, набор данных StoreTransactions не отображает местоположения магазинов на карте.
Второй набор – векторный слой, отображающий местоположения следующих шести магазинов:
StoreID | StoreName |
---|---|
1 | Baskets and Cases |
2 | Toys! Toys! Toys! |
3 | Robert's Plants |
4 | Aisha's Bookstore and Coffee Shop |
5 | Gadgets and Gizmos |
6 | Sally's Hardware and Construction |
Эти наборы отслеживают данные двух разных уровней детальности. Первый набор отслеживает данные на уровне транзакций, являющемся более детальным, по сравнению со второй таблицей, отслеживающей данные на уровне магазина.
В результате вы увидите дублирующиеся записи (строки) в столбце StoreID набора StoreTransactions, в то время как в наборе StoreLocations содержатся уникальные значения в столбце StoreID. На один магазин приходится большое количество транзакций. Это называется отношением многие-к-одному, представляющим собой особый вид кардинальности между двумя наборами данных.
Если рассмотреть эти данные, становится очевидно, что поле StoreID наилучшим образом подходит для создания отношения между ними.
Для ответа на вопросы, заданные в этом примере, вам потребуется выполнить следующее:
- Понять эффект, который окажет на итоговый набор данных каждый тип отношения.
- Следуйте инструкциям раздела Создание отношения (находится выше) для создания наиболее подходящего для входных наборов данных отношения.
- Визуализировать соединенные данные для получения ответов на вопросы.
- С использованием полей StoreName и TotalAmount соединенного набора создать линейную диаграмму или суммарную таблицу для агрегирования полей. Продажи агрегируются для каждого названия магазина.
- Создание карты градуированных символов, используя поле TotalAmount.
Типы отношений
Используемый вами тип отношений, а также выбранное вами общее поле предопределяют сохраняемые в соединенном наборе данных записи. Следующие подразделы коснутся того, что представляет собой соединенный набор для разных типов отношений.
Тип отношений Внутри
Если вы использовали тип отношений по умолчанию, выполняя действия Создать отношения (выше), то объединенный набор данных будет использовать тип отношений Внутри.
Эти отношения (Внутри) сохраняют только записи, которые соответствуют обоим наборам данных. Пустые записи добавлены не будут.
OrderID | StoreID | TotalAmount | PaymentMethod | StoreID | StoreName |
---|---|---|---|---|---|
1204 | 1 | $91.48 | Credit | 1 | Baskets and Cases |
1295 | 1 | $103.86 | Credit | 1 | Baskets and Cases |
1316 | 3 | $97.81 | Debit | 3 | Robert's Plants |
1406 | 2 | $103.24 | Credit | 2 | Toys! Toys! Toys! |
1421 | 2 | $44.95 | Cash | 2 | Toys! Toys! Toys! |
1426 | 2 | $153.71 | Debit | 2 | Toys! Toys! Toys! |
1454 | 3 | $168.95 | Credit | 3 | Robert's Plants |
Исключенными были записи со значениями StoreID от 4 до 6 набора данных StoreLocations.
Применение типа отношения по умолчанию – отличный способ получения ответа на вопросы, поставленные выше в примере. Тип отношений Внутри обеспечивает данные, которые при визуализации данных не будут показывать нулевые значения.
Тип отношений Все
Тип отношений Все (полное внешнее соединение) сохраняет записи обоих наборов данных, обрабатывая записи, не содержащие совпадающих пустых значений.
OrderID | StoreID | TotalAmount | PaymentMethod | StoreID | StoreName |
---|---|---|---|---|---|
1204 | 1 | $91.48 | Credit | 1 | Baskets and Cases |
1295 | 1 | $103.86 | Credit | 1 | Baskets and Cases |
1316 | 3 | $97.81 | Debit | 3 | Robert's Plants |
1406 | 2 | $103.24 | Credit | 2 | Toys! Toys! Toys! |
1421 | 2 | $44.95 | Cash | 2 | Toys! Toys! Toys! |
1426 | 2 | $153.71 | Debit | 2 | Toys! Toys! Toys! |
1454 | 3 | $168.95 | Credit | 3 | Robert's Plants |
5 | Gadgets and Gizmos | ||||
6 | Sally's Hardware and Construction | ||||
4 | Aisha's Bookstore and Coffee Shop |
Итоговый набор данных содержит пустые значения в столбцах левого набор данных (StoreTransactions) для записей, соответствующих значениям правого набора (StoreLocations) StoreID, равным 4, 5 и 6. Это объясняется отсутствием совпадающих записей для этих значений ID в левом наборе.
Тип отношений Левое
При использовании типа отношений Левое (левое внешнее соединение) необходимо убедиться в том, что набор данных, записи которого вы хотите сохранить, находится с левой стороны окна Создать отношения, выбрав этот набор первым. Для получения подробной информации см. раздел Создание отношения.
Записи, соответствующие взятым из левого набор данных (StoreTransactions), будут сохранены, так же как и соответствующие записи набора, находящегося справа (StoreLocations). Если совпадений справа не обнаружено, там будут пустые значения.
OrderID | StoreID | TotalAmount | PaymentMethod | StoreID | StoreName |
---|---|---|---|---|---|
1204 | 1 | $91.48 | Credit | 1 | Baskets and Cases |
1295 | 1 | $103.86 | Credit | 1 | Baskets and Cases |
1316 | 3 | $97.81 | Debit | 3 | Robert's Plants |
1406 | 2 | $103.24 | Credit | 2 | Toys! Toys! Toys! |
1421 | 2 | $44.95 | Cash | 2 | Toys! Toys! Toys! |
1426 | 2 | $153.71 | Debit | 2 | Toys! Toys! Toys! |
1454 | 3 | $168.95 | Credit | 3 | Robert's Plants |
Этот объединенный набор данных выглядит точно так же, как и тип отношений Внутри. Для ответа на вопросы, поставленные в примере использования, используйте тип отношений Левое или Внутри, чтобы построить отношения между двумя таблицами, а после этого создайте линейную диаграмму, которая не будет отображать нулевые значения.
Если слева (StoreTransactions) содержалась запись для StoreID 7, отсутствующая в набора данных StoreLocations, расположенном справа, в результате соединения Слева справа появятся пустые записи.
OrderID | StoreID | TotalAmount | PaymentMethod | StoreID | StoreName |
---|---|---|---|---|---|
1204 | 1 | $91.48 | Credit | 1 | Baskets and Cases |
1295 | 1 | $103.86 | Credit | 1 | Baskets and Cases |
1316 | 3 | $97.81 | Debit | 3 | Robert's Plants |
1406 | 2 | $103.24 | Credit | 2 | Toys! Toys! Toys! |
1421 | 2 | $44.95 | Cash | 2 | Toys! Toys! Toys! |
1426 | 2 | $153.71 | Debit | 2 | Toys! Toys! Toys! |
1454 | 3 | $168.95 | Credit | 3 | Robert's Plants |
1502 | 7 | $112.65 | Cash |
Тип отношений Правое
При использовании типа отношений Правое (правое внешнее соединение) необходимо убедиться в том, что набор данных, записи которого вы хотите сохранить, находится справа в окне Создать отношения , выбрав сначала находящийся слева набор, а затем – правый. Для получения подробной информации см. раздел Создание отношения.
Записи, соответствующие взятым из правого набора данных (StoreTransactions), будут сохранены, так же как и соответствующие записи набора, находящегося слева (StoreLocations). Если совпадений слева не обнаружено, там будут пустые значения.
OrderID | StoreID | TotalAmount | PaymentMethod | StoreID | StoreName |
---|---|---|---|---|---|
1204 | 1 | $91.48 | Credit | 1 | Baskets and Cases |
1295 | 1 | $103.86 | Credit | 1 | Baskets and Cases |
1316 | 3 | $97.81 | Debit | 3 | Robert's Plants |
1406 | 2 | $103.24 | Credit | 2 | Toys! Toys! Toys! |
1421 | 2 | $44.95 | Cash | 2 | Toys! Toys! Toys! |
1426 | 2 | $153.71 | Debit | 2 | Toys! Toys! Toys! |
1454 | 3 | $168.95 | Credit | 3 | Robert's Plants |
5 | Gadgets and Gizmos | ||||
6 | Sally's Hardware and Construction | ||||
4 | Aisha's Bookstore and Coffee Shop |
Линейная диаграмма на основе присоединенного справа набора данных будет содержать пустые значения.