各軸に対してカスタマイズされたセットの合計を求める事は基本的に可能です。
3軸(通常軸x2, メジャー軸x1)になると、ちょっと面倒なので、2軸(通常軸x1, メジャー軸x1)にします。
(編集) 部署[ A ], [ B ]を見栄え上、範囲セットに変更しました。
WITH
--SET [部署セット] AS ' [<<dim>>].[<<hier>>].[部署].MEMBERS } '
SET [部署セット] AS ' { [<<dim>>].[<<hier>>].[部署].[ A ] : [ B ] } '
MEMBER [<<dim>>].[<<hier>>].[合計] AS ' SUM( [部署セット] )'
SELECT
{ GENERATE(
[部署セット],
{ [<<dim>>].[<<hier>>].CURRENTMEMBER.CHILDREN,
[<<dim>>].[<<hier>>].CURRENTMEMBER }
),
[<<dim>>].[<<hier>>].[合計]
}
on axis(0),
{
[Measures].[取引金額]
}
on axis(1)
FROM
[<<cube>>]
やっている事としては、指定部署(若しくは部署全体)の各メンバに対して、それ自身と子メンバを追加して、
最後にトータルをもう一度追加するという感じになると思います。
3軸(通常軸x2, メジャー軸x1)であれば、axis(1)が時間ディメンションで、WHERE句にメジャー
ディメンションの分析したいメンバを指定することになると思います。
但し、axis(0), axis(1)のどちらの軸が先に集計されるかで値が変わる場合は、MDX上で明示的に
メンバ計算順序を指定する必要があります。
最後に、MDXで有用な書籍をあげておきます。
翔泳社出版 Microsoft OLAPソリューション ISBN4-88135-938-X ¥5,800円
SQL Server7のころの書籍ですが、MDXについては未だに有用であると思います。
ただ、書籍自体が再販されてないのか、一部ではプレミア値段がついているので
懐と要相談、ということで。
(追記) 上記書籍は、日本語で解説されたMDXで、ということです。英語書籍であれば
2005に対して確か4~5冊程度は出版されていたと思います。