4 クエリの作成
4.3 BEx クエリに基づくクエリの作成
4.3.3 BEx クエリでの Web Intelligence クエリの作成
次の節では、BEx クエリデータソースをベースにした Web Intelligence クエリを作成する方法について説明します。
4.3.3.1 階層クエリの定義
階層クエリには、少なくとも 1 つの階層オブジェクトが含まれます。階層データをサポートするユニバース、または SAP Info
Query に直接アクセスする BEx クエリで、階層クエリを作成するためのオプションがあります。階層データは、ユニバースによ
るデータの構築方法によって、リレーショナルデータベースまたは OLAP データベースから取得できます。
注記
リレーショナルデータソースの場合、厳密には階層ではなくナビゲーションパスです。
階層は、結果オブジェクトまたはフィルタオブジェクトのいずれかに含めることができます。階層クエリを作成する際、クエリパ ネルでは、階層データを操作するための追加機能を提供します。たとえば、結果オブジェクトとして階層を含める場合、結果に 表示する階層からメンバーを選択する機能があります。これらの階層機能は、クエリを非階層データで作成する場合には使 用できません。また、階層クエリパネルで使用可能になる適切な機能は、アクセスしている階層データのソースにも依存しま す。
階層クエリによって作成される結果セットでは、階層データ分析を実行することができます。クエリ内の各階層オブジェクトは、
レポート内に階層列を作成します。メンバーを展開して子メンバーを明らかにできます。たとえば、"地理" 階層で "アメリカ" メ ンバーを展開してアメリカの州を明らかにできます。
ブロック内のメジャーは、関連付けられているメンバーに従って集計されます。たとえば、"顧客"、"売上げ数量" および "店舗 コスト" メジャーを含む階層クエリでは、次のような結果セットになります。
顧客 ユニット数量 店舗コスト
すべての顧客 364,707 371,579
アメリカ 276,773 234,555
CA 45,506 67,999
OR 32,104 56,700
アルバニー 10,324 12,325 関連リンク
BEx クエリでの階層メンバー選択 [ページ 53]
BEx クエリでのコンテキストの使用 [ページ 79]
4.3.3.2 BEx クエリをベースにしたクエリの作成について
BEx クエリに接続すると、Web Intelligence によって BEx クエリメタデータが Web Intelligence クエリオブジェクトにマップさ れます。[クエリパネル] を使用して、クエリを作成するために適切なオブジェクトを選択します。フィルタおよびプロンプトはユ ニバースでのクエリ作成の場合と同じように追加できますが、一部の状況において制限があります。BEx クエリを使用する場 合の制限の節を参照してください。
関連リンク
BEx クエリを使用する場合の制限 [ページ 69]
特定の深さまでの階層メンバーの選択について [ページ 57]
BEx クエリでの階層メンバー選択 [ページ 53]
BEx クエリでのコンテキストの使用 [ページ 79]
4.3.3.3 BEx クエリに基づく新しいクエリを作成する
BEx クエリにアクセスするには、BEx クエリで [このクエリへの外部アクセスを許可] フラグが有効になっている必要がありま す。
1. 設計モードで、 新規作成 Bex をクリックして [BW BEx クエリの選択] ダイアログボックスを表示します。
2. ダイアログボックスの左のペインで、適切な BICS 接続を選択します。
3. 右のペインで BEx クエリを選択し、[OK] をクリックします。 BICS 接続がインフォキューブに基づいている場合、使用でき
る BEx クエリが複数ある場合があります。
[クエリパネル] が表示され、クエリ内のオブジェクトが階層、ディメンション、および属性として表示されます。使用する BEx クエリが表示されない場合、BEx Query Designer を使用して、クエリで [このクエリへの外部アクセスを許可] プロ パティのタグが設定されていることを確認します。
4. 使用可能なオブジェクトを使用して、クエリおよびクエリフィルタを作成します。
注記
デフォルト値がない必須変数を 1 つ以上含む BEx クエリに基づく Web Intelligence クエリを作成する場合、値のリス トを選択したりメンバーセレクタを使用したりしようとすると、エラーメッセージが表示されます。 [変数の設定] ダイアロ グを使用して、必須変数の値を設定します。
注記
BEx クエリで結果オブジェクトをフィルタリングすることはできません。
注記
SAP サーバ側の変数を含むように作成された SAP BEx クエリに接続した場合、[クエリパネル] で変数の値を変更で きます。変更するには、[変数の設定] ボタンをクリックし、使用可能な値の一覧から新しい変数を選択します。
4.3.3.4 BEx クエリでのスケール係数について
スケールされたキー数値からマップされたメジャーが BEx クエリに含まれる場合、結果レポートにそのメジャーのスケールの 係数が表示されます。キー数値に対するスケール係数が変更された場合、この変更がレポートに反映されるのは、レポートを 最新表示する際です。スケール係数は、レポート内のメジャー名および [クエリパネル] のメジャー属性の欄に表示されます。
4.3.3.5 BEx クエリでの階層ノード変数について
BEx クエリの階層ノードの特徴にプロンプトが存在する場合、これは階層ノード変数と呼ばれます。これが発生すると、その階 層に対するメンバー選択機能が無効化されます。階層ノード変数に関連するプロンプトは実行時に表示されます。
4.3.3.6 BEx クエリでの階層メンバー選択
[クエリパネル] の [メンバーセレクタ] を使用して、クエリの階層のメンバーを選択します。
注記
BEx クエリにデフォルト値のない必須の変数が含まれている場合、[メンバーセレクタ] を開く前に、[クエリパネル] で [変数
の設定] ペインを開き、[変数の設定] ペインにデフォルト値を入力する必要があります。
次の階層は、BEx クエリで動作するメンバー選択を示します。
世界
EMEA
ヨーロッパ 中東 アフリカ 北米
アジア太平洋
アジア 太平洋
オーストラリア フィリピン ニュージーランド 南アフリカ
ルール 例
所定のレベルの階層のメンバーを選択するとき。 階層内のすべての親メンバーが選択されます。ルートは常に 選択されます。特定のレベルを 1 つ選択することはできませ ん。
親メンバーがすでに選択されている場合、メンバーを選択解 除すると、その親のすべての子メンバーも選択解除されま す。
大西洋およびそのすべての子メンバーがすでに選択されて いる場合、オーストラリアを選択解除すると、フィリピンおよび ニュージーランドも選択解除されます。次の選択メンバーが 表示されます。
● ヨーロッパ
● 太平洋
子メンバーの一部がすでに選択されている場合、メンバーを 選択すると、すべての子メンバーが選択されます。
ヨーロッパが選択されている場合、EMEA を選択すると、中 東およびアフリカも選択されます。次の選択メンバーが表示 されます。
● EMEA
● EMEA の子
子孫メンバーがすでに選択されている場合、メンバーを選択 すると、メンバーのすべての子と、選択された子孫メンバー のすべての兄弟も選択されます。
オーストラリアがすでに選択されている場合、アジア太平洋 を選択すると、(アジア太平洋の子)、フィリピンおよびニュー
ルール 例
ジーランド (オーストラリアの兄弟) も選択されます。次の選 択メンバーが表示されます。
● アジア太平洋
● アジア太平洋の子
● 太平洋
● 太平洋の子 子孫メンバーがすでに選択されている場合、メンバーを選択
すると、メンバーのすべての子と、選択された子孫メンバー のすべての兄弟も選択されます。
オーストラリアがすでに選択されている場合、アジア太平洋 を選択すると、(アジア太平洋の子)、フィリピンおよびニュー ジーランド (オーストラリアの兄弟) も選択されます。次の選 択メンバーが表示されます。
● アジア太平洋
● アジア太平洋の子
● 太平洋
● 太平洋の子
関連リンク
BEx クエリを使用する場合の制限 [ページ 69]
特定の深さまでの階層メンバーの選択について [ページ 57]
BEx クエリでの階層メンバー選択 [ページ 53]
BEx クエリでのコンテキストの使用 [ページ 79]
4.3.3.6.1 関数を使用して階層メンバーを選択する
クエリパネルを起動し、階層オブジェクトを選択し、メンバーセレクタを起動しておきます。
1. 階層メンバーを表示するには [メンバー] をクリックします。
2. 関数を適用するメンバーを右クリックします メニューには、次のオプションが表示されます。
オプション 説明
Children メンバーのすべての子メンバーを選択されたメンバーのリ
ストに追加します。
.
選択されたメンバーの直下のメンバーは、その子です。
メンバーはリストに "選択されたメンバー" の子として表 示されます。
オプション 説明
注記
同じメンバーの子および子孫を含めることはできませ ん。[子] を選択する前に [子孫] をすでに選択している 場合、子孫はリストから削除され、子に置き換えられま す。
Descendants メンバーのすべての子孫メンバーを選択されたメンバーの
リストに追加します。
階層内で選択したメンバーの下位にあるすべてのメンバー は、その子孫です。
メンバーはリストに "選択されたメンバー" の子孫として 表示されます。
注記
同じメンバーの子および子孫を含めることはできませ ん。[子孫] を選択する前に [子] をすでに選択している 場合、子はリストから削除され、子孫に置き換えられま す。
Parent Parent 関数は BEx クエリでは使用できません。
Ancestors Ancestors 関数は BEx クエリでは使用できません。
Siblings Siblings 関数は BEx クエリでは使用できません。
指定したレベルまでの子孫 レベルを選択するためにレベル名のリストを使用します。
以下のレベルまでの子孫 選択項目に含めるレベルの数を選択します。
3. メンバーセレクタを閉じます。
選択されたメンバーが [結果オブジェクト] 枠にある階層オブジェクトの下に表示されます。クエリを実行する際、これらの メンバーのみがクエリ結果に含まれます。
注記
BEX クエリでは階層メンバーを除外できません。
関連リンク
階層メンバーを選択する [ページ 52]
4.3.3.6.2 BEx クエリで計算メンバーを使用する場合の注意事項
計算メンバーに関する特定の制限については、BEx クエリを使用する場合の制限のトピックを参照してください。