Power BI DAX - 使用每月总计而不是总计
Power BI DAX - using monthly totals instead of grand totals
我在进行以下计算时遇到问题:
“Kunden Anzahl”是指不同计数的客户数量,%SG 是百分比。问题是 Power BI 计算百分比时采用的是总计 21.801,而不是每个月的相应总数(12/2020 为 19.337,12/2021 为 21.391)。这导致除 01/2022 以外的总百分比小于 100%。
所以它应该做的是将每个客户数除以相应月份的总数 - 例如 6.326 / 19.337 = 32.7%
我试过按月对分母进行分组并使用 REMOVEFILTERS 忽略类别,但这只会复制第一列。
非常感谢任何帮助!
评论参考:
数据模型如下所示 - JJJJMM 连接到日期 table:
假设您的数据如下所示
CustomerID
Category
Month
14
A
01 January 2021
21
A
01 January 2021
29
B
01 January 2021
39
B
01 January 2021
6
B
01 January 2021
18
C
01 January 2021
34
A
01 February 2021
29
A
01 February 2021
4
A
01 February 2021
17
B
01 February 2021
24
B
01 February 2021
39
B
01 February 2021
11
B
01 February 2021
1
B
01 February 2021
42
A
01 March 2021
46
A
01 March 2021
2
A
01 March 2021
30
B
01 March 2021
DAX 计算
CountDistinct (%) =
VAR CurrentValue =
DISTINCTCOUNT ( 'Table'[CustomerID] )
VAR AllMonth =
CALCULATE (
DISTINCTCOUNT ( 'Table'[CustomerID] ),
ALL ( 'Table' ),
VALUES ( 'Table'[Month] )
)
RETURN
DIVIDE ( CurrentValue, AllMonth )
输出
参考
https://www.sqlbi.com/articles/using-allexcept-versus-all-and-values/
我在进行以下计算时遇到问题:
“Kunden Anzahl”是指不同计数的客户数量,%SG 是百分比。问题是 Power BI 计算百分比时采用的是总计 21.801,而不是每个月的相应总数(12/2020 为 19.337,12/2021 为 21.391)。这导致除 01/2022 以外的总百分比小于 100%。
所以它应该做的是将每个客户数除以相应月份的总数 - 例如 6.326 / 19.337 = 32.7%
我试过按月对分母进行分组并使用 REMOVEFILTERS 忽略类别,但这只会复制第一列。
非常感谢任何帮助!
评论参考:
数据模型如下所示 - JJJJMM 连接到日期 table:
假设您的数据如下所示
CustomerID | Category | Month |
---|---|---|
14 | A | 01 January 2021 |
21 | A | 01 January 2021 |
29 | B | 01 January 2021 |
39 | B | 01 January 2021 |
6 | B | 01 January 2021 |
18 | C | 01 January 2021 |
34 | A | 01 February 2021 |
29 | A | 01 February 2021 |
4 | A | 01 February 2021 |
17 | B | 01 February 2021 |
24 | B | 01 February 2021 |
39 | B | 01 February 2021 |
11 | B | 01 February 2021 |
1 | B | 01 February 2021 |
42 | A | 01 March 2021 |
46 | A | 01 March 2021 |
2 | A | 01 March 2021 |
30 | B | 01 March 2021 |
DAX 计算
CountDistinct (%) =
VAR CurrentValue =
DISTINCTCOUNT ( 'Table'[CustomerID] )
VAR AllMonth =
CALCULATE (
DISTINCTCOUNT ( 'Table'[CustomerID] ),
ALL ( 'Table' ),
VALUES ( 'Table'[Month] )
)
RETURN
DIVIDE ( CurrentValue, AllMonth )
输出
参考
https://www.sqlbi.com/articles/using-allexcept-versus-all-and-values/