2017-10-05 61 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