レポートスタイルのクエリーを実行して、選択したデータベース・メンバーの情報をリストします。
構文
ESS_FUNC_M EssQueryDatabaseMembers (
hCtx, mbrQuery
);
パラメータ | データ型 | 説明 |
---|---|---|
hCtx |
ESS_HCTX_T |
APIコンテキスト・ハンドル。 |
mbrQuery |
ESS_STR_T |
メンバー・クエリー文字列。クエリー文字列は、レポート指定に類似のコマンドです。有効なクエリー文字列は、注意を参照してください。 |
備考
NULL文字列が戻されるまでEssGetStringを呼び出して、このクエリーから戻されたメンバー情報を読み取る必要があります。
この関数では、属性メンバー・ロング名がサポートされます。
レポート指定の詳細は、『Oracle Essbaseテクニカル・リファレンス』を参照してください。
この関数は、ブール値bSpanRelPartがEssSetSpanRelationalPartitionによって設定されている場合に、リレーショナル・パーティションとして保管されているメンバーについての情報を戻すことができます。この関数は、メンバー名、別名(リレーショナル・メンバーのメンバー名と同じ)および次元/世代番号に基づいた、メンバーのソートをサポートします。他のオプションについては、リレーショナル・メンバーは同一に扱われ、メンバーのリストの最下位に表示されます。
メンバー選択文字列にはリレーショナル・ストアでサポートされないものもあります。この関数は、次のメンバー選択文字列についてのリレーショナル情報を戻すことができます:
ALLINSAMEDIM
DIMTOP
CHILDRENOF
DESCENDANTSOF
PARENTOF
ANCESTORSOF
ALLSIBILINGSOF
メンバー・クエリー文字列は、選択文字列、オプションのソート・コマンドおよび後続のオプション出力コマンドから構成されます。次の形式を使用します:
mbrQuery ==: <selectionstring> [<sortcommand> [<outputcommand>] ]
メンバー<selectionstring>に有効な値は次のとおりです:
<CHILDRENOF -- returns ICHILDRENOF <ALLINSAMEDIM <DIMTOP <OFSAMEGENERATION <ONSAMELEVELAS <ANCESTORSOF -- returns IANCESTORSOF <PARENTOF <DESCENDANTSOF -- returns IDESCENDANTSOF <ALLSIBLINGSOF <LSIBLINGOF
<sortcommand>に有効な値は次のとおりです:
<SORTASCENDING <SORTDESCENDING <SORTNONE <SORTMBRNAMES <SORTALTNAMES <SORTMBRNUMBERS <SORTDIMNUMBERS <SORTLEVELNUMBERS <SORTGENERATION
<outputcommand>の形式は次のとおりです:
<outputcommand> ==: Item [separator] | FORMAT {<item> <separator> }
メンバー情報に関する1アイテムのリストを取得するには、次の出力コマンドを使用します:
<outputcommand> ==: <MBRNAMES | <ALTNAMES | <MBRNUMBERS | <DIMNUMBERS | <LEVELNUMBERS | <GENERATIONS | <CALCSTRINGS | <UCALCS | <TABSEPARATED | <SPACESEPARATED | <COMMASEPARATED | <NEWLINESEPARATED | <ATTRIBUTES
メンバーの複数の情報アイテムのリストを取得するには、フォーマット指定句を使用します。リストしたいアイテム、順序、区切り文字を指定します。フォーマット指定句の構文は次のとおりです:
<FORMAT <item> [<separator>] {<item> [<separator>]}
<item>に有効な値は次のとおりです:
MBRNAMES ALTNAMES MBRNUMBERS DIMNUMBERS LEVELNUMBERS GENERATIONS CALCSTRINGS UCALCS ATTRIBUTES
ATTRIBUTESは、属性の数と、それに続く属性名のタブ区切りリストとしてリストされます。
<separator>に有効な値は次のとおりです:
TABSEPARATED SPACESEPARATED COMMASEPARATED NEWLINESEPARATED
区切り文字を指定しない場合のデフォルトはTABSEPARATEDです。
以下にスクリプト例を示します:
login "local" "user1" "password" "" "" select "attr" "attr" GetMembers "<NEWLINESEPARATED <FORMAT { MBRNAMES SPACESEPARATED ALTNAMES TABSEPARATED MBRNUMBERS SPACESEPARATED DIMNUMBERS TABSEPARATED LEVELNUMBERS SPACESEPARATED GENERATIONS TABSEPARATED CALCSTRINGS SPACESEPARATED UCALCS TABSEPARATED DIMTYPES SPACESEPARATED STATUSES TABSEPARATED ATTRIBUTES } <DESCENDANTS Product "
戻り値
なし。
アクセス
この関数を使用するには、呼出し元がデータベースに対して少なくとも読取りアクセス権(ESS_PRIV_READ)を持っていて、EssSetActiveを使用してそのデータベースをアクティブなデータベースとして選択している必要があります。
例
ESS_STS_T ESS_GetMembers (ESS_HCTX_T hCtx, ESS_HINST_T hInst ) { ESS_STS_T sts = ESS_STS_NOERR; ESS_STR_T mString = NULL; sts = EssQueryDatabaseMembers (hCtx, "<ALLINSAMEDIM Year"); if (!sts) sts = EssGetString (hCtx, &mString); while ((!sts) && (mString != NULL)) { printf ("%s\r\n", mString); EssFree (hInst, mString); sts = EssGetString (hCtx, &mString); } return(sts); }
関連トピック