PowerBI - 带条件的平均值和方差计算
PowerBI - Average and Variance Calculation with conditions
我正在尝试在 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
方差 =(平均值 - 总和(当前月份))/平均值
所以,因为前 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
Lets Say for Chair,
Sum of Current Month = 200 + 210 = 410
Average of Last 3 Months = (100 + 200 + 300 + 180 + 190 + 250 + 120 + 150 )/ 3 = 1490 / 3 = 497
Variance = (497 - 410) / 410 = 87 / 410 = 0.21
请分享您的想法。
我从表 1 开始(我向你的数据添加了几个月的数据):
我将它加载到 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)]
...得到这个:
希望对您有所帮助。
我正在尝试在 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
方差 =(平均值 - 总和(当前月份))/平均值
所以,因为前 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
Lets Say for Chair,
Sum of Current Month = 200 + 210 = 410
Average of Last 3 Months = (100 + 200 + 300 + 180 + 190 + 250 + 120 + 150 )/ 3 = 1490 / 3 = 497
Variance = (497 - 410) / 410 = 87 / 410 = 0.21
请分享您的想法。
我从表 1 开始(我向你的数据添加了几个月的数据):
我将它加载到 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)]
...得到这个:
希望对您有所帮助。