Использование вычисляемых столбцов в Power BI DesktopUsing calculated columns in Power BI Desktop

С помощью вычисляемых столбцов можно добавлять новые данные в таблицу уже в модели.With calculated columns, you can add new data to a table already in your model. Однако вместо запроса и загрузки значений в новый столбец из источника данных вы создаете формулу на языке DAX, которая определяет значения столбца.But instead of querying and loading values into your new column from a data source, you create a Data Analysis Expressions (DAX) formula that defines the column’s values. В Power BI Desktop вычисляемые столбцы создаются с помощью функции "Создать столбец" в представлении отчетов.In Power BI Desktop, calculated columns are created by using the New Column feature in Report View.

В отличие от настраиваемых столбцов, создаваемых как часть запроса с помощью команды "Добавить настраиваемый столбец" в редакторе запросов, вычисляемые столбцы, создаваемые в представлении отчетов или представлении данных, строятся на данных, которые уже загружены в модель.Unlike custom columns created as part of a query by using Add Custom Column in Query Editor, calculated columns created in Report View or Data View are based on data you’ve already loaded into the model. Например, можно объединить значения из двух разных столбцов в двух разных, но связанных таблицах, выполнить добавление или извлечь вложенные строки.For example, you might choose to concatenate values from two different columns in two different but related tables , perform addition, or extract sub-strings.

Созданные вычисляемые столбцы отображаются в списке полей подобно любому другому полю, но они будут иметь специальный значок, указывающий, что значения этих столбцов являются результатом выполнения формулы.Calculated columns you create appear in the Fields list just like any other field, but they’ll have a special icon showing its values are the result of a formula. Столбцам можно присваивать любые имена и добавлять их в новую или существующую визуализацию отчета так же, как любое другое поле.You can name your columns whatever you want, and add them to a report visualization just like other fields.

Вычисляемые столбцы вычисляют результаты с помощью языка выражений анализа данных (DAX) — это язык формул, предназначенный для работы с реляционными данными, как в Power BI Desktop.Calculated columns calculate results by using Data Analysis Expressions (DAX), a formula language meant to work with relational data like in Power BI Desktop. DAX включает библиотеку из более чем 200 функций, операторов и конструкций, предоставляя огромную гибкость при создании формул, чтобы вычислять результаты практически для любого необходимого анализа данных.DAX includes a library of over 200 functions, operators, and constructs, providing immense flexibility in creating formulas to calculate results for just about any data analysis need. Чтобы узнать больше о DAX, см. раздел "Дополнительные сведения" в конце этой статьи.To learn more about DAX, see the Learn more section at the end of this article.

Формулы DAX похожи на формулы Excel.DAX formulas are similar to Excel formulas. Фактически многие функции в DAX такие же, как в Excel.In fact, DAX has many of the same functions as Excel. В то же время функции DAX предназначены для работы с данными, интерактивно отобранными или сгруппированными в отчете, например в Power BI Desktop.DAX functions, however, are meant to work over data interactively sliced or filtered in a report, like in Power BI Desktop. В отличие от Excel, где можно иметь разные формулы для всех строк в таблице, при создании формулы DAX для нового столбца она будет вычислять результат для каждой строки в таблице.Unlike Excel, where you can have a different formula for each row in a table, when you create a DAX formula for a new column, it will calculate a result for every row in the table. Значения столбца вычисляются повторно по мере необходимости, например при обновлении базовых данных и изменении значений.Column values are recalculated as necessary, like when the underlying data is refreshed and values have changed.

Давайте рассмотрим пример.Let’s look at an example

Джефф является менеджером по доставке в компании Contoso.Jeff is a shipping manager at Contoso. Он хочет создать отчет, показывающий количество отгрузок в разные города.He wants to create a report showing the number of shipments to different cities. У него есть таблица Geography (География) с отдельными полями для города и штата.He has a Geography table with separate fields for city and state. Но Джефф хочет, чтоб в его отчете город и штат отображались как одно значение в той же строке.But, Jeff wants his reports to show City, State as a single value on the same row. Однако в настоящее время в таблице Geography (География) Джеффа отсутствует поле, которое ему нужно.Right now, Jeff’s Geography table doesn’t have the field he wants.

Но используя вычисляемый столбец, Джефф может просто объединить или сцепить город из столбца City со штатом из столбца State.But with a calculated column, Jeff can simply put together, or concatenate, the cities from the City column with the states from the State column.

Джефф щелкает правой кнопкой мыши таблицу Geography (География) и выбирает команду "Создать столбец".Jeff right clicks on the Geography table and then clicks New Column. Затем он вводит в строке формулы следующую формулу DAX:He then enters the following DAX formula into the formula bar:

Эта формула просто создает новый столбец с именем CityState, и для каждой строки в таблице Geography принимает значения из столбца City, добавляет запятую и пробел, а затем присоединяет значения из столбца State.This formula simply creates a new column named CityState, and for each row in the Geography table, it takes values from the City column, adds a comma and a space, and then concatenates values from the State column.

Теперь у Джеффа есть нужное поле.Now Jeff has the field he wants.

И он может добавить его на свой холст отчета вместе с количеством отгрузок.He can add it to his report canvas along with the number of shipments. Очень быстро и с минимальными усилиями Джефф теперь имеет поле "Город, штат".Very quickly and with minimal effort, Jeff now has a City, State field. Он может добавить его практически в любой тип визуализации.He can add to just about any type of visualization. Джефф даже видит, что когда он создает визуализацию карты, Power BI Desktop знает, как считывать значения города и штата в его новом столбце.Jeff even sees that when he creates a map visualization, Power BI Desktop even knows how to read the City, State values in his new column.

Дополнительные сведенияLearn more

Здесь представлены только краткие сведения о вычисляемых столбцах.We’ve only provided a quick introduction to calculated columns here. Рекомендуется прочесть учебник Создание вычисляемых столбцов в Power BI Desktop, где можно загрузить образец файла и получить пошаговые уроки по созданию дополнительных столбцов.Be sure to see the Create calculated columns in Power BI Desktop tutorial, where you can download a sample file and get step-by-step lessons on how to create more columns.

Дополнительные сведения о DAX см. в статье Основные сведения о DAX в Power BI Desktop.To learn more about DAX, see DAX basics in Power BI Desktop.

Дополнительные сведения о столбцах, создаваемых в рамках запроса, см. в разделе "Создание настраиваемых столбцов" статьи Распространенные задачи запросов в Power BI Desktop.To learn more about columns you create as part of a query, see the Create custom columns section in Common query tasks in Power BI Desktop.