レポートスタイルのクエリーを実行して、選択したデータベース・メンバーの情報をリストします。
構文
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
関連トピック