Поделиться через


Работа с представлением запроса DAX

С помощью представления запросов DAX в Power BI можно просматривать и работать с запросами выражений анализа данных (DAX) в семантических моделях.

Запросы DAX

В Power BI формулы DAX используются для определения различных типов вычислений для данных, но также можно использовать для определения безопасности ролей. С другой стороны, запросы DAX можно использовать для возврата данных из модели.

Запросы DAX похожи на запросы SQL, в которых они могут отображать данные, которые уже есть. Запросы DAX не создают элементы в модели или визуальных элементах отчета.

Запросы DAX имеют две основные части:

  • Инструкция EVALUATE, которая является обязательной. Он указывает, что и как данные возвращаются в запросе.
  • Оператор DEFINE, который является необязательным . Он позволяет определять формулы DAX, например меру, использовать в запросе. Меры, созданные или обновленные с помощью запроса DAX DEFINE, — это меры с областью действия запроса DAX, выполняемые только в контексте запроса DAX. Меры с областью действия запроса DAX можно добавить в модель с помощью действий модели обновления CodeLens или модели обновления с кнопкой "Изменить".

Дополнительные сведения об использовании запросов см . в справочнике ПО DAX .

Открытие представления запроса DAX

В Power BI Desktop щелкните значок представления запросов DAX слева.

Снимок экрана: значок представления запроса DAX в Power BI Desktop.

В рабочей области портала служба Power BI или Fabric выберите в контекстном меню запросы DAX.

На странице сведений о семантической модели портала служба Power BI или структуры выберите в верхней части страницы запросы DAX.

Макет представления запросов DAX

Давайте рассмотрим более подробное представление запросов DAX в Power BI Desktop.

Схема, показывющая макет представления запросов DAX.

Представление запроса DAX содержит следующие элементы:

Лента

Лента представления запросов DAX имеет общие действия, используемые при написании запросов DAX.

Снимок экрана: лента представления запроса DAX.

Давайте рассмотрим элементы на ленте:

Форматировать запрос

Нажмите кнопку "Формат запроса" или используйте SHIFT+ALT+F, чтобы отформатировать текущий запрос. Запрос отступен с помощью вкладок. Функции DAX изменяются на ВЕРХНИЙ РЕГИСТР и добавляются дополнительные строки. Форматирование запроса DAX считается рекомендуемым и улучшает удобочитаемость запросов DAX. Форматирование также отступов выполняется таким образом, что можно свернуть и развернуть разделы запроса.

Снимок экрана: кнопка

Комментарий и раскомментировать

Нажмите кнопку "Закомментировать", чтобы добавить двойную обратную косую черту (//) в начало строки, в которой курсор находится или все выбранные строки. Это примечает строки и при выполнении запроса DAX эти строки игнорируются.

Нажмите кнопку раскомментировать ленту, чтобы удалить // в начале любой строки, в которой находится курсор, или все выбранные строки. Он не работает в строках, в которых добавляется несколько строковый комментарий нотации.

Вы также можете использовать CTRL+/, чтобы переключаться между комментарием и раскомментированием.

Снимок экрана: кнопки

Поиск и замена

Нажмите кнопку "Найти ленту" или используйте CTRL+F для поиска текста в редакторе запросов DAX. Поиск включает параметры для сопоставления регистра, сопоставления целого слова, использования регулярного выражения и цикла по всем совпадениям для текущего запроса. Вы также можете выбрать шеврон слева от поля "Найти ", чтобы ввести "Заменить".

Снимок экрана: кнопка поиска на ленте представления запросов DAX.

Нажмите кнопку "Заменить" на ленте или используйте CTRL+H для поиска и замены текста в редакторе запросов DAX. Замена включает параметры для сохранения регистра и замены одновременно или одновременно.

Снимок экрана: возможность

Палитра команд

Нажмите кнопку ленты палитры команд или нажмите клавиши CTRL+ALT+P, чтобы открыть поле палитры команд. Вы можете найти дополнительные действия редактора запросов DAX и просмотреть связанные сочетания клавиш.

Снимок экрана: палитра команд представления запросов DAX.

Командная строка

Панель команд представления запросов DAX включает наиболее важные действия при использовании представления запросов DAX.

Запуск и отмена

Кнопка "Выполнить " выполняет запрос DAX или выбранные строки запроса. Состояние запроса после выполнения появится в нижней строке состояния.

Снимок экрана: панель команд представления запросов DAX.

При выполнении запроса кнопка становится кнопкой "Отмена ", которую можно использовать для остановки выполнения запроса.

Снимок экрана: отмена представления запроса DAX.

Обновление модели с изменениями

Модель обновления с кнопкой "Изменения " добавит или перезаписывает меры модели с формулами DAX из мер области запроса DAX. Меры с областью действия запроса DAX — это меры в блоке DEFINE MEASURE . Кроме того, можно добавить или перезаписать меры модели по отдельности с помощью текста CodeLens, который отображается над каждым из них.

Редактор запросов DAX

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

Редактор запросов DAX содержит следующие элементы:

Предложения и Intellisense

Введите запрос и получите справку по предложениям и Intellisense во время редактирования.

Снимок экрана: редактор запросов DAX intellisense.

Используйте ВВОД или TAB, чтобы добавить выделенную intellisense или SHIFT+ВВОД или ALT+ВВОД, чтобы перейти к другой строке без добавления параметра intellisense. При выборе ESC любой из наложений закрывается.

Наведите указатель мыши, чтобы просмотреть формулы мер

Если мера включена в запрос DAX, вы можете навести указатель мыши на него, чтобы просмотреть формулу, имя и описание.

Снимок экрана: указатель мыши для просмотра функции формулы меры.

Выберите, чтобы просмотреть быстрые действия мерной лампочки

При выборе меры в инструкции EVALUATE в запросе без инструкции DEFINE отображается лампочка быстрых действий. Выберите "Определить" или "Определить с ссылками", чтобы создать инструкцию DEFINE с формулой этой меры или без нее с формулами DAX ссылочной меры.

Обновление мер модели с помощью CodeLens

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

CodeLens — это текст, отображаемый над блоком DEFINE MEASURE. Для мер с областью действия запроса DAX, которые еще не присутствуют в модели, появится модель обновления: появится добавление новой меры CodeLens, которая добавит меру модели при щелчке мыши. Для мер с областью действия запроса DAX, которые уже присутствуют в модели, и когда формула DAX с заданной областью меры DAX отличается, появится модель обновления: перезаписать меру CodeLens, которая изменит меру модели на эту формулу DAX при щелчке.

Кроме того, можно одновременно добавить или перезаписать несколько мер, нажав кнопку "Обновить модель" с кнопкой "Изменения " на панели команд .

Рабочий процесс обновления мер

Быстрые действия лампочки и CodeLens можно использовать вместе в полном рабочем процессе:

  1. В контекстном меню меры выберите быстрые запросы, а затем выполните оценку создания запроса на новой вкладке "Запрос".
  2. Выберите меру в запросе, чтобы определить или определить со ссылками, добавив инструкцию DEFINE.
  3. Внесите обновления выражений в меру, а затем запустите запрос DAX, чтобы отобразить это изменение.
  4. Когда изменение отображается должным образом, используйте модель обновления CodeLens: перезаписать меру для сохранения ее обратно в модель.

Ниже приведен более визуальный способ понять рабочий процесс:

Схема рабочего процесса.

Сетка результатов

При выполнении запроса результаты отображаются в сетке результатов .

Снимок экрана: сетка результатов.

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

Если запрос приводит к ошибке, отображается сетка результатов.

Снимок экрана: сообщение об ошибке в сетке результатов.

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

"Запрос (4, 23) Значение для "Продажи 2" не может быть определено. Либо столбец не существует, либо для этого столбца нет текущей строки".

И "Запрос (4, 23)" указывает, что ошибка находится в строке 4 и в символе 23.

Вкладки запросов

Представление запроса DAX может содержать несколько вкладок запросов, которые можно переименовать или удалить. Они также показывают текущее состояние запроса.

Снимок экрана: вкладки

Каждая вкладка включает индикатор состояния:

  • Индикатор не отображается перед выполнением запроса.
  • Зеленый флажок указывает на успешное выполнение запроса.
  • Красный крест указывает на ошибку.
  • Заполненный квадрат в кругу указывает, что запрос был отменен.
  • Часы указывают, что выполняется запрос.

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

Сохранение запросов DAX

Вкладки запросов DAX сохраняются в файле при сохранении из Power BI Desktop, чтобы продолжить работу, когда вы снова откроете файл. Если вы используете режим разработчика для сохранения проекта Power BI, каждая вкладка запроса включена в файл DAXQueries в папку DAXQueries папки семантической модели или папку отчета, если они созданы в динамическом подключенном отчете. Дополнительные сведения см. в документации по режиму разработчика Power BI.

В настоящее время невозможно просмотреть или изменить запросы DAX, добавленные ранее в Power BI Desktop в служба Power BI. Средства просмотра отчета или семантической модели не отображают запросы DAX, сохраненные семантической моделью.

Вкладки представления запросов DAX удаляются при записи запросов DAX на портале служба Power BI или Fabric.

Панель «Данные»

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

Быстрые запросы

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

В любом месте

Определите все меры в модели, создайте запрос со всеми формулами мер, отображаемыми в запросе. Легко искать все формулы мер.

Таблицы
  • Отображение первых 100 строк создает запрос с помощью SELECTCOLUMNS(), чтобы отобразить первые 100 строк таблицы. Столбцы перечислены в каждой строке, чтобы упростить изменение путем закомментирования строк. Order BY также включается для указания порядка сортировки.

    Снимок экрана: отображение первых 100 строк.

  • Отображение статистики столбцов создает запрос со статистическими данными для каждого столбца в таблице. См. множество формул для статистической обработки столбцов как MIN, MAX, AVERAGE, COUNT и многое другое.

  • Определите все меры в этой таблице, создайте запрос с формулами мер этой таблицы , отображаемыми в запросе.

Столбцы
  • Отображение предварительного просмотра данных создает запрос с помощью DISTINCT() для просмотра значений столбца.

    Снимок экрана: просмотр данных.

  • Отображение статистики столбцов создает запрос, показывающий статистические сведения для этого конкретного столбца. См. множество формул для агрегирования столбца как MIN, MAX, AVERAGE, COUNT и многое другое. Возвращаемый запрос зависит от типа данных столбца, отображающего различные статистические данные для числовых, текстовых и датовых столбцов.

    Снимок экрана: предварительный просмотр столбца.

Показатели
  • Оценка создает запрос для отображения результата меры. SUMMARIZECOLUMNS() используется, чтобы можно было добавить в любую группу по столбцам, чтобы показать меру определенными группами, такими как Страна, Продукт и т. д.

    Снимок экрана: оценка меры.

  • Определение и оценка создает запрос для отображения результата меры и отображения формулы меры в инструкции DEFINE, которая затем может быть изменена.

    Снимок экрана: определение и оценка меры.

  • Определение со ссылками и оценка создает запрос для отображения результата меры и отображения не только формулы меры в инструкции DEFINE, которая может быть изменена, но и любые другие меры, на которые ссылается формула меры. Измените любую часть в полном контексте меры.

    Снимок экрана: определение ссылок и оценка.

Получение визуальных запросов DAX из Анализатор производительности

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

В представлении отчета перейдите на ленту "Оптимизация", а затем выберите Анализатор производительности. Нажмите кнопку "Начать запись", а затем обновите визуальные элементы. В таблице ниже разверните визуальный элемент, чтобы просмотреть параметры копирования запроса или запуска в представлении запросов DAX. При выборе во время выполнения в представлении запроса DAX выполняется визуальный запрос, добавляет его в виде новой вкладки запроса в представлении запроса DAX, а затем запускает его.

Снимок экрана: визуальные запросы DAX в функции Анализатор производительности.

Представление запросов DAX и динамическое подключение в Power BI Desktop

Power BI Desktop может подключаться к опубликованной семантической модели Power BI, щелкнув "Подключиться ", когда в концентраторе данных OneLake выбрана семантическая модель. В правом нижнем углу представления отчета отобразится динамическое подключение к семантической модели Power BI. Представление запросов DAX можно использовать для записи запросов DAX при активном подключении.

Меры модели

При динамическом подключении к опубликованной семантической модели Power BI нельзя просматривать или изменять меры модели. Параметры быстрых запросов ограничены только вычислением.

Меры отчета

При динамическом подключении к опубликованной семантической модели Power BI можно создавать меры отчета. Меры отчета можно создать с помощью действия "Создать меру" в представлении "Отчет" и "Модель", но в качестве имени доступны только в текущем отчете. После создания быстрые запросы в представлении запросов DAX отображают параметр определения ссылок и оценки. Запросы DAX выполняются в семантической модели, поэтому меры отчета всегда должны быть преобразованы в меры, области запросов DAX в блоке DEFINE MEASURE для выполнения, так как они не существуют в самой модели.

Модель обновления с помощью кнопки изменений и параметров CodeLens для обновления модели недоступны для мер отчета.

Представление запроса DAX в Интернете

Запись запросов DAX из опубликованных семантических моделей использует представление запросов DAX в Интернете. Представление запросов DAX в Интернете совпадает с интерфейсом Power BI Desktop с несколькими исключениями.

  • Пользователь может изменять модели данных в параметре рабочей области Power BI служба Power BI (предварительная версия) для записи запросов DAX. Дополнительные сведения см. в разделе "Изменение моделей данных" в служба Power BI.
  • Запросы DAX удаляются при закрытии. Запросы DAX в Power BI Desktop сохраняются в модели, а семантическая модель может иметь запросы DAX, которые уже сохранены в модели. Представление запросов DAX в Интернете в настоящее время не будет отображать ранее сохраненные запросы DAX, которые могут существовать в семантической модели, и запросы, созданные в Интернете, не сохраняются после закрытия браузера.
  • Для записи запросов DAX требуется разрешение на запись в семантической модели. Средства просмотра рабочих областей должны использовать Power BI Desktop с динамическим подключением к семантической модели для записи запросов DAX.

Рекомендации и ограничения

Рекомендации, которые следует учитывать:

  • 500+ строк в редакторе запросов DAX имеет заметное задержку при вводе.
  • Быстрые действия lightbulb для мер отображаются только в том случае, если инструкция DEFINE не находится на вкладке запроса.
  • Палитра команд показывает некоторые команды, которые еще не работают.
  • Сетка результатов пока не отображает столбцы и меры с указанным форматом, например "Валюта", "Целое число с тысячами" и т. д.
  • Скачайте этот файл из служба Power BI не будут включать запросы DAX, сохраненные в опубликованной семантической модели.
  • Настройка начальной интеграции Git из рабочей области не будет включать запросы DAX, сохраненные в опубликованной семантической модели. Дополнительные сведения см. в интеграции с Fabric Git.

И есть некоторые ограничения, которые следует учитывать:

  • Не более 15 МБ данных на запрос. После превышения 15 МБ текущая строка завершается, но дополнительные строки не записываются.
  • Не более 1 000 000 значений на запрос. Если вы запрашиваете 20 столбцов, можно вернуть максимум 50 000 строк (1 миллион, разделенный на 20).
  • Определите все меры в этой таблице или модели недоступны при наличии более 500 мер.

При выполнении запросов DAX в Интернете есть дополнительные ограничения:

  • На запрос возвращается не более 99 999 строк.
  • Разрешение на запись в семантической модели. Средства просмотра с разрешением на сборку могут использовать Power BI Desktop для динамического подключения и использования представления запросов DAX для выполнения запросов DAX.
  • Доступно только для семантических моделей, отличных от по умолчанию. Вы можете использовать Power BI Desktop для динамического подключения к семантической модели по умолчанию и использовать представление запросов DAX для выполнения запросов DAX.
  • Пользователь может изменять модели данных в параметре рабочей области Power BI служба Power BI (предварительная версия) для записи запросов DAX. Дополнительные сведения см. в разделе "Изменение моделей данных" в служба Power BI