我知道在此之前已经提出并回答了类似的问题,但对于我的生活,无法让任何那些使用我对Power BI的有限知识的人。
我有一张表格,其中包含8周的数据,对于大多数部分而言,跨越3个月。我目前计算的是每日平均值,即“总数”除以“总数”。然而,我需要做的是显示基于日历月的平均值。因此,9月将与10月和11月的平均值存在差异。
以下是数据样本:
Date,Total In,Total Out,Daily Average,Total,Month
27 September 2017,10773,264,97.61,11037,September
28 September 2017,11198,382,96.70,11580,September
29 September 2017,17753,1122,94.06,18875,September
30 September 2017,9568,649,93.65,10217,September
28 October 2017,11434,938,92.42,12372,October
29 October 2017,1541,60,96.25,1601,October
30 October 2017,918,4,99.57,922,October
31 October 2017,8565,24,99.72,8589,October
01 November 2017,11452,635,94.75,12087,November
02 November 2017,7785,531,93.61,8316,November
因此,对于11月,我希望得到的数字为(11452 + 7785)/(12087 + 8316)* 100 = 94.29%。显然,这个数字将在11月的所有日期作为额外的列出现。十月份将是(11434 + 1541 + 918 + 8565)/(12372 + 1601 + 922 + 8589)* 100 = 95.63%。然后我会使用额外的列并将其绘制在线条/条形图上。
所以上面的数据会变成:
Date,Total In,Total Out,Daily Average,Total,Month,Monthly Average
27 September 2017,10773,264,97.61,11037,September,96.00
28 September 2017,11198,382,96.70,11580,September,96.00
29 September 2017,17753,1122,94.06,18875,September,96.00
30 September 2017,9568,649,93.65,10217,September,96.00
28 October 2017,11434,938,92.42,12372,October,95.63
29 October 2017,1541,60,96.25,1601,October,95.63
30 October 2017,918,4,99.57,922,October,95.63
31 October 2017,8565,24,99.72,8589,October,95.63
01 November 2017,11452,635,94.75,12087,November,94.29
02 November 2017,7785,531,93.61,8316,November,94.29
我无法理解SUMMARIZE函数等,以便在没有任何帮助的情况下使用它。所以任何帮助和解释都将不胜感激。
感谢。
答案 0 :(得分:1)
使用EARLIER函数创建DAX应该可以解决问题:
Month Average =
VAR sum_total_in =
CALCULATE(
SUM('table'[Total In]),
FILTER(
'table',
'table'[Month] = EARLIER('table'[Month])
)
)
VAR sum_total =
CALCULATE(
SUM('table'[Total]),
FILTER(
'table',
'table'[Month] = EARLIER('table'[Month])
)
)
RETURN sum_total_in / sum_total
所以基本上它会在同一个月内对Total In
和Total
进行求和并返回除法。
结果:
P.S。如果您有同月的多年数据,则您还需要将年份添加到过滤器中。
答案 1 :(得分:1)