2017-10-24 21 views
0

DAXで複数の四半期間の比較を試みました。DAXクエリ - EARLIER() - 前の四半期との比較

私たちの場合、ソースとしてフラットテーブルを備えたPower Pivotを使用します。 (ノースタースキーマ)ここで

は小さな一例です:

私たちのソースは次のようになります。ここでは

Current PivotTable

Data source

我々が今持っている何が期待通りの結果です:

Expected Result

私はEARLIER()とEARLIEST()関数で何かしようとしましたが、それは間違いです。 (MDX LAG()関数のように)。 私たちの具体的なケースでは、我々は明確な日付を持っていないと私は

SumValuePrevious:=CALCULATE 
 
(
 
    SUM(Data[Value]); 
 
    FILTER(ALL(Data[Quarter]); 
 
    SUMX 
 
    (
 
      FILTER(Data; EARLIEST(Data[Quarter]) = Data[Quarter]) 
 
      ; 
 
      [Value] 
 
    ) 
 
) 
 
)

PARALLELPERIODの機能を使用できるかどうかはわからない。しかし、私は同じ結果を得る:

New Result

私を助けるものはありますか?
は、あなたの助けのために非常に多くの
アルノー

答えて

1

をいただき、ありがとうございます日付と連携するための最良の方法は、日付テーブルを追加することです。 は、あなたは、日付のテーブルを追加するデフォルトの日付関数

Previous Quarter:= CALCULATE(SUM(myTable[myColumn]), PREVIOUSQUARTER('Date'[Date])) 

を使用することができます。

Date = 
ADDCOLUMNS (
CALENDAR (DATE(2000;1;1); DATE(2025;12;31)); 
"DateAsInteger"; FORMAT ([Date]; "YYYYMMDD"); 
"Year"; YEAR ([Date]); 
"Monthnumber"; FORMAT ([Date]; "MM"); 
"YearMonthnumber"; FORMAT ([Date]; "YYYY/MM"); 
"YearMonthShort"; FORMAT ([Date]; "YYYY/mmm"); 
"MonthNameShort"; FORMAT ([Date]; "mmm"); 
"MonthNameLong"; FORMAT ([Date]; "mmmm"); 
"DayOfWeekNumber"; WEEKDAY ([Date]); 
"DayOfWeek"; FORMAT ([Date]; "dddd"); 
"DayOfWeekShort"; FORMAT ([Date]; "ddd"); 
"Quarter"; "Q" & FORMAT ([Date]; "Q"); 
"YearQuarter"; FORMAT ([Date]; "YYYY") & "/Q" & FORMAT ([Date]; "Q") 
) 

マーク は、最初の日に、あなたのソースであなたのコラム四半期を交換した日付テーブルとしてあなたの日付テーブル四半期。 両方のテーブル間にリレーションシップを作成します。

+0

私に役立ちます、ありがとう:) –