Dav*_*lle 2 grouping dax powerbi
假设我有以下表格:
Client Sales
A 1000
A 100
A 10
B 1000
B 10
C 1
Run Code Online (Sandbox Code Playgroud)
我想在最后添加另一列 Names TotalClient ,新表将如下所示:
Client Sales Total
A 1000 1110
A 100 1110
A 10 1110
B 1000 1010
B 10 1010
C 1 1
Run Code Online (Sandbox Code Playgroud)
这可能在 DAX 中还是在查询编辑器中?我尝试了很多方法,但仍然无法弄清楚如何。
我能够使用 SUMMARIZE 函数获取我需要的信息来获取另一个表,但是在安全方面我遇到了其他问题。似乎数据表得到了正确过滤,但不是汇总版本。
谢谢
您只需要知道如何使用CALCULATE
来调整您的过滤器上下文。
Total = CALCULATE( SUM( Table1[Sales] ), ALLEXCEPT( Table1, Table1[Client] ) )
Run Code Online (Sandbox Code Playgroud)
这表示要计算表中所有行的销售额总和,其中我们已经删除了除客户端之外的任何行上下文。因此,您将获得客户端与当前行中的客户端匹配的所有行的总和。
如果你只有这些列,你可以这样做
Total = CALCULATE( SUM( Table1[Sales] ), ALL( Table1[Sales] ) )
Run Code Online (Sandbox Code Playgroud)
这仅删除Sales
行上下文并保留Client
行上下文。如果您还有其他列,这可能不会按预期工作,因为它们仍然是行上下文的一部分。
您还可以删除所有过滤器上下文,ALL
然后显式添加回您想要的过滤器:
Total =
CALCULATE(
SUM( Table1[Sales] ),
ALL( Table1 ),
Table1[Client] = EARLIER( Table1[Client] )
)
Run Code Online (Sandbox Code Playgroud)
或者用类似的方法SUMX
代替
Total =
SUMX(
FILTER(
Table1,
Table1[Client] = EARLIER( Table1[Client] )
),
Table1[Sales]
)
Run Code Online (Sandbox Code Playgroud)
给猫剥皮的方法很多。
归档时间: |
|
查看次数: |
20663 次 |
最近记录: |