入力アウトラインとヒント番号で示されたクエリーが戻されます。
ヒントには1からnまでの番号が付けられます。最初のクエリー・ヒントのヒント番号は1です。新しい各クエリー・ヒントがリストの終わりへ追加され、番号は1ずつ大きくなります。
構文
ESS_FUNC_M EssOtlGetQueryHint (
hOutline, hintNum, numMembers, pMemberArray
);
パラメータ | データ型 | 説明 |
---|---|---|
hOutline |
ESS_HOUTLINE_T |
アウトラインのコンテキスト・ハンドル(入力)。 |
hintNum |
ESS_SHORT_T |
クエリー・ヒント番号(入力)。 |
numMembers |
ESS_SHORT_T |
提供された配列が保持できるメンバー数 - 通常はアウトライン内の実際の次元数です(入力) |
pMemberArray |
ESS_PHMEMBER_T |
ヒントのメンバー配列。通常、配列には実際の次元ごとに1メンバーがあり、ヒントに含まれていない次元にはNULLが使用されます。この配列にはnumMembersのサイズを割り当てる必要があります。(出力) |
備考
共通クエリーのプロファイルについてEssbaseに通知することにより、クエリー・ヒントは標準ビュー選択に影響を及ぼすことができます。
この関数は、リリース9.3以上の集約ストレージ・データベースにのみ適用可能です。
戻り値
正常終了の場合は、0が戻されます。
例
ESS_STS_T sts = ESS_STS_NOERR; ESS_HOUTLINE_T hOutline = ESS_NULL; ESS_SHORT_T nmHints = 0; ESS_SHORT_T i, j, hintNum; ESS_HMEMBER_T hMember[10]; /* (nm real dimensions) < 10 */ /* clear array just to be safe */ memset(hMember, 0x00, 10*sizeof(ESS_HMEMBER_T)); /* Code to assign hOutline variable omitted */ sts = EssOtlGetNumQueryHints(hOutline, &nmHints); if (sts) return sts; /* error out */ for (i = 0; i < nmHints; i++) { hintNum = i+1; sts = EssOtlGetQueryHint(hOutline, hintNum, 10, hMember); if (sts) return sts; /* error out */ for (j = 0; j < 10; j++) { if (hMember[j] != AD_NULL) { sts = EssOtlGetMemberInfo(hOutline, hMember[j], &pMemberInfo); if (sts) return sts; /* error out */ printf("Hint (%d), member (%d): [%s]\n", hintNum, j, pMemberInfo->szMember); /* Code to free pMemberInfo omitted */ } else { printf("Hint (%d), member (%d): [NULL]\n", hintNum, j); } } }
関連トピック