ビュー選択を支援するために、アウトラインにクエリー・ヒントを追加します。
ヒントには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"); }
関連トピック