在DAX中进行分组并聚合

Niy*_*yas 0 dax powerbi

我是DAX查询的新手,试图创建与以下SQL查询等效的DAX查询。

SELECT Year, Company, SUM(Actual Sales) as Actual, SUM(Planned Sales) as Planned
FROM Sales
GROUP BY Year, Company
Run Code Online (Sandbox Code Playgroud)

我无法在DAX中的groupby之后汇总多个列。我该如何解决?

Joe*_*lyn 6

在Power BI中,实际上有几种方法可以进行这种聚合。这是三个不同的选项,彼此之间的结果略有不同。


选项1:查询编辑器

在查询编辑器窗口中,选择转换->分组依据...

通过...分组

...并按如下所示进行配置(确保单击“高级”选项)。

按配置分组

结果如下。注意-这将替换起始表。

按结果分组


选项2:措施

在常规窗口(不是选项1中使用的查询编辑器)中,单击“建模->新度量...”。

新措施

...使用以下公式创建两个度量。

Actual = SUM(Sales[Actual Sales])

Planned = SUM(Sales[Planned Sales])
Run Code Online (Sandbox Code Playgroud)

一旦创建了这些度量,就可以创建具有所需标题和值的视觉对象(在这种情况下为矩阵)。

测量矩阵


选项3:

与选项2相似,单击Modeling-> New Column ...

新栏

...使用以下公式创建两列。

Actual = CALCULATE(
    SUM(Sales[Actual Sales]),
    FILTER(
        Sales,
        Sales[Year] = EARLIER(Sales[Year]) &&
        Sales[Company] = EARLIER(Sales[Company])
    )
)

Planned = CALCULATE(
    SUM(Sales[Planned Sales]),
    FILTER(
        Sales,
        Sales[Year] = EARLIER(Sales[Year]) &&
        Sales[Company] = EARLIER(Sales[Company])
    )
)
Run Code Online (Sandbox Code Playgroud)

现在,聚合位于可用于报告视觉效果的列中。

列结果