2017-03-31 7 views
0

私はLYQTDとLYYTDの尺度を作成しています現在の選択された日付に基づいて前の年のデータを表示するためのmdxクエリは、これらのmdxをきれいにフィルタリングしますが、私は前年を集計できません日付と最終四半期のデータを表示します。 例: - LYQTDとLYYTDのデータをフィルタリングしたい私はLYQTDとLYYTDのデータを合計することができません

これらは異なるヶ月のためのいくつかの売上サンプルデータです:

Jan 1000 
Feb 5000 
Mar 1000 Quarter1 
apr 2000 
May 4000 
Jun 6000 Quarter2 
Jly 8000 
Aug 6000 
Sep 4500 Quarter3 
Oct 6500 
Nov 9000 
Dec 2000 Quarter4 

は、今私は私が例えば選択したフィルタ に基づいてこれらのデータを集計したい今、月の月

LYQTD LYYTD 
1000 1000 

を選択私は2月を選択しています。測定値は以前の選択フィルタと集計されます

LYQTD LYYTD 
6000 6000 
今私はQuarter2月を選択しています

はデータが私を助けてください任意の解決策がある場合は下記のように私は、クエリを適用

LYQTD LYYTD 
2000 8000 

としてショーになりますAPR。

CREATE MEMBER CURRENTCUBE.[Measures].ActualsLYQTD 
AS 
AGGREGATE(PARALLELPERIOD([Time].[Time].[Quarter],4,[Time].[Time].CURRENTMEMBER), 
[Measures].[Revenue and Expenses]), 
VISIBLE = 1 , ASSOCIATED_MEASURE_GROUP = 'Actuals' ; 


CREATE MEMBER CURRENTCUBE.[Measures].ActualsLYYTD 
AS 
AGGREGATE(PARALLELPERIOD([Time].[Time].[Year],1,[Time].[Time].CURRENTMEMBER), 
[Measures].[Revenue and Expenses]), 
VISIBLE = 1 , ASSOCIATED_MEASURE_GROUP = 'Ac``tuals' ; 
+0

私には何が間違っているのかはっきりしていませんが、より視覚的な表現をしてください。 –

+0

こんにちは私は前の年のYTDと同じ日付まで、YTDと同じ日までの結果をreturingしています。例えば、私のテーブルのレコードが1-Jan-2016から2015年9月まで存在すれば、今年はYTDが9-5月-2016(これは正常に機能しています)、前年度もYTDは2015年1月1日から2015年9月まで1年または1ヶ月間ではなく、LYQTDとLYYTDのmdxを計算する必要があります。 –

+0

パラレルペアレントを持つ同じメンバーを取得するには、ParallelPeriod()関数を使用する必要があります。 –

答えて

0

あなたは年前と同じメンバーを取得するためにPARALLELPERIOD()を使用する必要があり、PeriodToDate()は、現在のメンバーまで、今年の初めからセットを取得するには、集計()へ[Measures]。[Revenue and Expenses]を集合に対して集計します。

Aggregate(
    PeriodToDate(
     [Time].[Time].[Year], 
     ParallelPeriod(
      [Time].[Time].[Year], 
      1, 
      [Time].[Time].CurrentMember 
     ), 
    ), 
    [Measures].[Revenue and Expenses] 
) 
+0

あなたの存在をありがとう、本当に役に立ちました。 –

+0

あなたの問題が解決したことを他の人に知らせるために、それを確認してください。 –

関連する問題