4 クエリの作成
4.8 データベースのランク機能を使用したデータのランク付け
クエリ 結果
クエリ 1[MINUS]クエリ 2 アメリカ; イギリス; スペイン
クエリ 3 アメリカ; スペイン; フィンランド (クエリ 1[MINUS]クエリ 2)
INTERSECT クエリ 3
アメリカ; スペイン
注記
データベースが、実行する種類の複合クエリを直接サポートする場合、クエリによって生成されるスクリプトには直に結合 演算子が含まれます。この場合の優先順位は、データベースで定義された優先順位に基づいて決まります。詳細について は、データベース管理者に確認してください。
4.7.6.2 複合クエリの優先順位を設定する
1. 編成するクエリを [複合クエリ] パネルで作成します。
2. 1 組のクエリをネストするには、新しい複合クエリノードを作成するために [新しい複合クエリノードの追加] ボタンをクリッ
クしてから、1 つのクエリを、ネストしたペアに関連付けるクエリの上にドラッグアンドドロップします。
新しい複合クエリノードは、デフォルトでユニオン関係となります。
3. ネストされたグループに続けてクエリを追加するには、すでにグループに存在する任意の 2 つのクエリの間のスペースに クエリをドラッグアンドドロップします。
4. 既存の優先順位の高いグループ内にさらにネストしたグループを作成する場合は、上の 2 つの手順を繰り返します。
5. クエリ内のすべてのグループの結合演算子をクリックし、それらを必要に応じて変更します。
関連リンク
複合クエリを作成する [ページ 89]
● データを事前に順位付けしておくことにより、ネットワークのデータ転送量とドキュメントに格納されるデータの量が削減さ れます。
データベースの順位付け機能は、クエリから生成されるスクリプトを変更することで機能します。クエリで使用するデータベー スが順位付け機能に対応していない場合は、順位を作成するオプションをクエリパネルで使用することができません。
注記
データベースの順位付け機能に階層型オブジェクトを含めることはできません。
関連リンク
データの順位付け [ページ 236]
4.8.2 データベースのランク付けパラメータ
データベースのランク付けはクエリパネルの [クエリフィルタ] 枠にあります。次の表に、ランク付けのパラメータの説明を左か ら右に順に示します。
パラメータ 説明
順位付けの方向と種類 ● 上位 - 順位付けされたディメンションに含まれる最初の
"レコード数" の値を降順に順位付けします。
● 下位 - 順位付けされたディメンションに含まれる最初の
"レコード数" の値を昇順に順位付けします。
● 上位 % - 順位付けされたディメンションに含まれる最初
の "レコード数" 割合分の値を降順に順位付けします。
● 下位 % - 順位付けされたディメンションに含まれる最初
の "レコード数" 割合分の値を昇順に順位付けします。
レコード数/パーセンテージ 順位付けに返すレコード数 (上位 10 など) またはレコードの 割合 (下位 10% など)。
順位付けされたディメンション 順位付けに使用するディメンション。たとえば、ディメンション が[地域]で、順位が[上位 10 位]である場合、上位 10 位ま での地域を返します。
基準元 ディメンションの順位付けに使用するメジャー。たとえば、メジ
ャーが "売上げ" でディメンションが "地域" の場合、売上げ 別に地域が順位付けされます。
ランクの順序 (オプション) 順位付けのための追加の計算コンテキストを指定するディメ ンション。たとえば、順位付けするディメンションが "地域"、メ ジャーが "収益"、"ランクの順序" ディメンションが "国" の場 合、国ごとに地域が売上げ別に順位付けされます。
WHERE 条件 (オプション) 順位付けに返される値への追加の制限で、他のパラメータ
の下に表示されます。たとえば、地域の順位付けに対して
"国" を "USA" に限定する条件を加えると、アメリカ合衆国内 の地域だけが順位付けされます。
4.8.3 データベースのランクを作成する
1. クエリに表示するオブジェクトをクエリパネルの [結果オブジェクト] 枠に追加します。
2. [クエリフィルタ] 枠の上部にあるツールバーの [順位の追加] をクリックします。
ランク付けのアウトラインが[クエリフィルタ]枠に表示されます。
注記
使用しているデータベースに順位付け機能がない場合、[順位の追加] ボタンは使用できません。
3. 順位付けの方向と種類 (上位、上位 %、下位、または下位 %) を選択します。
4. 隣のボックスに、順位に返すレコード数 ([上位] または [下位] を選択した場合)、またはレコードの割合 ([上位 %] また は [下位 %] を選択した場合) を入力します。
数値の隣の矢印をクリックして、[プロンプト] を選択すると、定数の代わりにプロンプトを指定できます。プロンプトを選択 する場合は、クエリ実行時に順位を入力する必要があります。
5. 順位付けするディメンションを [基準元] ボックスの左にあるボックスにドラッグします。
6. 順位付けの基準元にするメジャーを [基準元] ボックスにドラッグします。
7. メジャーの計算コンテキストを指定するディメンションを [ランクの順序] ボックスにドラッグします。
このディメンションは省略できます。[ランクの順序] ボックスを表示するには、[基準元] メジャーの右側にある矢印をクリ ックします。
8. WHERE 制限に含めるディメンションを、ランクの一番下にある領域にドラッグします。
9. [クエリの実行]をクリックします。
関連リンク
定義済みのサブクエリ [ページ 118]
4.8.4 給与の多い従業員の上位 10 名を部署別に順位付けする
クエリパネルが開いていることを確認します。
1. "部署"、"従業員名"、および "給与" オブジェクトを、クエリパネルの [レポートオブジェクト] 枠にドラッグします。
2. [クエリフィルタ] 枠の上部にある [順位の追加] をクリックします。
[クエリフィルタ] 枠にデータベースランクの概要が追加されます。
3. 順位付けの方向/種類を [上位] に設定し、[上位] の横にあるボックスにレコード数を 10 と設定して、上位 10 名の従業 員を降順に順位付けします。
4. レコード数の右側にあるボックスに "従業員名" オブジェクトをドラッグして従業員を順位付けします。
5. [基準元] ボックスに "給与" オブジェクトをドラッグして、給与を基準にして従業員を順位付けします。
6. [ランクの順序] ボックスが表示されていない場合は [基準元] メジャーの横にある矢印をクリックして、[ランクの順序] ボ ックスを表示します。
7. [ランクの順序] ボックスに "部署" オブジェクトをドラッグアンドドロップして、給与を基準にして部署別に従業員を順位付
けします。
8. クエリを実行して順位を返します。