アウトラインをクエリーします。
構文
ESS_FUNC_M EssOtlQueryMembersByName ( hOutline , pszMember , pPredicate , pMbrCounts , phMemberArray );
パラメータ | データ型 | 説明 |
---|---|---|
hOutline |
ESS_HOUTLINE_T |
アウトラインのコンテキスト・ハンドル。これはEssOtlOpenOutlineQuery()から戻されている必要があります。 |
pszMember |
ESS_STR_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
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_STR_T pszMember; 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; pszMember = "Qtr1"; 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 = EssOtlQueryMembersByName(hOutline, pszMember, &Predicate, &Counts, &phMemberArray); if (!sts && Counts.ulReturnCount) { sts = EssOtlFreeMembers(hOutline, Counts.ulReturnCount, phMemberArray); } } }
関連トピック