2017-10-05 62 views
0

我是新来的DAX查询,并试图创建一个DAX查询相当于下面的SQL查询。GroupBy和聚合在DAX

SELECT Year, Company, SUM(Actual Sales) as Actual, SUM(Planned Sales) as Planned 
FROM Sales 
GROUP BY Year, Company 

我无法在DAX中的groupby之后对多列进行聚合。我该如何解决这个问题?

回答

3

Power BI实际上有几种方法可以进行这种聚合。以下是三种不同的选项,其结果略有不同。


选项1:查询编辑器

在查询编辑器窗口中,选择Transform - >集团通过......

Group by

...并对其进行配置如图所示下面(确保点击高级选项)。

Group by config

这将导致以下。注 - 这取代了起始表。

Group by results


选项2:措施

在常规窗口(不是在选项1中使用的查询编辑器),点击建模 - >新举措......

New measure

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

Actual = SUM(Sales[Actual Sales]) 

Planned = SUM(Sales[Planned Sales]) 

一旦创建这些措施,视觉(一个在这种情况下基体)可以与所需的标题和值来创建。

Measure matrix


方案3:

类似于选项2,点击建模 - >新建列...

New columns

...到使用下面的公式创建两列。

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]) 
    ) 
) 

现在聚合是在可以使用报告视觉效果的列中。

Column results