アウトラインをクエリーします。
構文
ESS_FUNC_M EssOtlQueryMembers (
hOutline, hMember, pPredicate, pMbrCounts, phMemberArray
);
パラメータ | データ型 | 説明 |
---|---|---|
hOutline |
ESS_HOUTLINE_T |
Essbaseアウトライン・ハンドル。これはEssOtlOpenOutlineQueryから戻されている必要があります。 |
hMember |
ESS_HMEMBER_T |
操作が実行されるメンバーのハンドル。この値がNULLである場合、その次元の論理親を表し、アウトラインの最上部であるとみなされます。 ハンドルが共有メンバーである場合、この関数は、基となる保管済メンバーで実行します。 次のオプションでは、この値は無視されます:
|
pPredicate |
ESS_PREDICATE_T |
クエリーを定義している構造体。この構造体のフィールドは、「注意」を参照してください。 |
pMbrCounts |
ESS_MBRCOUNTS_T |
カウントに関する情報を定義している構造体。次のフィールドが含まれます:
|
phMemberArray |
ESS_PPHMEMBER_T |
クエリーから戻されたメンバーのハンドルの配列。 |
備考
この呼出しは、操作対象のメンバーのハンドルを使用して、オプション値で指定された基準に適合するメンバーのハンドル配列を戻します。
戻されたphMembersのメンバー配列が必要ではなくなった場合、呼出し元は、EssOtlFreeMembersを呼び出す必要があります。
配列の各hMember要素は、EssOtlOpenOutlineQueryにリストされた呼出しでのみ使用できます。たとえば、戻されたメンバー・ハンドルは、EssOtlGetSiblingを呼び出すためには使用できません。
pPredicate構造体のフィールドは、次のように使用されます:
ulQuery- 実行するべき操作を定義する値。次のいずれかになります:
ESS_CHILDREN
ESS_DESCENDANTS
ESS_BOTTOMLEVEL
ESS_SIBLINGS
ESS_SAMELEVEL
ESS_SAMEGENERATION
ESS_PARENT
ESS_DIMENSION
ESS_NAMEDGENERATION
ESS_NAMEDLEVEL
ESS_SEARCH
ESS_WILDSEARCH
ESS_USERATTRIBUTE
ESS_ANCESTORS
ESS_DTSMEMBERS
ulOptions - 検索オプションを定義する値。有効な値:
ESS_COUNTONLY - メンバー・ハンドルは戻さずにpCounts構造体のpTotalCountフィールドに値を入れます
ESS_NOTOTALCOUNTS
ESS_INCLUDEHYBRIDANALYSIS
ESS_EXCLUDEHYBRIDANALYSIS
ESS_FORCECASESENSITIVE
ESS_FORCEIGNORECASE
QueryタイプがESS_SEARCHまたはESS_WILDSEARCHに設定されると、Optionではさらに3つの値が有効になります:
ESS_MEMBERSONLY
ESS_ALIASESONLY
ESS_MEMBERSANDALIASES
複数の値を指定するためには、ビットOR (|)を使用します。例:
ESS_FORCECASESENSITIVE | ESS_MEMBERSONLY
szDimension- クエリーの範囲を制限する次元。このフィールドは次のクエリー・オプションで使用され、それ以外では無視されます:
ESS_NAMEDGENERATION
ESS_NAMEDLEVEL
ESS_USERATTRIBUTE
ESS_SEARCH - 全次元を検索するには、NULLに設定します
ESS_WILDSEARCH - 全次元を検索するには、NULLに設定します
pszString1-
オプションによって決まる入力文字列。このフィールドは次のクエリー・オプションで使用され、それ以外では無視されます:
ESS_NAMEDGENERATION - 世代の名前
ESS_NAMEDLEVEL - レベルの名前
ESS_SEARCH - 検索する文字列。この文字列は完全一致として定義されています。
ESS_WILDSEARCH - 検索する文字列。この文字列は、末尾にオプションの'*'が付いた完全一致検索文字列として定義されます。'*'は1文字以上の任意の文字を意味します。
ESS_USERATTRIBUTE - ユーザー定義属性。
pszString2- オプションによって特定される入力文字列。このフィールドは次のクエリー・オプションで使用され、それ以外では無視されます:
ESS_USERATTRIBUTE - ユーザー定義属性。
ESS_SEARCH、ESS_WILDSEARCH - オプションで別名テーブルを検索するように設定されている場合、この文字列で検索対象の別名テーブルを指定します。NULLの場合、すべての別名テーブルが検索されます。
戻り値
関数が正常終了した場合、戻り値は0になります。
例
#include <essapi.h> #include <essotl.h> ESS_STS_T sts = ESS_STS_NOERR; ESS_HOUTLINE_T hOutline; ESS_OBJDEF_T Object; ESS_HMEMBER_T hMember = 0; ESS_PREDICATE_T Predicate; ESS_MBRCOUNTS_T Counts; ESS_PHMEMBER_T phMemberArray = ESS_NULL; ESS_ULONG_T i; ESS_ACCESS_T Access; ESS_STR_T AppName; ESS_STR_T DbName; AppName = "Sample"; DbName = "Basic"; sts = EssSetActive(hCtx, AppName, DbName, &Access); if ( sts == 0) { memset(&Object, '\0', sizeof(Object)); sts = EssOtlOpenOutlineQuery(hCtx, &Object, &hOutline); memset(&Predicate, '\0', sizeof(Predicate)); Predicate.ulQuery = ESS_CHILDREN; Predicate.pszDimension = "Year"; memset(&Counts, '\0', sizeof(Counts)); Counts.ulStart = 0; Counts.ulMaxCount = 10; if(!sts) { sts = EssOtlQueryMembers(hOutline, hMember, &Predicate, &Counts, &phMemberArray); if (!sts && Counts.ulReturnCount) { sts = EssOtlFreeMembers(hOutline, Counts.ulReturnCount, phMemberArray); } } }
関連トピック