【发布时间】:2021-03-10 18:05:33
【问题描述】:
我正在努力创建一个对一列求和的度量,并让它过滤掉重复的 ID,同时只取最新的行。
比如有这样一张表:
UID | Quantity | Status | StatusDate
aaa | 3 | Shipped | 11/1/2020
aaa | 3 | Delivered | 11/5/2020
bbb | 5 | Ordered | 10/29/2020
ccc | 8 | Shipped | 11/4/2020
所以这个想法是对数量求和,但我只想计算一次 id “aaa” 的数量,并且只计入最新状态(在这种情况下为“已交付”)。我会制作一个视觉效果,以状态为轴显示数量。我还需要添加一个日期切片器,以便及时返回。因此,当我在 2020 年 11 月 5 日之前去时,它会切换回“已发货”,而不是“已发货”。
我尝试了几种方法:
-
如果 UID 相同,则汇总到过滤“MAX”日期值的表格。我发现这不适用于日期切片器,因为它似乎实际上并没有重新计算过滤,只是切掉了日期之外的行。无论 SUMMARIZE 在 Measure 中设置为新表还是 VAR,似乎都是一样的。
-
CALCULATE 看起来很有希望,但我似乎无法弄清楚语法 我需要的过滤器。一个不起作用的例子(我也尝试过 SUMX 而不是 SUM,但这也不起作用):
计算( 总和(表 1 [数量]), FILTER(Table1, [StatusDate]=MAXX(FILTER(Table1,[UID]=EARLIER([UID])),[StatusDate]) )
-
我还尝试添加一列,说明该行是否为“旧”以及不同状态的数字“等级”。但是再一次,我遇到了日期切片器没有完全过滤以重新计算这些列的问题。例如,如果日期切片器设置为 2020 年 11 月 3 日,则应将“3”添加到“已发货”而不是“已交付”。但不是那样,它只是删除了告诉我它实际上并没有重新计算列的行(如#1)。
任何帮助将不胜感激 :-) 谢谢!
【问题讨论】:
标签: powerbi dax powerbi-desktop