特定のクエリ内で、MDX を定義できるツールを使用すると、AdventureWorks キューブの SSAS で実行される次の MDX のようなものを使用できます。
with set [Top 5 Sales] as
TopCount([Customer].[City].[City].members, 5, [Measures].[Internet Sales Amount])
set [Top 6-10 Sales] as
TopCount([Customer].[City].[City].members, 10, [Measures].[Internet Sales Amount]) - [Top 5 Sales]
set [Others Sales] as
[Customer].[City].[City].members - TopCount([Customer].[City].[City].members, 10, [Measures].[Internet Sales Amount])
member [Customer].[City].[Top 5] as
Aggregate([Top 5 Sales], Measures.CurrentMember)
member [Customer].[City].[Top 6-10] as
Aggregate([Top 6-10 Sales], Measures.CurrentMember)
member [Customer].[City].[Others] as
Aggregate([Others Sales], Measures.CurrentMember)
select { [Measures].[Internet Sales Amount], [Measures].[Internet Order Quantity] }
on columns,
non empty
{ [Customer].[City].[All Customers], [Customer].[City].[Top 5] }
+
[Top 5 Sales]
+
{ [Customer].[City].[Top 6-10] }
+
[Top 6-10 Sales]
+
{ [Customer].[City].[Others] }
+
Order([Others Sales], [Measures].[Internet Sales Amount], BDESC)
on rows
from [Adventure Works]
しかし、MDX を作成しなくても、すぐに使用できるこの機能を備えたツールを私は知りません。[Measures].[Internet Sales Amount]
さらに、これをキューブに一般的に実装することは困難です。これは、メジャーのコンテキストと、特定のクエリで作業する属性が必要なためです。[Customer].[City]
上記の MDX では、キューブを定義するときには使用できませんが、特定のクエリがある場合。