Power BI:每月平均值

Power BI : Monthly averages

我知道在此之前已经提出并回答了类似的问题,但就我的生活而言,无法让任何人以我对 Power BI 的有限知识工作。

我有一个 table,其中包含 8 周的数据,其中大部分跨越 3 个月。我目前计算日平均值,即 "total" 除以 "total in"。但是我需要做的是根据日历月显示平均值。因此,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 月的所有日期。对于 10 月份,它将是 (11434 + 1541 + 918 + 8565) / (12372 + 1601 + 922 + 8589) * 100 = 95.63%。然后我会使用额外的列并将其绘制在 line/bar 图表上。

所以上面的数据会变成:

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 函数等,无法在没有任何帮助的情况下使它正常工作。因此,我们将不胜感激任何帮助和解释。

谢谢。

使用 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 InTotal 以及 returns 除法。

结果:

P.S。如果您有跨年同月的数据,您还需要将年份添加到过滤器中。

我看到您是从 DAX 角度提出问题,但这是一个非常简单的基于 Power Query 的答案。从 Power Query(Power BI 的查询编辑器)中的 table 开始:

Select Month 列,然后 Transform -> Group By,然后像这样设置对话框...

然后单击“确定”。

你会看到这个:

然后点击页面顶部的 按钮 AllData列展开嵌套的tables,设置对话框如下...

然后单击“确定”。

你会看到这个:

现在点击添加列 -> 自定义列,然后像这样设置对话框...

然后单击“确定”。

你会看到这个:

现在 select 前三列(月份、总计总计、总计总计),然后单击主页 -> 删除列。

你会看到这个:

您可以 double-click Month.1 列标题并根据需要重命名。