2016-12-03 64 views
0

我想要計算銷售額的MTD,YTD 我想問一下這兩個查詢是否給出了不同的結果。DAX時間智能功能

TotalMTD 1:= TOTALMTD(SUMX(銷售,銷售[量]),銷售[日期])

TotalMTD 2:= TOTALMTD(SUM(銷售[量]),日期[日期])

使用日期表作爲日期列作爲與分析對象的日期列的比較時,會有什麼不同?

回答

0
  • [TotalMTD 1]將對每個上下文執行累積總計。換句話說,它計算第一個上下文的SUMX(),然後將該總和與下一個上下文總和相加,並將該總和與下一個上下文進行總和,直到達到Sales [Date]當前評估的上下文爲止。 注意SUMX(銷售,銷售[金額])採用整個表Sales表評估每個上下文並執行計算,直到當前銷售日期。
  • [Total1MTD 2][TotalMTD 1]度量相反,計算每個上下文的總數,因爲SUM()針對每個上下文進行評估,因此在那裏不執行累計總數。

例如,考慮這個簡單的數據集,在這個例子中,上下文是類別:

Category Amount Month --> This can be any date of month 1 
    A  100  1 
    A  100  1 
    B   50  1   
    B   50  1   
    C   50  1   
    C   50  1 
    C   50  1 

你的措施應該產生:

Category TotalMTD 1 TotalMTD 2 
    A   200   200   
    B   300   100  TotalMTD1 ----> Sum A total to B total 
    C   450   150  TotalMTD1 ----> Sum A + B to C total 

而且請注意0​​,因爲這可能會導致兩種測量結果不同。您可以將表標記爲日期表列,該列會影響客戶端應用程序用於表示模型的過濾器和元數據。如果您標記您的日期表作爲日期表模型的它將使用在您使用Date[Date]列各項措施的ALL(Date),即你的措施將被隱含轉換爲:

TotalMTD 1 := TOTALMTD(SUMX(Sales,Sales[Amount]),Sales[Date],ALL(Date)) 

這顯然執行不同計算。

其他信息:

時間智能功能都應該與從日曆/日期表的日期欄可以使用。該專欄應該是一個連續的和安全的關鍵。

爲了使用時間智能功能,您需要在數據模型中包含日期表。日期表必須包含數據中包含的每年每一天包含一行的列。

REFERENCE 1
REFERENCE 2

讓我知道,如果這有助於。