DAX:不同,然后聚合两次

我正在尝试使用DAX在Power BI中创建一种措施,以实现以下目标。

数据集有四列,名称,月份,国家和地区。我有重复项,因此首先我需要对所有四列进行重复数据删除,然后按月分组并汇总值。然后,我需要对月份进行平均以得出一个单一值。我将如何在DAX中实现这一目标?

lwj1314520 回答: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是表的名称。

本文链接:https://www.f2er.com/3060808.html

大家都在问