获取按列分区的值的 SUM 作为度量
Get the SUM of a value partitioned by a column as a measure
我有这样的数据:
date
serial
val
2021-08-17
A
1
2021-08-17
B
0
2021-08-18
A
0
2021-08-18
B
1
2021-08-19
A
1
2021-08-19
B
1
我想要的是:
date
serial
val
sum
2021-08-17
A
1
1
2021-08-17
B
0
0
2021-08-18
A
0
1
2021-08-18
B
1
1
2021-08-19
A
1
2
2021-08-19
B
1
2
我找到了一些使用计算列执行此操作的示例
https://community.powerbi.com/t5/Desktop/Sum-over-partition-by-order-by-in-DAX/td-p/215856
https://community.powerbi.com/t5/Desktop/Sum-over-partition-by/m-p/442516
,但据我所知,计算列不适用于切片器,因此我需要使用度量对其进行编码。
例如,如果我将时间切片器移动到 2021-08-18,结果应该是:
date
serial
val
sum
2021-08-18
A
0
0
2021-08-18
B
1
1
2021-08-19
A
1
1
2021-08-19
B
1
2
这是否可以通过动态测量以某种方式实现?
您可以通过以下措施实现这一目标
Dynamic Running Total =
CALCULATE(
SUM('Table 1'[val]),
FILTER(
ALLSELECTED('Table 1'[date]),
ISONORAFTER('Table 1'[date], MAX('Table 1'[date]), DESC)
)
)
我有这样的数据:
date | serial | val |
---|---|---|
2021-08-17 | A | 1 |
2021-08-17 | B | 0 |
2021-08-18 | A | 0 |
2021-08-18 | B | 1 |
2021-08-19 | A | 1 |
2021-08-19 | B | 1 |
我想要的是:
date | serial | val | sum |
---|---|---|---|
2021-08-17 | A | 1 | 1 |
2021-08-17 | B | 0 | 0 |
2021-08-18 | A | 0 | 1 |
2021-08-18 | B | 1 | 1 |
2021-08-19 | A | 1 | 2 |
2021-08-19 | B | 1 | 2 |
我找到了一些使用计算列执行此操作的示例
https://community.powerbi.com/t5/Desktop/Sum-over-partition-by-order-by-in-DAX/td-p/215856 https://community.powerbi.com/t5/Desktop/Sum-over-partition-by/m-p/442516
,但据我所知,计算列不适用于切片器,因此我需要使用度量对其进行编码。
例如,如果我将时间切片器移动到 2021-08-18,结果应该是:
date | serial | val | sum |
---|---|---|---|
2021-08-18 | A | 0 | 0 |
2021-08-18 | B | 1 | 1 |
2021-08-19 | A | 1 | 1 |
2021-08-19 | B | 1 | 2 |
这是否可以通过动态测量以某种方式实现?
您可以通过以下措施实现这一目标
Dynamic Running Total =
CALCULATE(
SUM('Table 1'[val]),
FILTER(
ALLSELECTED('Table 1'[date]),
ISONORAFTER('Table 1'[date], MAX('Table 1'[date]), DESC)
)
)