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