2つの異なるカウントメジャーを持つキューブがあるとしましょう。それらMeasure1
をとと呼びますMeasure2
。これらのメジャーの両方に共通のディメンションが含まれておりDimension1
、これは両方のメジャーによってカウントされます。
私がする必要があるのは、Dimension1
Measure1
Measure2
必要に応じて各メジャーで適切なフィルタリングを行った後、との両方に存在するメンバーの個別の数を返すことです。
Measure1
両方と個別にMDXクエリを定義し、Measure2
個別のカウントを取得できますが、両方のセットに存在するメンバーが二重にカウントされないように、結果を「オーバーラップ」できる必要があります。
注:実際のシナリオでは、3つ以上のメジャーが含まれ、すべてのMDXクエリが動的に作成されます(ユーザーは、どのメジャーとディメンション基準を含めるかを定義します)。
これはSSAS/MDXで実行できますか?そうでない場合、それができる別のマイクロソフトのツール/機能はありますか?システムの最小要件は、SQL Server 2008 R2StandardEditionです。
正直なところ、どこから始めればいいのかわかりません。グーグルはこのようなものを何も見つけませんでした(私は単一の測定を含むいくつかのバスケット分析のものを見ましたが、それを私のシナリオに適用するかどうか、またはどのように適用するかはわかりません)。私は決してSSAS/MDX/BIの専門家ではありません。
私が考えることができる2つの選択肢があります:
DRILLTHROUGH
個々のMDXクエリと(基本的に)結果を使用して使用しCOUNT DISTINCT
ます。- データウェアハウスのソースデータベースでT-SQLを使用します。(すべてのシナリオを効率的に説明するのは難しいかもしれません。)
ドリルスルーもできるようにする必要があるので、とにかくソリューション#1を実装する必要がありますが、カウントがはるかに頻繁に必要になるため、カウントだけを取得するためのより効率的な方法があると便利です。。