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


Руководство. Создание собственных мер в 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 для Power BI Desktop.pbix-файл и нажмите кнопку "Открыть".

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

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

    Снимок экрана: гистограмма SalesAmount.

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

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

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

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

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

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

    Снимок экрана: средняя диаграмма SalesAmount.

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

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

Снимок экрана: диаграмма, на которой показана диаграмма SaleAmount по стране или региону.

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

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

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

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

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

Быстрые меры

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

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

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

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

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

Создание меры

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

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

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

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

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

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

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

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

    Совет

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

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

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

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

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

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

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

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

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

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

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

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

    Совет

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

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

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

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

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

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

  8. Нажмите клавишу ВВОД или нажмите кнопку "Фиксация" (значок проверка mark) в строке формул, чтобы завершить и проверить формулу.

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

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

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

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

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

  10. Отдельные части формулы, нажав клавиши ALT + ВВОД для отдельных строк или нажав клавишу 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 и SalesAmount, срезанная по годам.

Использование меры в другой мере

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Что вы узнали

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

  • Дополнительные сведения о быстрых мерах Power BI Desktop, которые предоставляют множество распространенных вычислений мер, см. в статье "Использование быстрых мер для распространенных вычислений".

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

  • Обязательно добавьте ссылку на выражения анализа данных (DAX) в избранное. Эта ссылка содержит подробные сведения о синтаксисе DAX, операторах и более 200 функциях DAX.

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