Создание простых мер

Завершено

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

Примечание

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

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

Простая мера агрегирует значения одного столбца. Неявные меры делают это автоматически.

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

Изображение контекстной ленты

В строке формулы введите следующее определение меры и нажмите клавишу ВВОД.

Revenue =
SUM(Sales[Sales Amount])

Определение меры добавляет меру Revenue в таблицу Sales. Используется DAX-функция SUM для суммирования значений столбца Sales Amount.

На контекстной вкладке ленты Средства работы с мерами в группе Форматирование установите для десятичных знаков значение 2.

Изображение вкладки ленты форматирования с выделенным свойством десятичных знаков, равным 2.

Совет

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

Теперь добавьте меру Revenue в матричный визуальный элемент. Обратите внимание, что он дает тот же результат, что и неявная мера Sales Amount.

В матричном визуальном элементе удалите Sales Amount и Sum of Unit Price.

Далее предстоит создать дополнительные меры. Создайте меру Cost с помощью следующего определения меры, а затем задайте формат с двумя десятичными знаками.

Cost =
SUM(Sales[Total Product Cost])

Создайте меру Profit, а затем задайте формат с двумя десятичными знаками.

Profit =
SUM(Sales[Profit Amount])

Обратите внимание, что столбец Profit Amount является вычисляемым столбцом. Эта тема рассматривается далее в этом модуле.

Затем создайте меру Quantity и отформатируйте ее как целое число с разделителем групп разрядов.

Quantity =
SUM(Sales[Order Quantity])

Создайте три меры для цены за единицу, а затем задайте формат в два десятичных знака для каждой из них. Обратите внимание на различные используемые агрегатные функции DAX: MIN, MAX и AVERAGE.

Minimum Price =
MIN(Sales[Unit Price])
Maximum Price =
MAX(Sales[Unit Price])
Average Price =
AVERAGE(Sales[Unit Price])

Теперь скройте столбец Unit Price, в результате чего авторы отчетов не смогут суммировать столбец, за исключением использования мер.

Совет

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

Затем создайте следующие две меры, которые подсчитывают количество заказов и их строки. Отформатируйте обе меры как значения без десятичных знаков.

Order Line Count =
COUNT(Sales[SalesOrderLineKey])
Order Count =
DISTINCTCOUNT('Sales Order'[Sales Order])

Функция DAX COUNT подсчитывает количество непустых значений в столбце, а функция DAX DISTINCTCOUNT — количество уникальных значений в столбце. Так как заказ может содержать одну или несколько строк заказа, столбец Sales Order будет содержать дублирующиеся значения. Число уникальных значений в этом столбце будет правильно подсчитывать количество заказов.

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

Измените формулу созданной выше меры Order Line Count на следующие параметры:

Order Line Count =
COUNTROWS(Sales)

Добавьте каждую меру в матричный визуальный элемент.

Все созданные меры считаются простыми, так как они объединяют один столбец или одну таблицу.