当日期切片器设置为上一年时,YTD 测量在 DAX 中不起作用

问题描述 投票:0回答:2

这里是测试数据:

这是日期数据:

Dates = CALENDAR(date(2022,1,1),TODAY())

表之间的关系:

问题:即使日期切片器从前一年开始,创建一个显示当年 YTD 总额的度量:

这是我的代码:

YTD = 
VAR minim = CALCULATE( MIN( Dates[Date]), ALLSELECTED(Dates[Date]))
var startyear = DATE(YEAR(TODAY()),1,1)
return if( minim >= startyear , 
calculate(sum(test[Totals] ), FILTER(Dates, Dates[Date] >= startyear))  ,  
 calculate(sum(test[Totals] ), FILTER(Dates, Dates[Date] >= startyear)) )

测试场景 1 工作正常:显示正确的信息, 日期切片器从 2022 年开始,并且度量显示当年的 YTD 结果

测试场景 2:不起作用, 显示 40 而不是 130

测试场景3:不起作用,即使年份是当年

date powerbi dax measure calculated-field
2个回答
0
投票

YTD 公式将帮助您获得正确的输出/结果。

YTD = 
    VAR minim = CALCULATE( MIN( Dates[Date]), ALLSELECTED(Dates[Date]))
    VAR startyear = DATE(YEAR(TODAY()),1,1)
    return if( minim >= startyear , 
            CALCULATE(SUM(test[Totals]), test[Date] >= startyear, REMOVEFILTERS(Dates[Date])),  
            CALCULATE(SUM(test[Totals]), test[Date] >= startyear, REMOVEFILTERS(Dates[Date])) )

简单地说,您可以使用以下公式计算 YTD。

YTD = CALCULATE(SUM(test[Totals]), YEAR(test[Date]) = YEAR(TODAY()), REMOVEFILTERS(Dates[Date]))

0
投票

而不是 AllSelected 更改为 All 因为所有选定的都保留切片器过滤器

YTD = TOTALYTD(sum(test[Totals]),all(Dates[Date]))

© www.soinside.com 2019 - 2024. All rights reserved.