Создание вычисляемых столбцов в Power BI Desktop

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

В отличие от пользовательских столбцов, созданных в рамках запроса с помощью команды Добавить настраиваемый столбец в редакторе Power Query, вычисляемые столбцы, созданные в представлении отчета, в представлении таблицы или в представлении модели, основаны на данных, которые уже загружены в модель. Например, можно сцепить значения из двух разных столбцов в двух разных, но связанных таблицах, добавлять или извлекать подстроки.

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

снимок экрана Power BI Desktop, показывающего вычисляемые столбцы в представлении полей.

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

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

Рассмотрим пример

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

снимок экрана Power BI Desktop с фильтром география в представлении полей.

Но с вычисляемым столбцом Джефф может объединить города из столбца Город со штатами из столбца Штат.

Джефф щелкает правой кнопкой мыши на таблице Geography, а затем выбирает Новый столбец. Затем Джефф вводит следующую формулу DAX в строку формул:

CityState = [City] & "," & [State]

Эта формула создает новый столбец с именем CityState. Для каждой строки в таблице Geography он принимает значения из столбца City, добавляет запятую и пробел, а затем объединяет значения из столбца состояния .

Теперь у Джеффа есть нужное поле.

снимок экрана Power BI Desktop с флажком CityState в фильтре Geography в представлении полей.

Теперь Джефф может добавить её в область отчета вместе с количеством поставок. С минимальными усилиями Джефф теперь имеет поле CityState, которое можно добавить почти к любому типу визуализации. Когда Джефф создает новую карту, Power BI Desktop уже знает, как считывать значения города и штата в новом столбце.

снимок экрана Power BI Desktop с данными, представленными в визуальном элементе карты.

Контекст выражения

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

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

Свойство "Контекст выражения" можно задать как свойство вычисляемого столбца.

Снимок экрана в программе Power BI Desktop, показывающий свойство контекста выражения для вычисляемого столбца.

Материализация и производительность

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

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

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

Режим хранения Стандартный (по умолчанию) Контекст пользователя
Import Материализовано Нематериализованные
Direct Lake на OneLake Н/Д Нематериализованные
Direct Lake в SQL Н/Д Н/Д
Прямой запрос Нематериализованные Нематериализованные
Dual Материализованный (импорт), нематериализованный (DirectQuery) Нематериализованные
DirectQuery в семантических моделях Power BI Нематериализованные Н/Д

В этой статье приведены краткие сведения о вычисляемых столбцах. Дополнительные сведения см. в следующих ресурсах: