Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применимо к:
SQL Server 2019 и более ранних версий Analysis Services
Azure Analysis Services
Fabric/Power BI Premium
Это важно
Интеллектуальный анализ данных был признан устаревшим в службах SQL Server 2017 Analysis Services и теперь прекращён в службах SQL Server 2022 Analysis Services. Документация не обновляется для устаревших и прекращённых функций. Дополнительные сведения см. в статье о обратной совместимости служб Analysis Services.
В SQL Server SQL Server Analysis Services данные должны быть загружены в алгоритм интеллектуального анализа данных в виде ряда случаев, содержащихся в таблице случаев. Однако не все случаи можно описать одной строкой данных. Например, случай может быть производным от двух таблиц: одной таблицы, содержащей сведения о клиенте, а также другую таблицу, содержащую покупки клиентов. Один клиент в таблице сведений о клиенте может содержать несколько элементов в таблице покупок клиентов, что затрудняет описание данных с помощью одной строки. Службы SQL Server Analysis Services предоставляют уникальный метод для обработки этих случаев с помощью вложенных таблиц. Концепция вложенной таблицы показана на следующем рисунке.
На этой схеме первая таблица, которая является родительской таблицей, содержит сведения о клиентах и связывает уникальный идентификатор для каждого клиента. Вторая таблица, дочерняя таблица, содержит покупки каждого клиента. Покупки в дочерней таблице связаны с родительской таблицей уникальным идентификатором, столбцом CustomerKey . Третья таблица на схеме показывает две таблицы, объединенные.
Вложенная таблица представлена в таблице случаев в виде специального столбца с типом данных TABLE. Для любой конкретной строки, этот тип столбца содержит выбранные строки из дочерней таблицы, связанные с родительской таблицей.
Данные в вложенной таблице можно использовать для прогнозирования или ввода или для обоих. Например, в модели может быть два вложенных столбца таблицы: один вложенный столбец таблицы может содержать список продуктов, приобретенных клиентом, а другой вложенный столбец таблицы содержит сведения о хобби и интересах клиента, возможно, полученных из опроса. В этом сценарии можно использовать хобби и интересы клиента в качестве входных данных для анализа поведения покупки и прогнозирования вероятных покупок.
Объединение таблиц случая и вложенных таблиц
Чтобы создать вложенную таблицу, две исходные таблицы должны содержать определенную связь, чтобы элементы в одной таблице могли быть связаны с другой таблицей. В SQL Server Data Tools можно определить эту связь в представлении источника данных.
Замечание
Поле CustomerKey — это реляционный ключ, используемый для связывания основной и вложенной таблиц в определении представления источника данных, а также для установления связи столбцов в структуре майнинга. Однако обычно этот релятивный ключ не следует использовать в моделях анализа данных, созданных на основе этой структуры. Обычно рекомендуется исключить реляционный ключевой столбец из модели анализа данных, если он служит только для объединения таблиц и не содержит полезной для анализа информации.
Вложенные таблицы можно создавать программным образом с помощью расширений интеллектуального анализа данных (DMX) или объектов управления анализом (AMO), либо с помощью мастера интеллектуального анализа данных и конструктора интеллектуального анализа данных в SQL Server Data Tools.
Использование вложенных столбцов таблицы в модели дата-майнинга
В таблице случаев ключ часто это идентификатор клиента, имя продукта или дата: данные, которые однозначно определяют строку в таблице. . Однако в вложенных таблицах ключ обычно не является реляционным ключом (или внешним ключом), а столбцом, представляющим атрибут, который вы моделируете.
Например, если основная таблица содержит заказы, а вложенная таблица содержит элементы заказа, вам будет интересно моделировать связь между элементами, хранящимися в вложенной таблице, для нескольких заказов, которые хранятся в основной таблице. Поэтому, хотя вложенные таблицы Items присоединены к таблице случаев Orders с помощью реляционного ключа OrderID, не следует использовать OrderID в качестве ключа вложенной таблицы. Вместо этого столбец Items будет выбран в качестве ключа вложенной таблицы, так как этот столбец содержит данные, которые требуется моделировать. В большинстве случаев можно безопасно игнорировать OrderID в модели интеллектуального анализа данных, так как связь между таблицей случаев и вложенной таблицей уже установлена определением представления источника данных.
При выборе столбца, используемого в качестве ключа вложенной таблицы, необходимо убедиться, что значения в этом столбце уникальны для каждого случая. Например, если таблица случаев представляет клиентов, а вложенная таблица содержит элементы, приобретенные клиентом, необходимо убедиться, что ни один элемент не указан более одного раза для каждого клиента. Если клиент приобрел один и тот же элемент несколько раз, может потребоваться создать другое представление с столбцом, который объединяет количество покупок для каждого уникального продукта.
Способ обработки повторяющихся значений в вложенной таблице зависит от модели данных, которую вы создаёте, и бизнес-проблемы, которую решаете. В некоторых случаях вы можете не заботиться о том, сколько раз клиент приобрел определенный продукт, но хотите проверить наличие хотя бы одной покупки. В других сценариях количество и последовательность покупок могут быть очень важными.
Если порядок элементов важен, может потребоваться дополнительный столбец, указывающий последовательность. При использовании алгоритма кластеризации последовательностей для создания модели необходимо выбрать дополнительный столбец последовательности ключей , чтобы представить порядок элементов. Столбец последовательности ключей — это особый тип вложенного ключа, который используется только в моделях кластеризации последовательностей и требует уникального числового типа данных. Например, целые числа и даты можно использовать в качестве столбца последовательности ключей, но все значения последовательности должны быть уникальными. Помимо столбца последовательности ключей, модель кластеризации последовательностей также содержит вложенный ключ таблицы, представляющий атрибут, который моделиируется, например продукты, приобретенные.
Использование неключевых вложенных столбцов из вложенной таблицы
Определив соединение между таблицей регистров и вложенной таблицей, и вы выбрали столбец, содержащий интересные и уникальные атрибуты для использования в качестве ключа вложенной таблицы, можно включить другие столбцы из вложенной таблицы для использования в качестве входных данных для модели. Все столбцы из вложенной таблицы можно использовать для входных данных и прогнозирования или только для прогнозирования.
Например, если вложенная таблица содержит столбцы Product, ProductQuantity и ProductPrice, вы можете выбрать Product в качестве ключа вложенной таблицы, но добавить ProductQuantity в структуру для анализа данных, чтобы использовать в качестве входных данных.
Фильтрация вложенных данных таблицы
В SQL Server 2017 можно создавать фильтры для данных, которые используются для обучения или тестирования модели интеллектуального анализа данных. Фильтр можно использовать для влияния на состав модели или для проверки модели в подмножестве вариантов. Фильтры также можно применять к вложенным таблицам. Однако существуют ограничения на синтаксис, который можно использовать с вложенными таблицами.
Часто, применяя фильтр к вложенной таблице, вы проверяете наличие или отсутствие атрибута. Например, можно применить фильтр, ограничивающий случаи, используемые в модели, только тем случаям, которые имеют указанное значение в вложенной таблице. Или можно ограничить случаи, используемые в модели, для клиентов, которые не приобрели определенный товар.
При создании фильтров в вложенной таблице можно также использовать операторы, такие как больше или меньше. Например, можно ограничить случаи, используемые в модели, клиентам, которые приобрели по крайней мере n единиц целевого продукта. Возможность фильтрации по вложенным атрибутам таблицы обеспечивает большую гибкость для настройки моделей.
Дополнительные сведения о создании и использовании фильтров моделей см. в статьях "Фильтры для моделей интеллектуального анализа данных" (службы Analysis Services — интеллектуальный анализ данных).
См. также
Алгоритмы интеллектуального анализа данных (Analysis Services — интеллектуальный анализ данных)
Структуры интеллектуального анализа данных (службы Analysis Services — интеллектуальный анализ данных)