Anchor | ||||
---|---|---|---|---|
|
Table of Contents | ||
---|---|---|
|
...
追加 | 追加サブクエリーは、ひとつのクエリー結果を、カラム(列)を追加することで、別の結果に追加します。このサブクエリーを使用することで、ひとつのクエリー結果を、他の結果と比較することができます。 | |
結合 | 結合サブクエリーは、2つのクエリー結果を組み合せて、値が一致するカラム(列)からなるひとつの表を作成します。結合サブクエリーは、表が完全に標準化されていない場合、データウェアハウスのアプリケーションに有用です。 | |
マイナス | マイナスサブクエリーは、ひとつのクエリーの異なる2つのロウ(行)のうち、二番目のクエリーに表示されないロウ(行)のみ返します。 | |
交差 | 交差サブクエリーは、2つのクエリーから、両方に表示されるロウ(行)のみを返します。 |
追加サブクエリー
追加サブクエリーは、ひとつのクエリー結果を、新しいデータのカラム(列)として、他のクエリーに追加します。2つのクエリーは結合されるため、まったく同一のグループ(または、ディメンション(次元))を持つ必要があります。
追加サブクエリーを使用することで、ひとつのクエリー結果を、他の結果と比較することができます。例えば、本年度の収益と、昨年度の収益を比較するとします。データソースが両方の属性を持つカラム(列)を持たない限り、これは通常非常に難しい作業です。一般的にデータは、同じ表内の異なるロウ(行)に保存されます。追加サブクエリーでは、ひとつのクエリーが本年度の収益結果を呼び出し、別のクエリーが昨年度の収益結果を呼び出します。計算フィールドを使用して、同様の結果を比較することもできます。追加サブクエリーは、ひとつのクエリーの結果を別のクエリに新しいデータ列として結合します。Yellowfin 9.7以前では、サブクエリの結合には、マスタークエリーの同じディメンションコラムが必要でした。Yellowfin 9.7では、レポートでフィールドがコラムとして選択されているに関わらず、ビュー内にあるすべてのフィールドに基づいて、クエリーを結合する機能が導入されました。
追加サブクエリーを使用することで、ひとつのクエリー結果を、他の結果と比較することができます。例えば、本年度の収益と、昨年の同時期の収益を比較するとします。データソースが両方の属性を持つカラム(列)を持たない限り、これは通常非常に難しい作業です。一般的にデータは、同じ表内の異なるロウ(行)に保存されます。追加サブクエリーでは、ひとつのクエリーが本年度の収益結果を呼び出し、別のクエリーが昨年度の収益結果を呼び出します。計算フィールドを使用して、同様の結果を比較することもできます。
例
国別に年間収益を比較する。ある年の収益と別の年の収益を国別に比較する。
まず始めに、国別に、選択した期間の収益を返すクエリーを作成します。フィルターに、「Country」、「Sum Invoiced Amount」、「Year」フィールドを設定します。
「サブクエリー追加」をクリックし、「追加」を選択します。標準ビルダーと非常によく似た、クエリービルダーが開きます。フィールドの選択で、オリジナルのクエリーを複製する必要があり、これにより同一レベルの集約を行うことができます。
サブクエリーに使用する結合方法を指定します。結合項目で、更新をクリックすることで、利用可能な結合フィールドが表示されます。マスタークエリー上のフィールドと、サブクエリー上のフィールドをリンクします。サブクエリーに使用する結合方法を指定します。結合項目で、更新をクリックすることで、利用可能な結合フィールドが表示されます。または、ビューのフィールドのチェックボックスをチェックして、ビュー内のフィールドを選択します。注意:メトリック(数値)フィールドを含める必要はありません。
フィールドのリンクを作成したら、「+」アイコンをクリックして、一覧に結合を追加します。
マスタークエリーに戻ります。フィールド一覧に、追加された属性が表示されます。
注意:この属性は、サブクエリーにより事前に設定されており、フィールド一覧から削除することができません。
最後に、フィルターを設定します。フィルター設定画面に移動します。こちらの画面は、データページと非常によく似ており、フィルター属性のセットがタブとして表示されます。指定した期間に必要な各フィルターのフィルター値を設定します。
- レポートを実行すると、指定した各期間にひとつずつ、2つのカラム(列)が表示されます。必要に応じて、計算フィールドを作成することで、2つの値の違いを定義することもできます。これは、マスタークエリー内で、標準的な計算フィールドを作成することで実施することができます。
より詳細な情報は、追加サブクエリーのチュートリアルを参照してください。
...
Anchor |
---|
...
|
...
|
例
売上金額と費用金額を、別々のカラム(列)ではなく、別々のロウ(行)に表示する。
- 計算フィールドを使用して、表示名「Invoiced」のラベルを作成します。
国別の収益を返すクエリーを作成します。フィールドには、「Country」、「ラベル(Invoiced)」、「Sum Invoiced Amount」を使用します。
- 「サブクエリー追加」をクリックして、「結合」を選択します。結合サブクエリーでは、最初のクエリーにあるフィールドを、次のクエリーにあるフィールドと一致させなくてはいけません。計算フィールドを使用して、表示名「Cost」のラベルを作成し、レポートに追加します。
請求金額(invoiced amount)のメトリック(数値)ではなく、費用金額(cost of camp)のメトリック(数値)が追加されます。 - レポートを実行すると、請求金額と費用金額の両方のカラム(列)が表示されます。
より詳細な情報は、結合サブクエリーのチュートリアルを参照してください。
すべて結合
通常の結合サブクエリーでは、重複するレコードは返されないため、サブクエリー内のロウ(行)が、マスタークエリー内のロウ(行)と一致したとしても、表示されません。重複するレコードもすべて表示したい場合は、サブクエリーレベルで、これを指定しなくてはいけません。
交差サブクエリー
交差サブクエリーでは、2つのクエリーの結果から、両方の結果に含まれるロウ(行)のみ表示します。例えば、年1、および年2の両方に購入履歴のある顧客のみ表示したい場合は、交差サブクエリーが有効です。
例
年1、および年2の両方にサービス購入履歴のある顧客を表示する。
まず始めに、年2に属している顧客の一覧を返すクエリーを作成します。「Athlete ID」、「First Name」、「Last Name」、「Year」フィールドをフィルターに使用します。
注意: このクエリー内には、年1に購入履歴の無い顧客も含まれている可能性があります。
「サブクエリー追加」をクリックして、「交差」を選択します。標準的なクエリービルダーとは、若干異なる画面が表示されます。マスタークエリーからリンクするフィールドや、キーとなるフィールドを選択し、フィルターを適用するフィールドを定義します。今回の例では、「Athlete ID」フィールドを使用してリンクを作成し、年1でフィルターの設定をします。
最後に、フィルターを設定します。フィルター設定画面に移動します。こちらの画面は、データページと非常に似ており、フィルター属性のセットがタブとして表示されます。指定した期間に必要な各フィルターのフィルター値を設定します。
より詳細な情報は、交差サブクエリーのチュートリアルを参照してください。
マイナスサブクエリー
マイナスサブクエリーでは、ひとつのクエリーの異なる2つのロウ(行)のうち、二番目のクエリーに表示されないロウ(行)のみを返します。マイナスサブクエリーは、交差サブクエリーの反対のような位置づけで、交差サブクエリーのように共通の結果を表示するのではなく、それを削除します。
例
年1にサービス購入履歴のある顧客のうち、それ以前に購入履歴の無い顧客を表示する。
まず始めに、年1に属する顧客の一覧を返すクエリーを作成します。「Athlete ID」、「First Name」、「Last Name」、「Year」フィールドをフィルターに使用します。
「サブクエリー追加」をクリックして、「マイナス」を選択します。標準的なクエリービルダーとは、若干異なる画面が表示されます。マスタークエリーからリンクするフィールドや、キーとなるフィールドを選択し、フィルターを適用するフィールドを定義します。今回の例では、「Athlete ID」フィールドを使用してリンクを作成し、年1と異なる値をフィルターします。
最後に、フィルターを設定します。フィルター設定画面に移動します。こちらの画面は、データページと非常によく似ており、フィルター属性のセットがタブとして表示されます。指定した期間に必要な各フィルターのフィルター値を設定します。
今回は、マスタークエリーのフィルターを、「等しい(=)」指定した年、サブクエリーのフィルターを、「と異なる(≠)」指定した年、と設定します。
より詳細な情報は、マイナスサブクエリーのチュートリアルを参照してください。
高度なサブクエリー
高度なサブクエリーは、複数のビューや、場合によっては複数のデータソースからクエリーを作成することで、基本的なサブクエリーの機能を延長します。
例
こちらの例では、標準的な接続である「Ski Team」ビューを、異なるデータベースにインポートされたCSVと結合しています。
...
ビューフィールドでのリンク
Yellowfin 9.7では、ビュー内のフィールドに基づいてクエリーを結合することができます。下記は、追加サブクエリーに任意のフィールを選択する方法です。
- 新しいレポートを作成します。
- マウスを使って、左のパネルにあるデータをカラム、セクション、フィルターの各フィールドにドラッグします。
この例では、アスリートの地域(Athlete Region)、請求額( Invoiced Amount)、年(Year)をマスタークエリーとして選択しています。 - 左側のナビゲーションメニューnあるをクリックすると、サブクエリーのパネルが表示されます。
- 例えば、タイプで「追加」、スタイルで「基本」を選択し、「OK」ボタンをクリックします。
- 「ビューフィールドで統合」のチェックボックスにティックを入れます。
- マスタークエリーフィールドの検索フィールドをクリックします。
ドロップダウンリストが表示され、ビューの中で利用可能なすべてのフィールドが表示され、サブクエリーとマスタークエリーのフィールド(ここではAge at Camp)を統合することができます。 - ビューフィールドで結合のチェックボックスを外すと、マスタークエリーで利用可能なフィールドのドロップダウンリストがリセットされます。
Tip |
---|
ビューフィールドで結合は、基本追加サブクエリーと高度な追加サブクエリー両方をサポートしています。 |