我正在尝试使用DAX在Power BI中创建一种措施,以实现以下目标。
数据集有四列,名称,月份,国家和地区。我有重复项,因此首先我需要对所有四列进行重复数据删除,然后按月分组并汇总值。然后,我需要对月份进行平均以得出一个单一值。我将如何在DAX中实现这一目标?
我正在尝试使用DAX在Power BI中创建一种措施,以实现以下目标。
数据集有四列,名称,月份,国家和地区。我有重复项,因此首先我需要对所有四列进行重复数据删除,然后按月分组并汇总值。然后,我需要对月份进行平均以得出一个单一值。我将如何在DAX中实现这一目标?
我知道了。 @OscarLar的回复非常接近,但嵌套的SUMMARIZE引起了问题,因为它无法聚合查询本身(https://www.sqlbi.com/articles/nested-grouping-using-groupby-vs-summarize/)中动态计算的值。
我保留了@OscarLar的内部摘要,并使用GROUPBY更改了外部摘要。这是有效的代码。
AVERAGEX(GROUPBY(SUMMARIZE(Data,Data[Name],Data[Month],Data[Country],Data[Value]),"Month_Value",sumx(CURRENTGROUP(),Data[Value])),[Month_Value])
由于您未提供示例数据或您已经尝试过的某些DAX代码,因此不确定我是否完全理解该问题。请下次再试。
我假设部分原因(由于某种原因)无法使用超级查询来完成,因此您必须使用DAX。然后,我认为这将满足您的描述。
创建一个名为Data_reduced
的临时数据表,其中已删除了重复的行。
Data_reduced =
SUMMARIZE(
'Data';
[Name];
[Month];
[Country];
[Value]
)
然后创建像这样的平均量度
AveragePerMonth =
AVERAGEX(
SUMMARIZE(
'Data_reduced';
'Data_reduced'[Month];
"Sum_month"; SUM('Data_reduced'[Value])
);
[Sum_month]
)
Data
是表的名称。