如何解决DAX 从矩阵中的年份或季度中减去固定值
需要从 Chrysler 的 Matrix 视觉中的年度和季度聚合中减去设定值。数据为多年按月计算,需要对克莱斯勒仅进行固定调整,每个季度 5 次,每年 15 次,没有总数低于零。
预期结果:
日期 | 阿斯顿马丁 | 宝马 | 克莱斯勒 | 总计 |
---|---|---|---|---|
2020 | 0 | 27.36 | 26.22 | 53.58 |
Qtr1 | 0 | 0 | 7.99 | 7.99 |
Qtr2 | 0 | 17.34 | 9.15 | 26.49 |
Qtr3 | 0 | 10.02 | 0 | 10.02 |
第四季度 | 0 | 0 | 7.53 | 7.53 |
2021 | 10.05 | 51.51 | 7.32 | 68.88 |
Qtr1 | 0 | 18.45 | 0 | 18.45 |
Qtr2 | 0 | 13.77 | 0 | 13.77 |
Qtr3 | 10.05 | 4.44 | 12.51 | 27 |
第四季度 | 0 | 14.85 | 0 | 14.85 |
2022 | 18.14 | 53.52 | 4.08 | 75.74 |
Qtr1 | 18.14 | 17.64 | 0 | 35.78 |
Qtr2 | 0 | 21.77 | 0 | 21.77 |
Qtr3 | 0 | 7.44 | 3.73 | 11.17 |
第四季度 | 0 | 6.67 | 1.08 | 7.75 |
总计 | 28.19 | 132.39 | 37.62 | 198.2 |
数据:
id | 组 | 日期 | 价值 |
---|---|---|---|
3 | 克莱斯勒 | 7/30/2021 | 8.88 |
9 | 克莱斯勒 | 9/16/2021 | 3.16 |
18 | 宝马 | 5/26/2022 | 5.76 |
69 | 克莱斯勒 | 1/9/2020 | 6.14 |
75 | 宝马 | 3/20/2021 | 4.33 |
84 | 宝马 | 6/20/2020 | 8.97 |
104 | 宝马 | 10/22/2021 | 4.91 |
113 | 阿斯顿马丁 | 3/5/2022 | 5.61 |
119 | 克莱斯勒 | 10/22/2022 | 6.08 |
139 | 宝马 | 9/13/2020 | 8.33 |
140 | 克莱斯勒 | 8/11/2020 | 1.55 |
169 | 宝马 | 3/2/2021 | 6.97 |
206 | 宝马 | 5/13/2021 | 4.34 |
244 | 克莱斯勒 | 11/10/2020 | 8.45 |
247 | 克莱斯勒 | 12/18/2020 | 2.38 |
284 | 宝马 | 2/4/2022 | 0.73 |
289 | 宝马 | 10/26/2022 | 2.24 |
383 | 阿斯顿马丁 | 2/21/2022 | 7.61 |
400 | 克莱斯勒 | 2020/4/5 | 9.34 |
402 | 克莱斯勒 | 9/11/2022 | 1.63 |
403 | 宝马 | 2020/5/27 | 8.37 |
414 | 克莱斯勒 | 8/11/2021 | 4.93 |
441 | 宝马 | 2/21/2022 | 9.5 |
533 | 克莱斯勒 | 9/18/2022 | 7.1 |
538 | 宝马 | 1/28/2021 | 7.15 |
556 | 宝马 | 6/30/2022 | 4.61 |
586 | 宝马 | 5/2/2022 | 1.44 |
672 | 宝马 | 10/16/2022 | 2.21 |
734 | 宝马 | 2/15/2022 | 6.74 |
736 | 克莱斯勒 | 6/16/2020 | 4.81 |
740 | 宝马 | 12/5/2022 | 2.22 |
755 | 宝马 | 9/14/2021 | 4.44 |
766 | 宝马 | 4/14/2021 | 9.43 |
781 | 阿斯顿马丁 | 8/14/2021 | 6.46 |
784 | 克莱斯勒 | 12/30/2021 | 4.81 |
788 | 宝马 | 5/17/2022 | 4.4 |
815 | 阿斯顿马丁 | 8/29/2021 | 3.59 |
816 | 阿斯顿马丁 | 3/17/2022 | 4.92 |
831 | 宝马 | 3/24/2022 | 0.67 |
835 | 宝马 | 11/28/2021 | 9.94 |
844 | 克莱斯勒 | 8/17/2021 | 0.54 |
849 | 宝马 | 8/26/2022 | 7.43 |
861 | 宝马 | 2020/7/24 | 1.69 |
885 | 克莱斯勒 | 1/11/2022 | 4.27 |
911 | 宝马 | 7/1/2022 | 0.01 |
942 | 克莱斯勒 | 12/26/2020 | 1.7 |
946 | 宝马 | 6/9/2022 | 5.56 |
948 | 克莱斯勒 | 2020/3/13 | 6.85 |
解决方法
假设:您有一个带有 YearQuarter 列的日期表(不一定标记为日期表),一个带有每个组键的 Groups 表,以及表表中的 SumValue 等简单度量。
(Measure on Table table)
SumValue := SUM('Table'[Value])
(Measure on Table table)
CustomChrysler :=
VAR YearQuarterGroup =
CROSSJOIN(
VALUES( Dates[YearQuarter] ),VALUES( Groups[Group] )
)
VAR Result =
SUMX(
YearQuarterGroup,VAR SumVal = [SumValue]
VAR Amount = IF( Groups[Group] = "Chrysler",SumVal - 5,SumVal )
VAR AmountGreaterThanZero = IF( Amount < 0,Amount )
RETURN
AmountGreaterThanZero
)
RETURN Result
更新: 哪一个?
CustomChrysler2 :=
VAR YearQuarterGroup =
CROSSJOIN(
VALUES( Dates[YearQuarter] ),VALUES( Groups[Group] )
)
VAR YearGroup =
CROSSJOIN(
VALUES( Dates[Year] ),VALUES( Groups[Group] )
)
VAR ResulYearQuarter =
SUMX(
YearQuarterGroup,SumVal )
VAR AmountGreaterthanZero = IF( Amount >= 0,Amount) //BLANK
//VAR AmountGreaterThanZero = IF( Amount < 0,Amount ) //Zero
RETURN
AmountGreaterThanZero
)
VAR ResultYear =
SUMX(
YearGroup,SumVal - 15,Amount ) //Zero
RETURN
AmountGreaterThanZero
)
RETURN
SWITCH(
TRUE(),ISINSCOPE(Dates[Quarter]),ResulYearQuarter,ResultYear //ISINSCOPE(Dates[Year]) and Grand Total
)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。