Power BI DAX,仅包含最后一个日期的筛选器的总和列
Power BI DAX, Sum column with filters for only last date
我有 table 'invoice'
不同日期的金额,我想对最大日期的金额求和。
例如,如果最大日期是 25/03/2022,我将仅对该日期的行求和。
last_month_amount = calculate(SUM(invoice[amount]),FILTER(invoice, invoice[date] = LASTDATE('invoice'[date])))
但它计算所有金额时没有任何过滤器。
在 sql 我想要这个:
select sum(invoice.amount)
from invoice
where invoice.date = (select max(date) from invoice)
但我明白了
select sum(invoice.amount)
from invoice
你的公式有两个错误:
- 您在发票上使用了 LASTDATE 函数 table,但应该在适当的日历上使用它 table(它需要连续的日期);
- 您将 LASTDATE 放在了 CALCULATE 和 FILTER 函数中。因此,它计算这些函数的筛选上下文中的最后日期(即,它计算每条记录的最后日期而不是整个 table 的最后日期)。
要解决这个问题,只需将最后一个日期存储在一个变量中:
last_month_amount =
VAR Latest_Date = MAX ( 'invoice'[date] )
RETURN
CALCULATE ( SUM ( invoice[amount] ), 'invoice'[date] = Latest_Date )
我有 table 'invoice'
不同日期的金额,我想对最大日期的金额求和。
例如,如果最大日期是 25/03/2022,我将仅对该日期的行求和。
last_month_amount = calculate(SUM(invoice[amount]),FILTER(invoice, invoice[date] = LASTDATE('invoice'[date])))
但它计算所有金额时没有任何过滤器。
在 sql 我想要这个:
select sum(invoice.amount)
from invoice
where invoice.date = (select max(date) from invoice)
但我明白了
select sum(invoice.amount)
from invoice
你的公式有两个错误:
- 您在发票上使用了 LASTDATE 函数 table,但应该在适当的日历上使用它 table(它需要连续的日期);
- 您将 LASTDATE 放在了 CALCULATE 和 FILTER 函数中。因此,它计算这些函数的筛选上下文中的最后日期(即,它计算每条记录的最后日期而不是整个 table 的最后日期)。
要解决这个问题,只需将最后一个日期存储在一个变量中:
last_month_amount =
VAR Latest_Date = MAX ( 'invoice'[date] )
RETURN
CALCULATE ( SUM ( invoice[amount] ), 'invoice'[date] = Latest_Date )