Применение функций прогнозирования к модели

Применимо к: 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 интеллектуального анализа данных, необходимо сначала выбрать модель интеллектуального анализа данных, на которой будет основываться запрос. Можно выбрать любую модель интеллектуального анализа данных, существующую в текущем проекте.

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

Прогнозирующие функции могут возвращать следующие типы значений.

  • Имя прогнозируемого атрибута и значение, которое прогнозируется.

  • Статистика по распределению и дисперсии предсказанных значений.

  • Вероятность заданного результата или всех возможных результатов.

  • Верхние или нижние оценки или значения.

  • Значения, связанные с заданным узлом, объектом или атрибутом.

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

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

Примеры того, как запросить модель интеллектуального анализа данных определенного типа, см. в справочном разделе по алгоритмам статьи Алгоритмы интеллектуального анализа данных (службы Analysis Services — интеллектуальный анализ данных).

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

  1. В SQL Server Management Studio щелкните модель правой кнопкой мыши и выберите Создать прогнозирующий запрос.

    --ИЛИ--

    В SQL Server Data Tools откройте вкладку Прогноз модели интеллектуального анализа данных, а затем щелкните Выбрать модель в таблице Модель интеллектуального анализа данных.

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

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

Добавление прогнозирующих функций в запрос

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

    Дополнительные сведения см. в разделе Выбор и сопоставление входных данных для прогнозирующего запроса.

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

    Для создания прогнозов вводить данные необязательно. Если входных данных нет, алгоритм обычно возвращает наиболее вероятное прогнозируемое значение для всех возможных входных значений.

  2. Щелкните столбец Источник и выберите значение в списке.

    Значение Описание
    <имя модели> Выберите этот параметр для включения значений из модели интеллектуального анализа данных в выходные данные. Можно добавить только прогнозируемые столбцы.

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

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

    Значения выбранных функций добавляются в предложение SELECT результирующей инструкции DMX.

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

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

    Пользовательское выражение добавляется в предложение SELECT конечного прогнозирующего запроса DMX.

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

    Сведения об использовании функций VBA и Excel из DMX см. в разделе Функции VBA в DAX и многомерных выражениях.
  3. После добавления каждой функции или выражения перейдите в представление DMX, чтобы посмотреть, как функция добавляется в инструкцию DMX.

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

    Построитель прогнозирующих запросов не проверяет DMX до нажатия кнопки Результаты. Часто оказывается, что выражение, созданное построителем запросов, не является допустимой инструкцией DMX. Типичные случаи — это указание столбца, не связанного с прогнозируемым столбцом, или попытка прогнозирования столбца во вложенной таблице, что требует вложенной инструкции SELECT. В этот момент можно переключиться в представление DMX и продолжить редактирование инструкции.

Пример. Создание запроса на основе модели кластеризации

  1. Если у вас нет модели кластеризации для создания этого образца запроса, создайте модель [TM_Clustering] с помощью Учебника по основам интеллектуального анализа данных.

  2. В SQL Server Management Studio щелкните правой кнопкой мыши модель [TM_Clustering], а затем выберите Создать прогнозирующий запрос.

  3. В меню Модель интеллектуального анализа данных выберите пункт Одноэлементный запрос.

  4. В диалоговом окне Ввод одноэлементного запроса задайте следующие значения как входные:

    • Gender = M

    • Расстояние до работы = 5—10 миль

  5. В сетке запросов в списке столбца Источниквыберите модель интеллектуального анализа данных TM_Clustering и добавьте столбец [Bike Buyer] ("Покупатель велосипеда").

  6. В списке столбца Источниквыберите значение Прогнозирующая функцияи добавьте функцию Cluster.

  7. В списке столбца Источниквыберите значение Прогнозирующая функция, добавьте функцию PredictSupportи перетащите столбец модели [Bike Buyer] в поле Критерий или аргумент . В столбце Псевдоним введите Support (Поддержка).

    Скопируйте выражение, представляющее прогнозирующую функцию, и ссылку на столбец из поля Критерий или аргумент .

  8. В качестве Источникавыберите Пользовательское выражение, введите псевдоним, а затем укажите функцию CEILING Excel с помощью следующего синтаксиса:

    Excel![CEILING](<arguments) as <return type>  
    

    Вставьте ссылку на столбец в качестве аргумента функции.

    Например, следующее выражение возвращает значение CEILING для значения поддержки.

    EXCEL!CEILING(PredictSupport([TM_Clustering].[Bike Buyer]),2)  
    

    В столбце Псевдоним введите CEILING.

  9. Щелкните Переключиться в представление текста запроса , чтобы увидеть созданную инструкцию DMX, а затем щелкните Переключиться в представление результатов запроса , чтобы увидеть выходные столбцы прогнозирующего запроса.

    В следующей таблице показаны ожидаемые результаты.

    Покупатель велосипеда $Cluster Псевдоним CEILING
    0 Кластер 8 954 953.948638926372

Если вы хотите добавить другие предложения в другом месте оператора, например, если вы хотите добавить предложение WHERE, вы не можете добавить его с помощью сетки; Сначала необходимо переключиться на представление расширений интеллектуального анализа данных.

См. также:

Запросы интеллектуального анализа данных