如何在按“站点”列求平均值后按“日期”列求和?

问题描述 投票:0回答:1

我有一个标准的暗淡日期表(由列组成:日期、月份、年份)和站点表。还有一张事实表如下:

日期 网站 价值
2024年1月1日 SITE-1 坑-A 12
2024年1月1日 SITE-1 PIT-B 10
2024年1月1日 SITE-1 PIT-C 02
2024年1月2日 SITE-1 坑-A 09
2024年1月2日 SITE-1 PIT-B 15
2024年1月2日 SITE-1 PIT-C 30
2024年2月1日 SITE-1 坑-A 04
2024年2月1日 SITE-1 PIT-B 03
2024年2月1日 SITE-1 PIT-C 08

我希望在PBI页面中创建一个表,如下所示:

网站 测量值
一月 SITE-1 26
二月 SITE-1 5

26和5的值来自:

  • 每个日期,我们都会对所有 PIT 进行平均,因此在 1 月 1 日,我们得到 AVERAGE(12,10,2)=8,而 1 月 2 日则是 18
  • 在上面进行平均之后,我们将返回每月值的平均结果相加,因此一月将是 SUM(8,18)=26
  • 二月以后也一样

问题是,如何构建返回该场景的 MEASURE? 任何帮助将不胜感激。

谢谢

powerbi sum dax average measure
1个回答
0
投票

首先创建每个日期的平均值:

Daily Average = AVERAGE('FactTable'[Value])

然后您需要聚合月份级别的每日平均值,换句话说:您需要使用 SUMMARIZE 创建一个汇总表,以按 FactTable 中的每个唯一日期进行分组,并计算该天的每日平均值。然后使用 SUMX,您将迭代此汇总表并对这些每日平均值进行求和。

Sum of Daily Averages = 
SUMX(
    SUMMARIZE(
        'FactTable',
        'DimDate'[Date], "DailyAvg", [Daily Average]
    ),
    [DailyAvg]
)

© www.soinside.com 2019 - 2024. All rights reserved.