我正在尝试计算PowerBI中的方差和平均值。我遇到了循环依赖错误。
这是我的数据,
Month Year Item Count
1 2017 Chair 100
1 2017 Chair 200
1 2017 Chair 300
1 2017 Bench 110
1 2017 Bench 140
1 2017 Bench 150
2 2017 Chair 180
2 2017 Chair 190
2 2017 Chair 250
2 2017 Bench 270
2 2017 Bench 370
3 2017 Chair 120
3 2017 Chair 150
3 2017 Bench 180
3 2017 Bench 190
4 2017 Chair 200
4 2017 Chair 210
4 2017 Bench 220
4 2017 Bench 230
.
.
.
平均值=前3个月/ 3的计数总和
方差=(平均 - 总和(CurrentMonth))/平均值
所以,因为平均值在前3个月没有意义,所以我不会为此担心。
预期产出,
Month Year Item Sum(CurrentMonth) Average Variance
1
1
2
2
3
3
4 2017 Chair 410 497 0.21
4 2017 Bench x y z
让我们为主席说,
当月总和= 200 + 210 = 410
过去3个月的平均值=(100 + 200 + 300 + 180 + 190 + 250 + 120 + 150)/ 3 = 1490/3 = 497
方差=(497-410)/ 410 = 87/410 = 0.21
请分享您的想法。
答案 0 :(得分:1)
我开始使用Table1(我向你的数据添加了几个月):
我将它加载到Power BI并使用以下代码添加了一个名为“YearMonth”的列:YearMonth = Table1[Year]&FORMAT(Table1[Month],"00")
...来获取此信息:
然后我使用以下代码添加了另一个名为“Sum(CurrentMonth)”的列:Sum(CurrentMonth) = SUMX(FILTER(FILTER(Table1,Table1[Item]=EARLIER(Table1[Item])),VALUE(Table1[YearMonth])=VALUE(EARLIER(Table1[YearMonth]))),Table1[Count])
...来获取此信息:
然后我使用以下代码添加了另一个名为“Average”的列:Average = SUMX(FILTER(FILTER(FILTER(Table1,Table1[Item]=EARLIER(Table1[Item])),VALUE(Table1[YearMonth])<=VALUE(EARLIER(Table1[YearMonth]))-1),VALUE(Table1[YearMonth])>=VALUE(EARLIER(Table1[YearMonth]))-3),Table1[Count])/3
...来获取此信息:
最后,我使用以下代码添加了一个名为“Variance”的列:Variance = (Table1[Average]-Table1[Sum(CurrentMonth)])/Table1[Sum(CurrentMonth)]
...来获取此信息:
我希望这会对你有所帮助。