入力アウトラインとヒント番号で示されたクエリーが戻されます。
ヒントには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);
}
}
}
関連トピック