Сравнение версий
Ключ
- Эта строка добавлена.
- Эта строка удалена.
- Изменено форматирование.
Вложенные меры – это возможность использования одной меры внутри другой, что позволяет повторно использовать логику вычислений, упрощает код, делает его более гибким и улучшает его читаемость.
Рассмотрим несколько примеров использования вложенных мер.
Пример 1
Предположим, у вас есть следующая простая мера, которая вычисляет общие продажи:Объём продаж = SUM(Sales'factonlinesales'[SalesAmountsalesamount])
Теперь вы хотите создать меру, которая вычисляет прибыль в размере 20%. Вместо того чтобы повторять логику вычисления общих продаж, вы можете использовать существующую меру Объём продаж
:
Прибыль = 'factonlinesales' [Объём продаж] * 0.20
[картинка]
Пример 2
Теперь представим, что у вас есть две меры, которые вычисляют объем продаж с учетом скидок для физических и юридических лиц:
Блок кода |
---|
Объём продаж со скидкой (физические лица) = CALCULATE( SUMX( factfactonlinesales, factfactonlinesales[salesamount] - factfactonlinesales[discountamount] ), FILTER( dimcustomer, dimcustomer[customertype] IN {"Person"} ) ) |
и
Блок кода |
---|
Объём продаж со скидкой (юридические лица) = CALCULATE( SUMX( factfactonlinesales, factfactonlinesales[salesamount] - factfactonlinesales[bonusdiscountamount] ), FILTER( dimcustomer, dimcustomer[customertype] IN {"Company"} ) ) |
Предположим, вам необходимо посчитать общую выручку от физических и юридических лиц. Для этого вы можете создать следующую меру (складываются , сложив значения двух мер):
Выручка = factonlinesales [Объём продаж со скидкой (физические лица)] + factonlinesales [Объём продаж со скидкой (юридические лица)]
[картинка]
Пример 3
В качестве третьего примера, мы рассмотрим ситуацию, когда имеются две меры, одна из которых вычисляет общую сумму продаж, а вторая – количество уникальных номеров заказов:
Блок кода |
---|
Общая сумма продаж = CALCULATE ( SUMX ( 'факты онлайн продажfactonlinesales', 'факты онлайн продажfactonlinesales'[unitprice] * 'факты онлайн продажfactonlinesales'[salesquantity] ), REMOVEFILTERS ( 'факты онлайн продажfactonlinesales' ), SUMMARIZE ( 'факты онлайн продажfactonlinesales', 'факты онлайн продажfactonlinesales'[salesordernumber] ) ) |
и
Блок кода |
---|
Уникальные заказы = CALCULATE ( DISTINCTCOUNT ( 'факты онлайн продажfactonlinesales'[salesordernumber] ), REMOVEFILTERS ( 'факты онлайн продажfactonlinesales' ), SUMMARIZE ( 'факты онлайн продажfactonlinesales', 'факты онлайн продаж'[salesordernumber] ) ) |
Теперь предположим, что вы хотите посчитать цену среднего чека. Для этого вы можете использовать воспользоваться готовыми мерами и записать следующую формулу:
Блок кода |
---|
Средний чек = DIVIDE ( 'факты онлайн продажfactonlinesales'[Общая сумма продаж], 'факты онлайн продажfactonlinesales'[Уникальные заказы] ) |
Данная формула вычисляет средний чек по каждому магазину, разделяя общую сумму продаж на количество уникальных заказов.
Image AddedСмотрите также
На этой странице
Оглавление | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
|
🕑 Время чтения: 3 мин.
Нужна дополнительная помощь?