Фильтрование вложенной таблицы в модели интеллектуального анализа данных (учебник по интеллектуальному анализу данных — средний уровень)

 

Применимо к: SQL Server 2016 Preview

После создания и изучения модели принимается решение сосредоточить внимание на подмножестве данных о клиентах. Например, можно выполнить анализ только тех потребительских корзин, которые содержат конкретный элемент, или проанализировать демографические данных клиентов, которые ничего не купили в течение определенного периода времени.

Службы Analysis Services предоставляет возможность фильтрации данных, используемых в модели интеллектуального анализа данных. Эта функция полезна, поскольку необходимо настроить новое представление источника данных для использования других данных. В учебнике по интеллектуальному анализу данных (начальный уровень) рассматривалось, как фильтровать данные из плоской таблицы путем применения условий к таблице вариантов. В этой задаче создается фильтр для применения к вложенной таблице.

Фильтры для вложенных таблиц и таблиц вариантов.

Если представление источника данных содержит таблицу вариантов и вложенную таблицу (подобно представлению источника данных, которое используется в модели взаимосвязей), фильтр можно использовать на основании значений из таблицы вариантов, наличия или отсутствия определенного значения во вложенной таблице либо сочетания тех и других.

В этой задаче сначала создается копия модели взаимосвязей, а затем к новой связанной модели добавляются атрибуты IncomeGroup и Region, чтобы можно было выполнить фильтрация по этим атрибутам в таблице вариантов.

Создание и изменение копии модели «Взаимосвязь»

  1. В модели интеллектуального анализа данных вкладке SQL Server Data Tools (SSDT), щелкните правой кнопкой мыши ассоциации модели и выберите новой модели интеллектуального анализа данных.

  2. Для имя модели, тип фильтруемые взаимосвязи. Для Имя алгоритма, выберите правил взаимосвязей Майкрософт. Нажмите кнопку ОК.

  3. В столбце модели фильтруемые взаимосвязи, щелкните строку IncomeGroup и измените значение с Пропустить для ввода.

После этого следует создать фильтр для таблицы вариантов в новой модели взаимосвязей. Этот фильтр передаст модели только тех заказчиков, которые находятся в целевом регионе или имеют определенный уровень дохода. Затем нужно добавить второй набор условий фильтра, чтобы указать, что модель использует только клиентов, в чьих корзинах заказов содержался по крайней мере один элемент.

Добавление фильтра в модель интеллектуального анализа данных

  1. В модели интеллектуального анализа данных щелкните правой кнопкой мыши модель, фильтруемые взаимосвязи и выберите задать фильтр модели.

  2. В диалоговом окне Фильтр модели щелкните верхнюю строку сетки в текстовом поле Столбец структуры интеллектуального анализа данных .

  3. В столбец структуры интеллектуального анализа данных текстовое поле, выберите IncomeGroup.

    Значок слева от текстового поля изменится, указывая, что выбранным элементом является столбец.

  4. Щелкните оператор текстовое поле и выберите = оператор из списка.

  5. Щелкните значение текстовое поле и введите высокой в поле.

  6. Щелкните следующую строку сетки.

  7. Щелкните или текстового поля в следующей строке сетки и выберите или.

  8. В столбец структуры интеллектуального анализа данных текстовое поле, выберите IncomeGroup. В значение введите умеренное.

    Созданное условие фильтра автоматически добавляется выражение текстовое поле и выглядит следующим образом:

    [IncomeGroup] = 'High' OR [IncomeGroup] = 'Moderate'

  9. Щелкните следующую строку в сетке, оставляя оператор по умолчанию, и.

  10. Для оператор, оставьте значение по умолчанию содержит. Щелкните значение текстовое поле.

  11. В фильтра в первой строке в диалогового столбец структуры интеллектуального анализа данных, выберите модели.

  12. Для оператор, выберите IS NOT NULL. Оставьте значение пустое текстовое поле. Нажмите кнопку ОК.

    Условие фильтра в выражение текстовое поле Фильтр модели диалоговое окно автоматически обновляется с учетом нового условия для вложенной таблицы. Законченное выражение выглядит следующим образом:

    [IncomeGroup] = 'High' OR [IncomeGroup] = 'Moderate' AND EXISTS SELECT * FROM [vAssocSeqLineItems] WHERE [Model] <> NULL).

  13. Нажмите кнопку ОК.``

Включение детализации и обработка отфильтрованной модели

  1. В модели интеллектуального анализа данных щелкните правой кнопкой мыши фильтруемые взаимосвязи модели и выберите Свойства.

  2. Изменение AllowDrillThrough Свойства значение True,.

  3. Щелкните правой кнопкой мыши фильтруемые взаимосвязи модель интеллектуального анализа данных и выберите модель процесса.

  4. Щелкните Да в сообщении об ошибке для развертывания новой модели, чтобы Службы Analysis Services базы данных.

  5. В обработать структуру интеллектуального анализа данных диалоговом нажмите кнопку запуска.

  6. После завершения обработки нажмите кнопку Закрыть для выхода из Ход обработки и нажмите кнопку Закрыть еще раз, чтобы выйти из обработать структуру интеллектуального анализа данных диалоговое окно.

Чтобы убедиться в том, что отфильтрованная модель содержит меньше вариантов, чем исходная модель, проверьте значение параметра NODE_SUPPORT в средстве просмотра деревьев содержимого общего вида (Майкрософт).

Замечания

Только что созданный фильтр вложенной таблицы проверяет лишь наличие по крайней мере одной строки во вложенной таблице. Также можно создать условия фильтра для проверки наличия конкретных продуктов. Например, можно создать следующий фильтр:

[IncomeGroup] = 'High' AND  
 EXISTS (SELECT * FROM [<nested table name>] WHERE [Model] = 'Water Bottle' )   

Данная инструкция означает, что клиенты из таблицы вариантов будут ограничены лишь теми клиентами, которые приобрели флягу для воды. Количество атрибутов вложенной таблицы потенциально может быть неограниченным, поэтому службы Службы Analysis Services не предоставляют список возможных значений для выбора. Вместо этого необходимо вводить точное значение.

Можно нажать кнопку Изменить запрос вручную изменить критерий фильтра. Однако если какая-либо часть критерия фильтра изменяется вручную, сетка становится недоступной и работать с выражением фильтра в дальнейшем можно только в режиме изменения текста. Чтобы снова перейти в режим изменения с помощью сетки, необходимо очистить критерий фильтра и начать сначала.

Предупреждение


В фильтре для вложенной таблицы нельзя использовать оператор LIKE.

Следующая задача занятия

Прогнозирование ассоциации ( учебник по интеллектуальному анализу данных — средний )

См. также:

Синтаксис и примеры фильтра модели (службы Analysis Services — интеллектуальный анализ данных)
Фильтры для моделей интеллектуального анализа данных (службы Analysis Services — интеллектуальный анализ данных)