2016-06-30 7 views
8

私はSSAS-2014キューブを持っています。特定のディメンションがエクセルのピボット・テーブルのいずれかの軸またはフィルタ・ペインで使用されている場合は、特定のメジャーをNULLに設定する必要があります。今、最も直感的なソリューションは、このディメンションのメンバーと連携しないようにこのメジャーをスコープすることです。その後、私は、キューブで、次のMDXを使用して、私は尺度は、会計期間のメンバーと協力したくない、と言う:特定の次元がExcelで使用されている場合、メジャー値をNULLに設定します

CREATE MEMBER CURRENTCUBE.[Measures].[Test Measure] AS 1; 

SCOPE([Measures].[Test Measure]); 
SCOPE(DESCENDANTS([DIM Accounting Period].[Accounting Period Hierarchy].[All],,AFTER)); 
THIS = NULL; 
END SCOPE; 
END SCOPE; 

これは私がピボットテーブルのフィルターで1年を選択した場合に動作するようです。 Excelは、この画像のように、私は、フィルタペインに2人のメンバーを選択した場合

SELECT NON EMPTY Hierarchize (
{ 
    DrilldownLevel (
    { [DIM Production Period].[Production Month].[All Dates] } 
    , 
    , 
    , INCLUDE_CALC_MEMBERS 
) 
} 
) ON COLUMNS 
FROM [CUBE - Opex Analysis] 
WHERE ([DIM Accounting Period].[Accounting Period Hierarchy].[Accounting Year].[2015], 
     [Measures].[Test Measure]) CELL PROPERTIES VALUE 
, FORMAT_STRING 
, LANGUAGE 
, BACK_COLOR 
, FORE_COLOR 
, FONT_FLAGS 

問題が発生したSSASエンジンに戻って、次のMDXを送信するので enter image description here

これは良いようだ enter image description here

その理由は、エンジンに戻ってくるMDXに関連しているようです。サブキューブ内の項目をカプセル化して、会計年度が選択されていないとエンジンが判断するようにします。これは、用途に優れMDXです:

SELECT NON EMPTY Hierarchize (
{ 
    DrilldownLevel (
    { [DIM Production Period].[Production Month].[All Dates] } 
    , 
    , 
    , INCLUDE_CALC_MEMBERS 
) 
} 
) ON COLUMNS 
FROM (
SELECT (
{ [DIM Accounting Period].[Accounting Period Hierarchy].[Accounting Year].[2015], 
    [DIM Accounting Period].[Accounting Period Hierarchy].[Accounting Year].[2016] }) ON COLUMNS 
FROM [CUBE - Opex Analysis] 
) 
WHERE ([Measures].[Test Measure]) CELL PROPERTIES VALUE 
, FORMAT_STRING 
, LANGUAGE 
, BACK_COLOR 
, FORE_COLOR 
, FONT_FLAGS 

私も使用している会計年を捕獲しようとしているが、私は同じ問題を抱えていた既存使用しようとしたこと、注意してください。誰でもこれを解決する方法を知っていますか?以前同様の問題がありましたが、私がここで使用したソリューションを実装することは、パフォーマンスの面で不利益ですSimilar Question 私はSSAS 2014とExcel 2013を使用しています

答えて

2

Hm、サブキューブのシナリオでは、参照される質問の記事に記載されているような次元。次に、スコープに別のサブスコープ([DIM Accounting Period]。[Accounting Period Hierarchy]。[All])を追加し、このスコープ内でDESCENDANTS([DIM Accounting Period].[Accounting Period Hierarchy].[All],,AFTER)をカウントします。それを動的セットのカウントと比較する。もし2つが一致すれば、subselectからsubcubeに入っていません。

+0

あなたの提案に感謝しますが、ダイナミックセットソリューションは、私が質問で言及したようにパフォーマンスを実際に殺しています。 – BICube

+0

@Ala、悲しいことだが真実。 SSAS 2016をまだ試していない、2014年には他の方法ではなく、サブキューブを検出するための動的セットがある。 – Ferdipux

関連する問題