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

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Anchor
top
top

Table of Contents
classcontents

概要


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


追加

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

結合

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

マイナス

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

交差

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


追加サブクエリー


追加サブクエリーは、ひとつのクエリーの結果を別のクエリに新しいデータ列として結合します。Yellowfin 9.7以前では、サブクエリの結合には、マスタークエリーの同じディメンションコラムが必要でした。Yellowfin 9.7では、レポートでフィールドがコラムとして選択されているに関わらず、ビュー内にあるすべてのフィールドに基づいて、クエリーを結合する機能が導入されました。


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

ある年の収益と別の年の収益を国別に比較する。

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

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

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

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

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

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

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

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

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


Anchor
viewfieldlinking
viewfieldlinking

ビューフィールドでのリンク

Yellowfin 9.7では、ビュー内のフィールドに基づいてクエリーを結合することができます。下記は、追加サブクエリーに任意のフィールを選択する方法です。

  1. 新しいレポートを作成します。
  2. マウスを使って、左のパネルにあるデータをカラムセクションフィルターの各フィールドにドラッグします。
    この例では、アスリートの地域(Athlete Region)請求額( Invoiced Amount)年(Year)をマスタークエリーとして選択しています。



  3. 左側のナビゲーションメニューnあるをクリックすると、サブクエリーのパネルが表示されます。
  4. 例えば、タイプで「追加」、スタイルで「基本」を選択し、「OK」ボタンをクリックします。



  5. ビューフィールドで統合」のチェックボックスにティックを入れます。



  6. マスタークエリーフィールドの検索フィールドをクリックします。
    ドロップダウンリストが表示され、ビューの中で利用可能なすべてのフィールドが表示され、サブクエリーとマスタークエリーのフィールド(ここではAge at Camp)を統合することができます。



  7. ビューフィールドで結合のチェックボックスを外すと、マスタークエリーで利用可能なフィールドのドロップダウンリストがリセットされます。


Tip

ビューフィールドで結合は、基本追加サブクエリーと高度な追加サブクエリー両方をサポートしています。


結合サブクエリー


Styleclass
ClasstopLink

ページトップ

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



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

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

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

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

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

すべて結合

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

交差サブクエリー


Styleclass
ClasstopLink

ページトップ

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


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

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

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

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

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

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

マイナスサブクエリー


Styleclass
ClasstopLink

ページトップ

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


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

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

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

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

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

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

高度なサブクエリー


Styleclass
ClasstopLink

ページトップ

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


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

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


horizontalrule

Styleclass
ClasstopLink

ページトップ