Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Используйте представление запросов DAX в Power BI для просмотра и работы с запросами выражений анализа данных (DAX) в семантических моделях.
Запросы DAX
В Power BI формулы DAX определяют различные типы вычислений для данных, а также настраивают безопасность ролей. Запросы DAX возвращают данные из модели.
Запросы DAX похожи на запросы SQL, так как они показывают, что у вас уже есть данные. Запросы DAX не создают элементы в модели или визуальных элементах отчета.
Запросы DAX имеют две основные части:
- Инструкция EVALUATE, которая является обязательной. Он указывает, какие данные возвращает запрос и как они возвращаются.
- Оператор DEFINE, который является необязательным. Он позволяет определять формулы DAX, например меру, для использования в запросе. Меры, созданные или обновленные с помощью запроса DAX DEFINE, — это меры с областью действия запроса DAX, выполняемые только в контексте запроса DAX. В модель можно добавить меры, ограниченные областью действия запроса DAX, с помощью действий обновления модели в CodeLens или кнопки "Обновить модель с изменениями".
Дополнительные сведения о работе запросов в запросах DAX см. в справочнике по DAX.
Открыть представление запроса DAX
В Power BI Desktop щелкните значок представления запросов DAX слева.
В рабочей области службы Power BI или портала Fabric выберите Написать запросы DAX в контекстном меню.
На странице сведений о семантической модели службы Power BI или портала Fabric выберите в верхней части страницы Написание запросов DAX.
Макет представления запросов DAX
Давайте рассмотрим более подробное представление запросов DAX в Power BI Desktop.
Представление запроса DAX содержит следующие элементы:
Лента
Лента представления запросов DAX имеет общие действия, используемые при написании запросов DAX.
Давайте рассмотрим элементы на ленте:
Формат
Нажмите кнопку "Формат ленты" или используйте SHIFT+ALT+F для форматирования текущего запроса. Запрос оформлен с помощью табуляций. Функции DAX переводятся в ВЕРХНИЙ РЕГИСТР, и добавляются дополнительные строки. Форматирование запроса DAX считается лучшей практикой и улучшает читаемость запросов DAX. Форматирование также отступов выполняется таким образом, что можно свернуть и развернуть разделы запроса.
Комментировать и раскомментировать
Нажмите кнопку "Закомментировать", чтобы добавить двойную обратную косую черту (//) в начало строки, в которой курсор находится или все выбранные строки. Это действие примечает строки. При выполнении запроса DAX эти строки игнорируются.
Нажмите кнопку Uncomment на ленте, чтобы удалить // в начале строки, где находится курсор, или всех выделенных строк. Он не работает в строках, в которых добавляется несколько строковый комментарий нотации.
Вы также можете использовать CTRL+/, чтобы переключаться между комментарием и раскомментированием.
Поиск и замена
Выберите кнопку «Найти» на ленте или нажмите CTRL+F для поиска текста в редакторе запросов DAX. Поиск включает параметры для сопоставления регистра, сопоставления целого слова, использования регулярного выражения и перебора всех совпадений для текущего запроса. Вы также можете выбрать шеврон слева от поля "Найти ", чтобы ввести "Заменить".
Нажмите кнопку "Заменить" на ленте или используйте CTRL+H для поиска и замены текста в редакторе запросов DAX. Замена включает параметры для сохранения регистра и замены по одному или сразу все.
Палитра команд
Чтобы открыть окно командной палитры, нажмите кнопку командной палитры на ленте или используйте сочетание клавиш CTRL+ALT+P. Вы можете найти дополнительные действия редактора запросов DAX и просмотреть связанные сочетания клавиш.
Командная строка
Панель команд представления запросов DAX включает наиболее важные действия при использовании представления запросов DAX.
Запуск и отмена
Кнопка "Выполнить " выполняет запрос DAX или выбранные строки запроса. Состояние запроса после выполнения появится в нижней строке состояния.
При выполнении запроса кнопка становится кнопкой "Отмена ", которую можно использовать для остановки выполнения запроса.
Обновление модели с учетом изменений
Кнопка "Обновить модель с изменениями" добавляет или перезаписывает меры модели с формулами DAX, взятыми из мер, охватываемых запросом DAX. Меры с областью запроса DAX — это формулы DAX в блоке DEFINE MEASURE . Кроме того, можно добавить или перезаписать меры модели по отдельности с помощью текста CodeLens, который отображается над каждым из них.
Редактор запросов DAX
Представление запроса DAX включает редактор запросов, где можно создавать и изменять запросы. Это больше, чем просто большая строка формул DAX. Это более мощный и имеет множество сходств с редактором DAX, доступным в Visual Studio Code.
Редактор запросов DAX содержит следующие элементы:
Предложения и Intellisense
Введите ваш запрос и получите помощь с предложениями и Intellisense во время редактирования.
Используйте «ВВОД» или «TAB», чтобы добавить выделенный "intellisense", или «SHIFT+ВВОД» или «ALT+ВВОД», чтобы перейти к другой строке без добавления параметра "intellisense". При нажатии ESC закрываются все наложения.
Наведите указатель мыши, чтобы просмотреть формулы мер
Если мера включена в запрос DAX, вы можете навести указатель мыши на него, чтобы просмотреть формулу, имя и описание.
Выберите, чтобы посмотреть быстрые действия измерения лампочки.
При выборе меры в инструкции EVALUATE в запросе без инструкции DEFINE отображается лампочка быстрого действия. Выберите Определить или Определить с ссылками, чтобы создать инструкцию DEFINE с формулой данной меры с использованием или без использования формул DAX ссылочной меры.
Обновление мер модели с помощью CodeLens
Использование DEFINE MEASURE полезно при создании измерений, сначала позволяя создавать их как измерения, ограниченные областью запроса DAX. Можно изменить несколько мер в одном окне, а затем запустить запрос, чтобы просмотреть результаты всех или только некоторых из них с определенной группой по столбцам. Вам не нужно создавать таблицу в визуальном представлении отчета и переключаться между формулами показателей. CodeLens идет дальше, предоставляя подсказки, когда измерение уже существует в модели. Они предлагают быстрые ссылки для добавления меры или перезаписи меры в модели.
CodeLens — это кликабельный текст, который отображается над блоком DEFINE MEASURE. Для мер, охватываемых запросом DAX, которые еще не присутствуют в модели, появится CodeLens «Обновить модель: Добавить новую меру», который добавляет меру в модель при нажатии. Для мер с областью действия запроса DAX, уже присутствующих в модели, и когда формула DAX для меры с областью действия отличается, отображается CodeLens Обновление модели: Перезаписать меру. Это изменяет меру модели на эту формулу DAX при щелчке.
Кроме того, можно одновременно добавить или перезаписать несколько мер, нажав кнопку "Обновить модель" с кнопкой "Изменения " на панели команд .
Рабочий процесс обновления мер
Быстрые действия лампочки и CodeLens можно использовать вместе в полном рабочем процессе:
- В контекстном меню меры выберите "Быстрые запросы", а затем "Оценить", чтобы запрос был создан для вас в новой вкладке "Запрос".
- Выберите меру в запросе, чтобы определить или определить со ссылками, добавив инструкцию DEFINE.
- Обновите формулы DAX для измерения, затем выполните запрос DAX, чтобы увидеть результаты.
- Когда изменение отображается должным образом, используйте модель обновления CodeLens: перезапишите параметр, чтобы сохранить его обратно в модель.
Ниже приведен более визуальный способ понять рабочий процесс:
Сетка результатов
При выполнении запроса результаты отображаются в сетке результатов .
Если в редакторе запросов существует несколько инструкций EVALUATE, можно вернуть несколько результатов. Для переключения между ними можно использовать раскрывающийся список результатов . Кнопка "Копировать " копирует всю таблицу целиком в виде таблицы с табуляцией и заголовками. Измените размер сетки, перетащив стрелки в правый верхний угол или границу между сеткой результатов и редактором запросов.
Если запрос приводит к ошибке, отображается сетка результатов.
Кнопка копирования передает ошибку в буфер обмена. Начало ошибки указывает, где в запросе находится ошибка. На изображении выше ошибка: Query (4, 23) The value for 'Sales 2' can't be determined. Either the column doesn't exist, or there is no current row for this column.
И "Запрос (4, 23)" указывает, что ошибка находится в строке 4 и в символе 23.
Вкладки запросов
Представление запроса DAX может содержать несколько вкладок запросов, которые можно переименовать или удалить. Они также показывают текущее состояние запроса.
Каждая вкладка включает индикатор состояния:
- Индикатор не отображается перед выполнением запроса.
- Зеленый флажок указывает на успешное выполнение запроса.
- Красный крест указывает на ошибку.
- Заполненный квадрат в кругу указывает, что запрос был отменен.
- Часы показывают, что запрос выполняется.
Запросы могут выполняться в фоновом режиме, что позволяет продолжить работу на других вкладках запросов.
Сохранение запросов DAX
Вкладки запросов DAX сохраняются в файле при сохранении его из Power BI Desktop, и при следующем открытии файла вы сможете продолжать работу с того же места. Если вы используете режим разработчика для сохранения проекта Power BI, каждая вкладка запроса сохраняется как файл .dax в папке DAXQueries, находящейся в папке семантической модели, или в папке отчета, если они созданы в отчете с активным подключением. Дополнительные сведения см. в документации по режиму разработчика Power BI.
В настоящее время невозможно просмотреть или изменить запросы DAX, добавленные ранее в Power BI Desktop в службе Power BI. Средства просмотра отчета или семантической модели не отображают запросы DAX, сохраненные семантической моделью.
Вкладки представления запросов DAX удаляются при закрытии, когда вы пишете запросы DAX из службы Power BI или портала Fabric.
Панель «Данные»
В области данных отображаются элементы в модели, которые помогают создавать запросы. Пути редактирования для большинства этих элементов блокируются в представлении запроса.
Быстрые запросы
Контекстное меню области данных включает быстрые запросы. Используйте быстрые запросы для создания запросов на новой вкладке запросов для таблиц, столбцов и мер. Быстрые запросы предназначены для повышения производительности при выполнении общих задач и разработаны таким образом, чтобы их можно было легко изменять. Все быстрые запросы создаются на новой вкладке запроса и выполняются автоматически.
В любом месте
Определите все меры в модели , создайте запрос со всеми формулами мер, отображаемыми в запросе. Легко найти все формулы измерений.
Определение новой меры создает запрос с заданным блоком мер. Используйте это, чтобы создать собственную меру в режиме запросов DAX, а затем добавить её в модель, когда вы будете готовы.
Таблицы
Отображение первых 100 строк создает запрос с помощью SELECTCOLUMNS(), чтобы отобразить первые 100 строк таблицы. Столбцы перечислены в каждой строке, чтобы упростить изменение путем закомментирования строк. Команда ORDER BY также используется для указания порядка сортировки.
Отображение статистики столбцов создает запрос со статистическими данными для каждого столбца в таблице. См. множество формул для агрегирования столбцов, таких как MIN, MAX, AVERAGE, COUNT и многое другое.
Определение всех мер в этой таблице создаёт запрос, в котором формулы мер этой таблицы представлены в виде запроса.
Столбцы
Отображение предварительного просмотра данных создает запрос с помощью DISTINCT() для просмотра значений столбца.
Отображение статистики столбцов создает запрос, показывающий статистические сведения для этого конкретного столбца. См. множество формул для агрегирования столбца как MIN, MAX, AVERAGE, COUNT и многое другое. Возвращаемый запрос зависит от типа данных столбца, отображающего различные статистические данные для числовых, текстовых и датовых столбцов.
Меры
Оценка создает запрос для отображения результата меры. SUMMARIZECOLUMNS() используется, чтобы можно было добавить группировку по любым столбцам, чтобы отобразить измерение по конкретным группам, таким как Страна, Продукт и т. д.
Определение и оценка создает запрос для отображения результата меры и отображения формулы меры в инструкции DEFINE, которая затем может быть изменена.
Определение со ссылками и оценка создает запрос для отображения результата меры и отображения не только формулы меры в инструкции DEFINE, которая может быть изменена, но и любые другие меры, на которые ссылается формула меры. Измените любую часть в полном контексте меры.
Получение визуальных запросов 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.
Общий доступ к ссылке запроса
Невозможно добавить запрос DAX в качестве параметра с помощью ?query= после URL-адреса, чтобы связаться с представлением запросов DAX в Интернете.
Рекомендации и ограничения
Рекомендации, которые следует учитывать:
- 500+ строк в редакторе запросов DAX имеет заметное задержку при вводе.
- Быстрые действия иконки для шагов отображаются только в том случае, если на вкладке запросов отсутствует оператор
DEFINE. - Палитра команд показывает некоторые команды, которые еще не работают.
- Сетка результатов не отображает столбцы и меры с указанным форматом, например "Валюта", "Целое число с тысячами" и т. д.
- Настройка начальной интеграции 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.
Замечание
К 30 ноября 2025 г. все семантические модели Power BI по умолчанию отключены от своих элементов и становятся независимыми семантическими моделями. Их можно сохранить, если вы по-прежнему используете их для отчетов или панелей мониторинга или безопасно удалите их, если они больше не нужны. Дополнительные сведения см. в Блоге: отделение семантических моделей по умолчанию для существующих элементов в Microsoft Fabric.
- С 5 сентября 2025 года семантические модели Power BI по умолчанию больше не создаются автоматически при создании склада, озерохранилища или зеркального элемента. Для получения дополнительной информации см. в блоге: Прекращение использования семантических моделей по умолчанию.
- Если у элемента еще нет семантической модели, можно создать семантику Power BI.
- Чтобы записывать запросы DAX, необходимо включить настройку рабочей области Power BI «Пользователь может изменять модели данных в службе Power BI (предварительная версия)». Дополнительные сведения см. в разделе "Изменение моделей данных" в служба Power BI