レポートスタイルのクエリーを実行して、選択したデータベース・メンバーの情報をリストします。
構文
EsbQueryDatabaseMembers ( hCtx, mbrQuery ) ByVal hCtx As Long ByVal mbrQuery As String
パラメータ | 説明 |
---|---|
hCtx |
VB APIコンテキスト・ハンドル。 |
mbrQuery |
メンバー・クエリー文字列。クエリー文字列は、レポート指定に類似のコマンドです。レポート指定に関する詳細は、『Oracle Essbaseテクニカル・リファレンス』を参照してください。有効なクエリー文字列は下のノートにリストされています。文字列の長さは64KB未満である必要があります。 |
備考
空の文字列が戻されるまでEsbGetString()を呼び出して、このクエリーから戻されたメンバー情報を読み取る必要があります。
この関数では、属性メンバーロング名がサポートされます。
メンバー・クエリー文字列は、選択文字列、オプションのソート・コマンドおよび後続のオプション出力コマンドから構成されます。次の形式を使用します:
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 "
戻り値
なし。
アクセス
この関数を使用するには、呼出し元がデータベースに対してアクセス権を持っていて、EsbSetActive()を使用してこれをアクティブなデータベースとして選択している必要があります。
例
Declare Function EsbQueryDatabaseMembers Lib "ESBAPIN" (ByVal hCtx As Long, ByVal Query As String) As Long Sub ESB_QueryDatabaseMembers () Dim sts As Long Dim Query As String Const szMString = 256 Dim MString As String * szMString Query = "<ALLINSAMEDIM" '*********************** ' Query Database members '*********************** sts = EsbQueryDatabaseMembers (hCtx, Query) '********************** ' Print out all strings '********************** If sts = 0 Then sts = EsbGetString (hCtx, MString, szMString) Do While Mid$(MString, 1, 1) <> Chr$(0) Print MString sts = EsbGetString (hCtx, MString, szMString) Loop End If End Sub
関連トピック