私は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を送信するので
その理由は、エンジンに戻ってくる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を使用しています
あなたの提案に感謝しますが、ダイナミックセットソリューションは、私が質問で言及したようにパフォーマンスを実際に殺しています。 – BICube
@Ala、悲しいことだが真実。 SSAS 2016をまだ試していない、2014年には他の方法ではなく、サブキューブを検出するための動的セットがある。 – Ferdipux