Памятка по DAX
Задача |
Выражение для расчета |
---|---|
Расчет общего объема продаж |
Вычисляемая мера с использованием SUM для агрегирования столбца. Total Sales = SUM('TableName'[SalesAmount])
|
Расчет общей стоимости |
Вычисляемая мера с использованием SUM для агрегирования столбца. Total Cost = SUM('TableName'[Cost])
|
Расчет прибыли |
Вычисляемая мера с использованием двух ранее созданных рассчитанных показателей для определения прибыли. Profit = [Total Sales] - [Total Cost]
|
Рентабельность |
Вычисляемая мера с использованием двух ранее созданных расчетных показателей для определения размера прибыли, функция DIVIDE используется для выполнения деления. Profit Margin = DIVIDE( [Profit], [Total Sales])
|
Счетчик транзакций |
Вычисляемая мера, которая возвращает количество всех строк в таблице, в конечном итоге это простое вычисление часто используется для возврата количества транзакций. Transactions = COUNTROWS('Table')
|
Количество связанных таблиц |
Возвращает общее количество строк в связанной таблице. Например, общее количество транзакций по продукту. Transactions = COUNTROWS(RELATEDTABLE('TABLE'))
|
Месяц до даты Продажи
Задача |
Выражение для расчета |
---|---|
Продажи MTD |
Вычисляет общий объем продаж за все дни текущего месяца до максимального дня в выделении. MTD Sales = TOTALMTD( [Total Sales], 'DateTable'[DateColumn] )
|
Продажи MTD (прямой запрос) |
Вычисляет общий объем продаж за все дни текущего месяца до максимального дня в выделении. MTD Sales = CALCULATE ( [Total Sales], FILTER ( ALL ( 'DateTable' ), 'DateTable'[DateYear] = MAX ( 'DateTable'[DateYear] ) && 'DateTable'[DateMonth] = MAX ( 'DateTable'[DateMonth] ) && 'DateTable'[Date] <= MAX ( 'DateTable'[Date] ) ) )
|
Продажи за год
|
|
---|---|
Задача |
Выражение для расчета |
Продажи с начала года |
Вычисляет общий объем продаж за все дни в году до максимального дня в выбранном. YTD Sales = TOTALYTD( [Total Sales], 'DateTable'[DateColumn] )
|
Продажи с начала года (финансовый календарь) |
В этом расчете используется необязательный третий параметр, указывающий дату окончания финансового года. YTD Sales = TOTALYTD( [Total Sales], 'DateTable'[DateColumn], "05/31" )
|
Продажи с начала года (прямой запрос) |
Вычисляет общий объем продаж за все дни в году до максимального дня в выбранном. YTD Sales: = CALCULATE ( [Total Sales], FILTER ( ALL ( 'DateTable' ), 'DateTable'[DateYear] = MAX ( 'DateTable'[DateYear] ) && 'DateTable'[Date] <= MAX ( 'DateTable'[Date] ) ) )
|
Продажи за предыдущий год
|
|
---|---|
Задача |
Выражение для расчета |
Прибыль за предыдущий год |
Prior Year Profit = CALCULATE ( [Profit], SAMEPERIODLASTYEAR'DateTable'[DateColumn] )
|
Прибыль за предыдущий год (прямой запрос) |
Вычисляет прибыль за все дни в году, предшествующем последнему году в выборке. Ограничено последним днем выбора. Prior Year Profit = CALCULATE ( [Profit], FILTER ( ALL ( 'DateTable' ), 'DateTable'[Year] = MAX ( 'DateTable'[Year] ) - 1 ) )
|
Прибыль за год |
Вычисляемая мера с использованием двух ранее созданных расчетных показателей для определения прибыли в годовом исчислении. YoY Profit = [Profit] - [Prior Year Profit]
|
Продажи за прошлый год с начала года |
Last YTD Sales = CALCULATE ( [YTD Sales], SAMEPERIODLASTYEAR('DateTable'[DateColumn] ) )
|
Общий объем продаж для всех стран |
Использует вычисление для возврата всех стран в вычислении независимо от контекста фильтра. Total Sales All Countries = CALCULATE ( [Total Sales], ALL('Geography Table'[Country] ) )
|
Процент от общего расчета |
В этом расчете используются две ранее созданные меры для создания процента от общего расчета. Percent of Total = DIVIDE([Total Sales], [Total Sales All Countries])
|
Скользящие итоги
|
|
---|---|
Задача |
Выражение для расчета |
Объем продаж за 12 месяцев |
Вычисляемая мера, возвращающая скользящую сумму за 12 месяцев для прибыли. Rolling 12 Months Profit = CALCULATE ( [Profit], DATESBETWEEN('DateTable'[DateColumn] , NEXTDAY( SAMEPERIODLASTYEAR( LASTDATE(DateTable'[DateColumn] ))), LASTDATE('DateTable'[DateColumn])))
|
7-дневная скользящая средняя прибыль |
Этот расчет генерирует дневное скользящее среднее. Соответственно можно изменить количество дней. 7 Day Moving Average = AVERAGEX ( FILTER ( ALL ( 'DateTable' ), 'DateTable'[FullDateAlternateKey] > ( MAX ('DateTable'[FullDateAlternateKey] ) - 7 ) && 'DateTable'[FullDateAlternateKey] > <= MAX ('DateTable'[FullDateAlternateKey] ) ), [Profit])
|
Рейтинг стран |
Вычисляемая мера для ранжирования определенного столбца в таблице по мере. В этом показателе Страна из географической таблицы ранжируется по показателю [Total Sales]. Country Rank = RANKX( ALL ('GeographyTable'[Country]), [Total Sales],,,Skip)
|