30日間の無料評価版をお試しいただけます。

概要

サブクエリ―を使用することで、より洗練されたレポートを作成することができます。例えば、今期の財政結果と、過去の財政結果を比較したい場合は、追加サブクエリ―を使用することができます。また、特定の年の新規顧客のみを特定したい場合は、マイナスサブクエリ―を使用することができます。両者の例において、Yellowfinは異なる2つのクエリ―を生成し、結果を組み合せてひとつの表として提供します。Yellowfinでは、以下の4つのサブクエリ―を作成することができます。

追加

追加サブクエリ―は、ひとつのクエリ―結果を、カラム(列)を追加することで、別の結果に追加します。このサブクエリ―を使用することで、ひとつのクエリ―結果を、他の結果と比較することができます。

結合

結合サブクエリ―は、2つのクエリ―結果を組み合せて、値が一致するカラム(列)からなるひとつの表を作成します。結合サブクエリ―は、表が完全に標準化されていない場合、データウェアハウスのアプリケーションに有用です。

マイナス

マイナスサブクエリ―は、ひとつのクエリ―の異なる2つのロウ(行)のうち、二番目のクエリ―に表示されないロウ(行)のみ返します。

交差

交差サブクエリ―は、2つのクエリ―から、両方に表示されるロウ(行)のみを返します。

追加サブクエリー

追加サブクエリ―は、ひとつのクエリ―結果を、新しいデータのカラム(列)として、他のクエリ―に追加します。2つのクエリ―は結合されるため、まったく同一のグループ(または、ディメンション(次元))を持つ必要があります。

追加サブクエリ―を使用することで、ひとつのクエリ―結果を、他の結果と比較することができます。例えば、本年度の収益と、昨年度の収益を比較するとします。データソースが両方の属性を持つカラム(列)を持たない限り、これは通常非常に難しい作業です。一般的にデータは、同じ表内の異なるロウ(行)に保存されます。追加サブクエリ―では、ひとつのクエリ―が本年度の収益結果を呼び出し、別のクエリ―が昨年度の収益結果を呼び出します。計算フィールドを使用して、同様の結果を比較することもできます。

国別に年間収益を比較する。

  1. まず始めに、国別に、選択した期間の収益を返すクエリ―を作成します。フィルターに、「Country」、「Sum Invoiced Amount」、「Year」フィールドを設定します。

  2. サブクエリ―追加」をクリックし、「追加」を選択します。標準ビルダーと非常によく似た、クエリ―ビルダーが開きます。フィールドの選択で、オリジナルのクエリ―を複製する必要があり、これにより同一レベルの集約を行うことができます。

  3. サブクエリ―に使用する結合方法を指定します。結合項目で、更新をクリックすることで、利用可能な結合フィールドが表示されます。マスタークエリ―上のフィールドと、サブクエリ―上のフィールドをリンクします。注意:メトリック(数値)フィールドを含める必要はありません。

  4. フィールドのリンクを作成したら、「+」アイコンをクリックして、一覧に結合を追加します。

  5. マスタークエリ―に戻ります。フィールド一覧に、追加された属性が表示されます。

    注意:この属性は、サブクエリ―により事前に設定されており、フィールド一覧から削除することができません。

  6. 最後に、フィルターを設定します。フィルター設定画面に移動します。こちらの画面は、データページと非常によく似ており、フィルター属性のセットがタブとして表示されます。指定した期間に必要な各フィルターのフィルター値を設定します。

  7. レポートを実行すると、指定した各期間にひとつずつ、2つのカラム(列)が表示されます。必要に応じて、計算フィールドを作成することで、2つの値の違いを定義することもできます。これは、マスタークエリ―内で、標準的な計算フィールドを作成することで実施することができます。

より詳細な情報は、追加サブクエリーのチュートリアルを参照してください。

結合サブクエリー

結合クエリ―は、2つのSQLクエリ―結果を、ロウ(行)がすべて一致する単一の表にします。2つのクエリ―は結合をするために、同一数のカラム(列)を持ち、変換可能なデータタイプでなくてはいけません。すべてを結合する、を選択しない限り、重複するレコードは自動的に削除されます。

 

結合クエリ―は、表が完全に標準化されていない、データウェアハウスのアプリケーションに使用すると有用です。例えば、製品コード別ではなく、個別の製品ごとに収益のカラム(列)を持つことができます。結合サブクエリ―では、以下のようにレポートの表示を変更することができます。

売上金額と費用金額を、別々のカラム(列)ではなく、別々のロウ(行)に表示する。

  1. 計算フィールドを使用して、表示名「Invoiced」のラベルを作成します。
  2. 国別の収益を返すクエリ―を作成します。フィールドには、「Country」、「ラベル(Invoiced」、「Sum Invoiced Amount」を使用します。

  3. サブクエリ―追加」をクリックして、「結合」を選択します。結合サブクエリ―では、最初のクエリ―にあるフィールドを、次のクエリ―にあるフィールドと一致させなくてはいけません。計算フィールドを使用して、表示名「Cost」のラベルを作成し、レポートに追加します。 
    請求金額(invoiced amount)のメトリック(数値)ではなく、費用金額(cost of camp)のメトリック(数値)が追加されます。
  4. レポートを実行すると、請求金額と費用金額の両方のカラム(列)が表示されます。

より詳細な情報は、結合サブクエリーのチュートリアルを参照してください。

すべて結合

通常の結合サブクエリ―では、重複するレコードは返されないため、サブクエリ―内のロウ(行)が、マスタークエリ―内のロウ(行)と一致したとしても、表示されません。重複するレコードもすべて表示したい場合は、サブクエリ―レベルで、これを指定しなくてはいけません。

交差サブクエリー

交差サブクエリ―では、2つのクエリ―の結果から、両方の結果に含まれるロウ(行)のみ表示します。例えば、年1、および年2の両方に購入履歴のある顧客のみ表示したい場合は、交差サブクエリ―が有効です。

年1、および年2の両方にサービス購入履歴のある顧客を表示する。

  1. まず始めに、年2に属している顧客の一覧を返すクエリ―を作成します。「Athlete ID」、「First Name」、「Last Name」、「Year」フィールドをフィルターに使用します。

    注意: このクエリ―内には、年1に購入履歴の無い顧客も含まれている可能性があります。

  2. サブクエリ―追加」をクリックして、「交差」を選択します。標準的なクエリ―ビルダーとは、若干異なる画面が表示されます。マスタークエリ―からリンクするフィールドや、キーとなるフィールドを選択し、フィルターを適用するフィールドを定義します。今回の例では、「Athlete ID」フィールドを使用してリンクを作成し、年1でフィルターの設定をします。

  3. 最後に、フィルターを設定します。フィルター設定画面に移動します。こちらの画面は、データページと非常に似ており、フィルター属性のセットがタブとして表示されます。指定した期間に必要な各フィルターのフィルター値を設定します。

より詳細な情報は、交差サブクエリーのチュートリアルを参照してください。

マイナスサブクエリー

マイナスサブクエリ―では、ひとつのクエリ―の異なる2つのロウ(行)のうち、二番目のクエリ―に表示されないロウ(行)のみを返します。マイナスサブクエリ―は、交差サブクエリ―の反対のような位置づけで、交差サブクエリ―のように共通の結果を表示するのではなく、それを削除します。

年1にサービス購入履歴のある顧客のうち、それ以前に購入履歴の無い顧客を表示する。

  1. まず始めに、年1に属する顧客の一覧を返すクエリ―を作成します。「Athlete ID」、「First Name」、「Last Name」、「Year」フィールドをフィルターに使用します。

  2. サブクエリ―追加」をクリックして、「マイナス」を選択します。標準的なクエリ―ビルダーとは、若干異なる画面が表示されます。マスタークエリ―からリンクするフィールドや、キーとなるフィールドを選択し、フィルターを適用するフィールドを定義します。今回の例では、「Athlete ID」フィールドを使用してリンクを作成し、年1と異なる値をフィルターします。

  3. 最後に、フィルターを設定します。フィルター設定画面に移動します。こちらの画面は、データページと非常によく似ており、フィルター属性のセットがタブとして表示されます。指定した期間に必要な各フィルターのフィルター値を設定します。

    今回は、マスタークエリ―のフィルターを、「等しい(=)」指定した年、サブクエリ―のフィルターを、「と異なる(」指定した年、と設定します。

より詳細な情報は、マイナスサブクエリーのチュートリアルを参照してください。

高度なサブクエリー

高度なサブクエリ―は、複数のビューや、場合によっては複数のデータソースからクエリ―を作成することで、基本的なサブクエリ―の機能を延長します。

こちらの例では、標準的な接続である「Ski Team」ビューを、異なるデータベースにインポートされたCSVと結合しています。

より詳細な情報は、高度なサブクエリーのチュートリアルを参照してください。