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


Руководство: Создание собственных мер в Power BI Desktop

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

Предпосылки

  • Это руководство предназначено для пользователей Power BI, уже знакомых с помощью Power BI Desktop для создания более сложных моделей. Вы уже знакомы с помощью редактора Get Data и Power Query для импорта данных, работы с несколькими связанными таблицами и добавления полей на холст отчета. Если вы не знакомы с Power BI Desktop, ознакомьтесь со службой "Начало работы с Power BI Desktop".

  • В этом руководстве используется пример продаж Contoso для Power BI Desktop , который включает данные о продажах в Интернете из вымышленной компании Contoso. Так как эти данные импортируются из базы данных, вы не можете подключиться к источнику данных или просмотреть его в редакторе Power Query. Скачайте и извлеките файл на компьютере.

Автоматические меры

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

  1. В Power BI Desktop выберите Файл>Открыть, перейдите к файлу Contoso Sales Sample for Power BI Desktop.pbix и затем нажмите Открыть.

  2. В области "Поля" разверните таблицу Sales . Затем установите флажок рядом с полем SalesAmount или перетащите SalesAmount на холст отчета.

    Появится новая визуализация диаграммы столбцов с суммой всех значений в столбце SalesAmount таблицы Sales .

    Снимок экрана столбчатой диаграммы SalesAmount.

    Любое поле (столбец) в области "Поля" со значком Sigma является числовым, и его значения можно агрегировать. Вместо отображения таблицы со многими значениями (2000 000 000 строк для SalesAmount), Power BI Desktop автоматически создает и вычисляет меру для агрегирования данных, если он обнаруживает числовые типы данных. Сумма — это агрегирование по умолчанию для числового типа данных, но можно легко применять различные агрегаты, такие как среднее или число. Понимание агрегации является фундаментальным для понимания метрик, поскольку каждая метрика выполняет некоторый вид агрегирования.

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

  1. Выберите визуализацию SalesAmount на холсте отчета.

  2. В области "Значения " области "Визуализации" щелкните стрелку вниз справа от SalesAmount.

  3. В появившемся меню выберите "Среднее".

    Визуализация изменяет среднее значение всех значений продаж в поле SalesAmount .

    Снимок экрана диаграммы среднего значения для SalesAmount.

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

Значения, вычисляемые из мер, изменяются в ответ на ваши взаимодействия с отчетом. Например, если вы перетащите поле RegionCountryName из таблицы Geography на существующую диаграмму SalesAmount , она изменится, чтобы отобразить средние объемы продаж для каждой страны или региона.

Снимок экрана диаграммы, показывающей объем продаж по странам/регионам.

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

Создание и использование собственных мер

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

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

При создании собственной меры она называется мерой модели и добавляется в список полей для выбранной таблицы. Некоторые преимущества мер модели — это то, что вы можете присвоить им имя, что делает их более идентифицируемыми. Их можно использовать в качестве аргументов в других выражениях DAX, и вы можете быстро выполнять сложные вычисления.

Быстрые меры

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

Создайте быструю меру с помощью одного из следующих методов:

  • В таблице в области "Поля " щелкните правой кнопкой мыши или выберите пункт "Дополнительные параметры " (...), а затем выберите "Создать быструю меру " из списка.

  • В разделе "Вычисления " на вкладке "Главная " ленты Power BI Desktop выберите "Новая быстрая мера".

Дополнительные сведения о создании и использовании быстрых мер см. в разделе "Использование быстрых мер".

Создайте меру

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

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

  1. В области "Поля " щелкните правой кнопкой мыши таблицу Sales или наведите указатель мыши на таблицу и выберите дополнительные параметры (...).

  2. В появившемся меню выберите "Создать меру".

    Это действие сохраняет новую метрику в таблице Sales, где её легко найти.

    Снимок экрана: новая мера из списка в меню.

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

    Скриншот новой меры на ленте.

    Подсказка

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

    В строке формул, которая отображается в верхней части холста отчета, можно переименовать меру и ввести формулу DAX.

    Снимок экрана: строка формул.

  3. По умолчанию каждая новая мера называется Мерой. Если вы не переименовываете его, новые меры называются мерой 2, мерой 3 и т. д. Так как мы хотим, чтобы эта мера была более идентифицируемой, выделите меру в строке формул, а затем измените ее на Net Sales.

  4. Начните вводить формулу. После знака = начните вводить Сумма. По мере ввода появится раскрывающийся список предложений, показывающий все функции DAX, начиная с букв, которые вы вводите. Прокрутите вниз, при необходимости, чтобы выбрать SUM из списка, а затем нажмите клавишу ВВОД.

    Снимок экрана: СУММА, выбранная из списка в строке формул.

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

    Снимок экрана: выбор столбцов для формулы СУММ.

  5. Выражения всегда отображаются между открытием и закрытием круглых скобок. В этом примере выражение содержит один аргумент для передачи функции SUM: столбцу SalesAmount . Начните вводить SalesAmount , пока Sales(SalesAmount) не будет единственным значением, оставшимся в списке.

    Имя столбца, предшествующее имени таблицы, называется полным именем столбца. Полные имена столбцов упрощают чтение формул.

    Снимок экрана: выбор SalesAmount для формулы SUM.

  6. Выберите Sales[SalesAmount] из списка, а затем введите закрывающую скобку.

    Подсказка

    Синтаксические ошибки чаще всего вызваны отсутствием или неправильным закрывающим скобками.

  7. Вычтите эти два других столбца в формуле.

    a. После закрывающей скобки для первого выражения введите пробел, оператор минус (-), а затем другое пространство.

    б. Введите другую функцию SUM и начните вводить DiscountAmount , пока вы не сможете выбрать столбец Sales[DiscountAmount] в качестве аргумента. Добавьте закрывающую скобку.

    c. Введите пробел, оператор минус, пробел, другую функцию SUM с sales[ReturnAmount] в качестве аргумента, а затем закрывающая скобка.

    Снимок экрана: полная формула.

  8. Нажмите Enter или выберите Применить (значок галочки) в строке формул, чтобы завершить и проверить формулу.

    Проверенная мера "Чистые продажи" теперь готова к использованию в таблице "Продажи " на панели "Поля ".

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

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

    Стрелка вниз превращается в стрелку вверх и появляется большое поле.

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

  10. Разделяйте части вашей формулы, нажимая Alt + Enter для добавления новой строки или Tab, чтобы добавить табуляцию.

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

Используйте вашу меру в отчете

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

Чтобы просмотреть чистые продажи по странам или регионам:

  1. Выберите меру net Sales из таблицы Sales или перетащите ее на холст отчета.

  2. Выберите поле RegionCountryName из таблицы Geography или перетащите его на диаграмму Net Sales .

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

  3. Чтобы увидеть разницу между чистыми продажами и общими продажами по странам или регионам, выберите поле SalesAmount или перетащите его на диаграмму.

    Снимок экрана: объем продаж и чистые продажи по странам или регионам.

    На диаграмме теперь используются две меры: SalesAmount, которые Power BI суммируются автоматически, и меру net Sales , созданную вручную. Каждая мера вычислялась в контексте другого поля RegionCountryName.

Использование меры с срезом

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

  1. Выберите пустую область рядом с диаграммой. В области "Визуализации" выберите визуализацию таблицы .

    Это действие создает пустую визуализацию таблицы на холсте отчета.

    Снимок экрана: визуализация новой пустой таблицы.

  2. Перетащите поле "Год " из таблицы "Календарь " в новую пустую визуализацию таблицы.

    Так как Год является числовым полем, Power BI Desktop суммирует свои значения. Эта суммирование не подходит для агрегирования; мы рассмотрим это на следующем шаге.

    Снимок экрана: агрегирование года.

  3. В поле "Значения " в области "Визуализации" щелкните стрелку вниз рядом с годом, а затем выберите "Не суммировать " из списка. В таблице теперь перечислены отдельные годы.

    Снимок экрана меню с пунктом «Не суммировать».

  4. Щелкните значок среза в области "Визуализации", чтобы преобразовать таблицу в срез. Если визуализация отображает ползунок вместо списка, выберите Список через стрелку вниз в ползунке.

    Снимок экрана: значок среза в области

  5. Выберите любое значение в срезе Года, чтобы отфильтровать Чистые продажи и сумму продаж по диаграмме RegionCountryName соответствующим образом. Меры Чистые продажи и Сумма продаж пересчитываются и отображают результаты в контексте выбранного поля года.

    Снимок экрана: диаграмма Net Sales и SalesAmount, срезанная по годам.

Используйте свою меру в другой мере

Предположим, вы хотите узнать, какие продукты имеют самую высокую чистую сумму продаж за единицу продаж. Вам нужна мера, которая делит чистые продажи на количество проданных единиц. Создайте новую меру, которая делит результат меры Net Sales на сумму sales[SalesQuantity].

  1. В области "Поля" создайте новую меру с именем Чистые продажи за единицу в таблице Продажи.

  2. На панели формул начните вводить Net Sales. В списке предложений показано, что можно добавить. Выберите [Net Sales].

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

  3. Кроме того, можно ссылаться на меры, просто введя открывающую скобку ([). В списке предложений показаны только меры для добавления в формулу.

    Снимок экрана: открытая скобка, показывающая меры для добавления в формулу.

  4. Введите пробел, оператор деления (/), другое пространство, функцию СУММ, а затем введите "Количество". В списке предложений отображаются все столбцы с количеством в имени. Выберите Sales[SalesQuantity], введите закрывающую скобку и нажмите ВВОД или выберите Фиксация (значок флажка), чтобы проверить вашу формулу.

    Результирующая формула должна выглядеть следующим образом:

    Net Sales per Unit = [Net Sales] / SUM(Sales[SalesQuantity])

  5. Выберите меру Net Sales per Unit из таблицы Sales или перетащите ее на пустую область на холсте отчета.

    На диаграмме показана чистая сумма продаж на единицу по всем продуктам, проданным. Эта диаграмма не информативна; Мы рассмотрим его на следующем шаге.

    Снимок экрана: чистая сумма продаж на единицу по всем продуктам, проданным.

  6. Для другого вида измените тип визуализации диаграммы на Treemap.

    Снимок экрана: диаграмма изменена на карту дерева.

  7. Выберите поле "Категория продукта " или перетащите его на карту дерева или в поле "Группа " области "Визуализации ". Теперь у вас есть хорошая информация!

    Снимок экрана: дерево карты по категории продукта.

  8. Попробуйте удалить поле ProductCategory и перетащите поле ProductName на диаграмму.

    Скриншот карты дерева в Product Name.

    Хорошо, теперь мы просто играем, но вы должны признать, что это круто! Экспериментируйте с другими способами фильтрации и форматирования визуализации.

Что вы узнали

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

Другие статьи, интересующие вас: