ビュー選択を支援するために、アウトラインにクエリー・ヒントを追加します。
ヒントには1からnまでの番号が付けられます。最初のクエリー・ヒントのヒント番号は1です。新しい各クエリー・ヒントがリストの終わりへ追加され、番号は1ずつ大きくなります。
構文
ESS_FUNC_M EssOtlAddQueryHint (
hOutline, numMembers, pMemberArray
);
| パラメータ | データ型 | 説明 |
|---|---|---|
hOutline |
ESS_HOUTLINE_T |
アウトラインのコンテキスト・ハンドル(入力)。 |
numMembers |
ESS_SHORT_T |
提供された配列のメンバーの数 - 通常は、アウトラインの実次元の数。(入力) |
pMemberArray |
ESS_PHMEMBER_T |
ヒント用のメンバーの配列。通常、配列には、実次元当たり1つのメンバーを持ち、NULLがヒントの一部でない次元に使用されます。この配列は割り当てる必要があります。 |
備考
競合が発生したときに、レベル使用制約がクエリー・ヒントより優先されます(SetAggLevelUsageを参照)。
ヒントには、動的メンバー、ラベルのみメンバー、または共有メンバーは含まれない場合があります。
アウトラインが変化すると、ヒントは無効になる場合があります。無効なヒントにより警告メッセージが発生します。
共通クエリーのプロファイルについてEssbaseに通知することにより、クエリー・ヒントは標準ビュー選択に影響を及ぼすことができます。
この関数は、リリース9.3以上の集約ストレージ・データベースにのみ適用可能です。
クエリー・ヒントは、MDXタプルとして書かれており、指定された各次元からのメンバーを1つのみ含みます。
クエリー・ヒントで使用される各メンバーは、代表的なメンバーと考えられます。Essbaseサーバーは、「このメンバーまたは類似した集約レベルのメンバー」として、代表的なメンバーを解釈します。たとえば、Sample Basicで(Qtr1, Sales, 100, East, Actual)のクエリー・ヒントを使用すれば、四半期ごとに、レベル1マーケットでのレベル1製品の実績利益率のメジャーが、クエリーの一般タイプになります。
ある指定した次元について、Essbaseサーバーは、代表的なメンバーの省略を、次元からのメンバーをクエリーで使用できると解釈します。たとえば、Sample Basicで(Sales, 100, East)のクエリー・ヒントを使用すると、省略されているYearおよびScenario次元に関係なく、レベル1マーケットでのレベル1製品の利益率のメジャーが、クエリーの一般タイプになります。ヒント(Sales, 100, East)は、(NULL, Sales, 100, East, NULL)と同一のものとして扱われます。
戻り値
成功の場合、0が戻されます。
例
ESS_STS_T sts = ESS_STS_NOERR;
ESS_HOUTLINE_T hOutline = ESS_NULL;
ESS_HMEMBER_T hMember1 = ESS_NULL;
ESS_HMEMBER_T hMember2 = ESS_NULL;
ESS_HMEMBER_T hMember3 = ESS_NULL;
ESS_HMEMBER_T hMember[3];
ESS_SHORT_T nmMembers = 3;
/* code to assign hOutline variable omitted */
/* code to assign hMember1 variable to member "Sales" omitted */
/* code to assign hMember2 variable to member "100" omitted */
/* code to assign hMember3 variable to member "East" omitted */
hMember[0] = hMember1;
hMember[1] = hMember2;
hMember[2] = hMember3;
if (hOutline)
{
sts = EssOtlAddQueryHint(hOutline, nmMembers, hMember);
if (sts)
printf("Error (%ld) adding QueryHint\n", sts);
}
else
{
if (!hOutline)
printf("Outline not provided\n");
}
関連トピック