CUBESET関数 – OLAPキューブからメンバーの集合(セット)を作成する関数
1. 使い方と活用例
CUBESET関数は、OLAPキューブ内で指定した条件に基づき、複数のメンバーからなるセットを定義します。
このセットは、他のCUBE関数(たとえばCUBERANKEDMEMBER関数やCUBESETCOUNT関数)と組み合わせて使用することで、ランキング表示や分析に活用できます。
2. 基本の書式
=CUBESET(connection, set_expression, , [sort_order], [sort_by])
3. 引数の説明
- connection – データソースへの接続名を文字列で指定します(例:”SalesCube”)。
- set_expression – MDX形式で定義するセットの式(例:”[製品].[カテゴリ].Children”)。
- caption(省略可能) – セルに表示するキャプション(ラベル)を文字列で指定します。
- sort_order(省略可能) – 並べ替え順を指定します。
- 0 – 並べ替えなし
- 1 – 昇順
- 2 – 降順
- sort_by(省略可能) – 並べ替え基準となるCUBEVALUE関数などの式やメンバーを指定します。
4. 使用シーン
- 売上や利益などに基づいて、特定のカテゴリや商品をランキング形式で分析したいとき
- 地域別、期間別などの条件に応じてメンバーの集合を柔軟に定義したいとき
5. 応用のポイント
CUBESET関数は、TopCount
やFilter
、Order
などのMDX関数と組み合わせて強力に活用できます。
たとえば、TopCount関数で上位の商品を定義し、CUBERANKEDMEMBER関数でその順位に応じたアイテムを表示するなどが可能です。
また、並べ替えやフィルターを行う場合は、sort_orderやsort_byの引数を活用することで動的な表示が実現できます。
6. 具体例とその解説
=CUBESET("SalesCube", "TopCount([製品].[商品名].Children, 5, ([Measures].[売上]) )", "売上上位5商品")
この式は、「SalesCube」キューブ内の「製品」次元にある「商品名」の下位メンバー(Children)のうち、売上が高い上位5つのメンバーをセットとして定義し、「売上上位5商品」という名前をセルに表示します。
このセットは、CUBERANKEDMEMBER関数などで順位ごとのメンバーを抽出する際に利用できます。
7. 関連関数の紹介
- CUBERANKEDMEMBER関数 – CUBESETで定義されたセットから、指定した順位のメンバーを返す関数
- CUBEVALUE関数 – キューブから値を取得する関数
- CUBEMEMBER関数 – キューブから特定のメンバーまたはタプルを取得する関数
- CUBESETCOUNT関数 – CUBESETで定義されたセットのメンバー数を返す関数
8. まとめ
CUBESET関数は、OLAPキューブ上の多次元データからメンバーの集合を定義するために使用される強力な関数です。
TopCountやOrderなどと組み合わせて使うことで、上位分析や条件に応じた集計が容易になります。
他のCUBE関数と連携させることで、動的かつ柔軟な分析レポートの作成が可能になります。
9. 対応バージョン
Excel 2007以降で使用可能です。
OLAPキューブに接続された環境(例:PowerPivotやSQL Server Analysis Services)が必要です。