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

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

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

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

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

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

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

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

  2. В поле Имя модели интеллектуального анализа данных введите Фильтруемые взаимосвязи. В поле Имя алгоритма введите Правила взаимосвязи Microsoft. Нажмите кнопку ОК.

  3. В столбце, соответствующем модели Association Filtered, щелкните строку IncomeGroup и измените значение с Пропуск на Ввод.

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

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

  1. На вкладке Модели интеллектуального анализа данных щелкните правой кнопкой мыши модель Association Filtered и выберите пункт Задать фильтр модели.

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

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

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

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

  5. Щелкните текстовое поле Значение и введите High в поле.

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

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

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

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

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

  9. Щелкните следующую строку сетки и оставьте используемый по умолчанию оператор AND.

  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 — интеллектуальный анализ данных)