Posted in

Excel 関数:CUBESET

CUBESET 関数は、Excel のキューブ関数の一つで、Power Pivot または OLAPキューブ に接続されたデータソースから、セット(=複数メンバーの集まり)を定義するための関数です。


✅ 概要

「条件を満たす項目の集まりを定義したい」ときに使います。
たとえば、「売上が多い上位5つの製品」や「すべての地域」などのメンバーのリスト
を返します。


📘 構文

CUBESET(connection, set_expression, , [sort_order], [sort_by])
引数説明
connectionデータモデルの接続名(例: "ThisWorkbookDataModel"
set_expressionMDX 形式のセット式(またはメンバーをカンマ区切りで並べた文字列)
caption(省略可)表示名(セル上に見せる名前)
sort_order(省略可)並び替えの方法(例:1 = 昇順、0 = 降順)
sort_by(省略可)並び替えの基準(たとえば [Measures].[Sales]

🔍 使用例

基本セット(全ての地域をセット化)

=CUBESET("ThisWorkbookDataModel", "[Geography].[Region].Children", "地域一覧")

上位5製品(売上順)

=CUBESET(
  "ThisWorkbookDataModel",
  "TopCount([Product].[Product Name].Children, 5, [Measures].[Sales])",
  "売上上位5製品"
)

並び替え付きセット(降順)

=CUBESET(
  "ThisWorkbookDataModel",
  "[Customer].[Customer Name].Children",
  "顧客一覧(売上順)",
  0,
  "[Measures].[Sales]"
)

💡 よくある用途

  • CUBERANKEDMEMBER と組み合わせて、「上位n項目を順番に表示」
  • CUBESETCOUNT でセットの個数を数える
  • CUBEVALUE と組み合わせて、セット内の各メンバーの値を個別に取得

⚠️ 注意点

  • セット式は MDX構文 なので、書き方に慣れが必要。
  • 接続先(Power Pivot または OLAP)がないと使えません。
  • セット内でフィルターや条件を指定する場合は FILTERTopCount, Order などの MDX関数を活用。

🔗 関連関数

関数名用途
CUBEMEMBERキューブ内の1つのメンバーを取得
CUBERANKEDMEMBERセットから順位付きで1項目取得
CUBEVALUE特定メンバーの値(数値など)を取得
CUBESETCOUNTセットのメンバー数を取得

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です