次のクエリがあります(Microsoft®SQLServer®2008MDXステップバイステップブックで提供されるサンプルデータに基づく):
WITH
SET important_months AS
{
([Product].[Product Categories].[Subcategory].&[28].CHILDREN , {[Date].[Month of Year].&[1], [Date].[Month of Year].&[2]}),
([Product].[Product Categories].[Product].&[477] , {[Date].[Month of Year].&[3]})
}
SELECT [Measures].[Order Count] ON COLUMNS,
important_months ON ROWS
FROM [Step-by-Step]
クエリは、特定の月に特定のサブカテゴリで製品に発注された注文の数を示します。カテゴリ28のすべての製品について、1月または2月(1か月目または2か月目)の注文数が必要です。例外は、製品447での注文です。この場合、3月に行われた注文の数を追加で含める必要があります。
ただし、最終的には、月に関する詳細にはあまり興味がありません。必要なのは、特定の製品に対する単純な注文数です(つまり、注文が行われた月に関する情報を緩めたり非表示にしたりしたい)。 。
だから代わりに
- マウンテンボトルケージ、176年1月
- マウンテンボトルケージ、183年2月
- ロードボトルケージ、141年1月
- ロードボトルケージ、152年2月
- ウォーターボトル-30oz、381年1月
- ウォーターボトル-30oz、403年2月
- ウォーターボトル-30oz、3月、414
私は持っている必要があります:
- マウンテンボトルケージ、359(176 + 183)
- ロードボトルケージ、293(141 + 152)
- ウォーターボトル-30oz。、1198(381 + 403 + 414)
important_monthsセットをwhere句に入れてみましたが、(カスタムセットによる循環参照エラーを除いて)行軸にカテゴリを投影できませんでした(そうしますか?)。また、サブクエリを使用することを考えましたが、そこに設定されているimportant_monthsも参照できないようです。
言い換えれば、SQLで発行することで得られる結果を得る必要があります
SELECT SUM([Order Count])
FROM <MDX RESULT HERE>
GROUP BY Product
できますか?