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

Важно!

Представление запроса DAX в настоящее время находится в предварительной версии.

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

Запросы DAX

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

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

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

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

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

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

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

Screenshot of the DAX query view icon in Power BI Desktop.

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

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

Diagram that shows the DAX query view layout.

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

Лента

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

Screenshot of the DAX query view ribbon.

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

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

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

Screenshot of the Format query button.

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

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

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

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

Screenshot of the Comment and Uncomment buttons in the DAX query view ribbon.

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

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

Screenshot of the find button in the DAX query view ribbon.

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

Screenshot of the Replace capability in the DAX query view ribbon.

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

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

Screenshot of the DAX query view command palette.

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

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

Screenshot of the DAX query view command bar.

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

Screenshot of the DAX query view cancel.

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

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

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

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

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

Screenshot of the DAX query editor intellisense.

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

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

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

Screenshot of the hover to see measure formula feature.

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

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

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

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

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

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

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

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

Diagram of the workflow.

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

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

Screenshot of the results grid.

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

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

Screenshot of the error message in the results grid.

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

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

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

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

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

Screenshot of the Query tabs.

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

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

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

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

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

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

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

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

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

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

В любом месте

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

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

    Screenshot of the show top 100 rows.

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

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

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

    Screenshot of the show data preview.

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

    Screenshot of the show column preview.

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

    Screenshot of evaluate measure.

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

    Screenshot of the define and evaluate measure.

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

    Screenshot of define with references and evaluate.

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

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

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

Screenshot of the visual DAX queries in Performance Analyzer feature.

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

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

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

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

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