基于切片器选择的发票差异化计算需求(附示例表与预期)
多季节发票数据的动态计算需求及实现
需求说明
- 现有发票数据表,同一
issuekey会在不同季节出现重复记录 - 切片器行为逻辑:
- 选「全部」:按
customer汇总,每个唯一issuekey取对应最大invoice后求和 - 选特定季节:直接计算该季节下对应
customer的invoice总和
- 选「全部」:按
示例数据表
| customer | issuekey | season | seasonindex | invoice |
|---|---|---|---|---|
| H | A | spring2020 | 1 | 100 |
| Y | B | spring2020 | 1 | 120 |
| H | A | SUMMER2020 | 2 | 200 |
预期结果
- 切片器选「全部」:Customer「H」显示200,Customer「Y」显示120
- 切片器选spring2020:Customer「H」显示100,Customer「Y」显示120
DAX度量值实现
通过判断切片器选择状态,编写条件分支的DAX度量值即可实现需求:
动态发票总和 = VAR 选中季节数量 = COUNTROWS(VALUES('数据表'[season])) VAR 全季节计算逻辑 = SUMX( SUMMARIZE('数据表', '数据表'[customer], '数据表'[issuekey], "单工单最大发票", MAX('数据表'[invoice])), [单工单最大发票] ) VAR 指定季节计算逻辑 = SUM('数据表'[invoice]) RETURN IF(选中季节数量 = COUNTROWS(ALL('数据表'[season])), 全季节计算逻辑, 指定季节计算逻辑)
提示:将代码中的
'数据表'替换为你实际使用的表名
内容的提问来源于stack exchange,提问作者Fatemeh
相关产品推荐
相关产品推荐

