CUBERANKEDMEMBER 関数は、Excel の OLAP キューブ関数の一つで、Power Pivot や外部の多次元データソース(OLAP キューブ)を使っているときに、順位付きで特定のメンバーを取得したい場合に使用します。
🧠 関数の目的
「上位3位の製品は?」「売上が5番目の顧客は?」といった、ランキングに基づいてメンバーを取り出す用途に使います。
✅ 構文
CUBERANKEDMEMBER(connection, set_expression, rank, )
| 引数 | 説明 |
|---|---|
connection | 接続名(通常は "ThisWorkbookDataModel" など) |
set_expression | MDX のセット式または CUBESET 関数で定義されたセット |
rank | 取り出したい順位(1がトップ) |
| (省略可)セルに表示するカスタムの名前 |
📘 使用例
=CUBERANKEDMEMBER("ThisWorkbookDataModel", CUBESET("ThisWorkbookDataModel", "[Product].[Product Name].Members", "Top Products"), 1)
この式は、「Product Name」ディメンションの中で1位のメンバーを返します(CUBESETでセットを作り、1番目を取得)。
🎯 応用例:上位 5 件の売上商品をリスト表示
セル A1: =CUBESET("ThisWorkbookDataModel", "TopCount([Product].[Product Name].Children, 5, ([Measures].[Sales]))", "Top 5 Products")
セル A2: =CUBERANKEDMEMBER("ThisWorkbookDataModel", A1, 1)
セル A3: =CUBERANKEDMEMBER("ThisWorkbookDataModel", A1, 2)
セル A4: =CUBERANKEDMEMBER("ThisWorkbookDataModel", A1, 3)
⚠️ 注意点
rankがセット内の要素数を超えると#N/Aが返ります。CUBESETによってセットの並び順が決まるので、ORDERやTopCount関数などと組み合わせて順位付けをします。- 正しく動作するには、Power Pivot にデータモデルがある or OLAP サーバーに接続されている必要があります。