CUBEMEMBER 関数は、OLAP キューブ や Power Pivot データモデルからメンバー(値の一部)を取得するための Excel のキューブ関数です。これは、ピボットテーブルと似たような使い方を数式ベースでできるようにする強力な関数です。
🔍 構文
CUBEMEMBER(connection, member_expression, )
📌 引数の説明
| 引数 | 説明 |
|---|---|
connection | キューブへの接続名。例: "ThisWorkbookDataModel"(Power Pivot のデータモデル)など。 |
member_expression | メンバーまたはタプル(複数次元の組み合わせ)を表す MDX 式(多次元式言語)。例: [Product].[Category].[Bikes] |
caption (省略可能) | セルに表示する名前(見た目上の名前)。指定しなければ、キューブから取得した表示名が使われます。 |
✅ 基本的な例
=CUBEMEMBER("ThisWorkbookDataModel", "[Product].[Category].[Bikes]")
この関数は、Power Pivot モデル内の「Product」ディメンションの「Category」階層の中から「Bikes」カテゴリのメンバーを返します。
🧩 応用例(タプル)
=CUBEMEMBER("ThisWorkbookDataModel", "([Date].[Calendar].[2025], [Product].[Category].[Bikes])")
このように 複数のメンバーを組み合わせた「タプル」 を指定することもできます。これは、2025年の「Bikes」カテゴリを指定している例です。
📎 CUBEVALUE と組み合わせる
CUBEMEMBER 関数で取得したメンバーを、CUBEVALUE 関数に使うのが典型的なパターンです。
=CUBEVALUE("ThisWorkbookDataModel",
CUBEMEMBER("ThisWorkbookDataModel", "[Date].[Calendar].[2025]"),
CUBEMEMBER("ThisWorkbookDataModel", "[Product].[Category].[Bikes]"))
これは、2025年の「Bikes」カテゴリの売上やメジャーを返すような式です(どのメジャーを使うかはモデル次第)。
🧠 補足
#N/Aエラーが出た場合は、指定したメンバーが見つからないか、接続が正しくない可能性があります。- モデルに日本語ラベルが使われている場合でも、内部名(英語のテーブル名など) を使う必要があります。
- モデルやピボットテーブルで名前を確認した上で、構文を合わせましょう。