CUBESET関数 – キューブ

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関数は、TopCountFilterOrderなどの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)が必要です。