メンバー関連の関数
式でEssbaseメンバー関数を使用して、メンバー・リストと範囲の指定、メンバー・リストの生成、メンバー名の操作、およびディメンション間でのメンバーの組合せの操作を実行します。
この項では、メンバーを参照する式の作成について説明します。
メンバーのリストおよび範囲の指定
一部のEssbase計算関数を使用する場合は、複数のメンバー(mbrlist)を指定するか、メンバーの範囲を指定する必要があります。
たとえば、@ISMBR関数は、現在計算中のメンバーがリストまたは範囲で指定したメンバーと一致しているかどうかをテストできます。
次の表は、メンバーを指定するための構文をリストしています。
表18-8 メンバーのリストおよび範囲を指定するための構文
メンバーのリストまたは範囲 | 構文 |
---|---|
単一のメンバー |
メンバー名。 例:
|
メンバーのリスト |
カンマ区切り(,)のメンバー名のリスト。 例:
|
同じレベルにあるすべてのメンバーの範囲(2つの定義メンバーの間にあり、それらの定義メンバー自体も含む) |
コロン(:)で区切られた2つの定義メンバーの名前。例:
|
同じ世代にあるすべてのメンバーの範囲(2つの定義メンバーの間にあり、それらの定義メンバー自体も含む) |
2つのコロン(::)で区切られた2つの定義メンバーの名前。 例:
|
関数で生成されたメンバーのリストまたはメンバーの範囲 |
メンバー・リストのコンテンツと対応する関数のリストは「メンバー・リストの生成」を参照してください。 |
範囲とリストの組合せ |
カンマ(,)で区切られた各範囲、リストおよび関数。 例:
または
|
メンバー・リストまたはメンバーの範囲を必要とする関数で、メンバー・リストまたはメンバーの範囲を指定しなかった場合は、時間としてタグ付けされたディメンションのレベル0メンバーがEssbaseによって使用されます。時間としてタグ付けされたディメンションが存在しない場合は、Essbaseによってエラー・メッセージが表示されます。
メンバー・リストの生成
Essbaseメンバー・セット関数では、指定したメンバーまたはメンバー・リストに基づくメンバー・リストを生成できます。
表18-9 メンバー・セット関数のリスト
関数 | メンバー・リストのコンテンツ |
---|---|
指定したメンバーのすべての祖先(共有メンバーとして指定されたメンバーの祖先を含む)。この関数には、指定したメンバーは含まれません。 |
|
指定したメンバーのすべての祖先(共有メンバーとして指定されたメンバーの祖先を含む)。この関数には、指定したメンバーが含まれます。 |
|
指定した世代またはレベルにある指定したメンバーの祖先 |
|
指定したメンバーのすべての祖先(オプションで、指定した世代またはレベルまで)。指定したメンバーは含まれません |
|
指定したメンバーのすべての祖先(オプションで、指定した世代またはレベルまで)。指定したメンバーも含まれます |
|
指定したメンバー・リストのすべての祖先(オプションで、指定した世代またはレベルまで)。指定したメンバーは含まれません |
|
指定したメンバー・リストのすべての祖先(オプションで、指定した世代またはレベルまで)。指定したメンバーも含まれます |
|
指定した属性ディメンション・メンバーに関連付けられたすべての基本ディメンション・メンバー |
|
指定した条件を満たす属性に関連付けられたすべての基本メンバー |
|
名前の文字列値が、指定した2つの文字列トークンの間(2つのトークンを含む)に収まるすべてのメンバー |
|
指定したメンバーのすべての子(指定したメンバーは含まれない) |
|
指定したメンバーのすべての子(指定したメンバーを含む) |
|
指定したディメンションに対して計算中の現在のメンバー |
|
指定したメンバーのすべての子孫(オプションで、指定した世代またはレベルまで)。指定したメンバーおよび共有メンバーの子孫は含まれません |
|
指定したメンバーのすべての子孫(オプションで、指定した世代またはレベルまで)。指定したメンバーは含まれますが、共有メンバーの子孫は含まれません |
|
指定したメンバー・リストのすべての子孫(オプションで、指定した世代またはレベルまで)。指定したメンバーは含まれません |
|
指定したメンバー・リストのすべての子孫(オプションで、指定した世代またはレベルまで)。指定したメンバーも含まれます |
|
指定したメンバーのすべての子孫(オプションで、指定した世代またはレベルまで)。共有メンバーの子孫は含まれますが、指定したメンバーは含まれません |
|
指定したメンバーのすべての子孫(オプションで、指定した世代またはレベルまで)。指定したメンバーおよび共有メンバーの子孫も含まれます |
|
指定したトークン名と一致するメンバー名 |
|
指定したトークン名と一致しないメンバー名 |
|
メンバー・リスト内のメンバーごとにメンバー・セット関数を呼び出してメンバーの検索を拡張します |
|
指定したディメンション内の指定した世代のすべてのメンバー |
|
指定したディメンション内の指定したレベルのすべてのメンバー |
|
指定したパターンと一致するメンバー名。 |
|
複数のリスト引数を必要とする関数で処理される、メンバーの個々のリスト |
|
指定したワイルドカード選択に一致するすべてのメンバー |
|
比較条件と一致するメンバー名 |
|
指定したメンバーの親 |
|
文字列として指定された名前を持つメンバー |
|
別の関数で処理される2つのメンバー・リストをマージしたリスト |
|
指定されたディメンション内で計算される現在のメンバーの親 |
|
あるディメンションの指定されたメンバーと、別のディメンションの指定されたメンバー範囲が交差するメンバー・リスト |
|
一部のメンバーが削除されたメンバーのリスト |
|
指定したメンバーの上または下の指定した世代またはレベルにあるすべてのメンバー |
|
指定したメンバーのすべての共有メンバーを識別するメンバー・リスト |
|
指定したメンバーのすべての兄弟(指定したメンバーは含まれない) |
|
指定したメンバーのすべての兄弟(指定したメンバーを含む) |
|
データベース・アウトライン内で指定したメンバーに先行するすべての兄弟。指定したメンバーは含まれません |
|
データベース・アウトライン内で指定したメンバーに続くすべての兄弟。指定したメンバーは含まれません |
|
データベース・アウトライン内で指定したメンバーに先行するすべての兄弟。指定したメンバーも含まれます |
|
データベース・アウトライン内で指定したメンバーに続くすべての兄弟。指定したメンバーも含まれます |
|
メンバーから指定した距離にある兄弟 |
|
メンバーの次または右端の兄弟 |
|
メンバーの直前または左端の兄弟 |
|
Essbaseサーバー上に定義された共通のUDAを持つすべてのメンバー |
|
同じレベルにある2つの単一メンバーまたはディメンション間メンバーで指定されるメンバーの範囲(2つのメンバーを含む)を識別するメンバー・リスト |
メンバー名の操作
ブロック・ストレージ式および計算スクリプトでは、Essbaseメンバー名を文字列として操作できます。
次の表は、文字列操作関数をリストしています。
表18-10 文字列操作関数のリスト
関数 | 文字列の操作 |
---|---|
メンバー名や指定した文字列を別のメンバー名または文字列に追加して、文字列を作成します |
|
テンプレート名を文字列として戻します |
|
別の文字列から、またはメンバー名から部分文字列を戻します |
ディメンションをまたぐメンバーの組合せの操作
ディメンション間演算子を使用して、特定メンバーの組合せのデータ値を指し示します。ディメンション間演算子は、ハイフン(-)と大なり記号(>)を使用して作成します。ディメンション間演算子とメンバーの間にはスペースを入れないでください。
次の図はマルチディメンショナル・キューブを簡単に示したもので、JanはX軸の1番目の列、SalesはY軸の4番目で最上部の行、そしてActualはZ軸の1番目の行に存在します。この例では、Sales -> Jan -> Actualが単一データ値の交差です。
図18-2 単実データ値の指定

次の例では、各市場の各製品に様々な費用を割り当てることにより、ディメンション間演算子の使用方法を示します。すべての市場のすべての製品のMisc_Expensesが既知です。この式では、Product -> Marketの個々の組合せに、Misc_Expensesの合計値のパーセンテージが割り当てられます。割当ては、各市場の各製品のSalesの値に基づきます。
Misc_Expenses = Misc_Expenses -> Market -> Product *
(Sales / ( Sales -> Market -> Product));
Essbaseはデータベースを一巡して次の計算を実行します。
-
現在のメンバーの組合せのSales値が、すべての市場とすべての製品のSalesの合計値(Sales -> Market -> Product)で除算されます。
-
ステップ1で計算された値と、すべての市場とすべての製品のMisc_Expenses値(Misc_Expenses -> Market -> Product)とが乗算されます。
-
結果が現在のメンバーの組合せのMisc_Expensesに割り当てられます。
ディメンション間演算子を使用すると、パフォーマンスに重大な影響が及ぶ場合があります。最適化のガイドラインは、「メンバー式でのディメンション間演算子」を参照してください。