ビューのクエリ

[クエリ] タブから、データを取得するビューに対するクエリを作成できます。ウィザードを使用すると、取得するフィールドのサブセットの選択、条件の指定によるタプルのフィルタリング、結果の並べ替えなど、クエリのさまざまな側面をカスタマイズできます。クエリの準備ができたら実行し、結果を確認します。

このセクションでは、以下について説明します。

注釈

[クエリ] タブを使用できるのは、ビューを実行する権限を持っている場合のみです。

クエリの作成

[クエリ] タブは、[定義] と [結果] という 2 つのセクションに分かれています。[定義] セクションには、クエリをグラフィカルに作成するのに役立つウィザードがあります。

Wizard to define a query on a view graphically

ビューに対するクエリをグラフィカルに定義するウィザード

クエリは、ウィザードの次のパネルに表される 3 つの部分で構成されます。

  • 出力列: クエリ結果のスキーマに一致するフィールドと式のリスト。

  • フィルタ: タプルが結果に表示されるために満たす必要がある条件のリスト。

  • ORDER BY: クエリ結果に適用される並べ替えのリスト。

ウィザードの左側には、[フィールド] と [リレーションシップフィールド] という 2 つのパネルがあり、使用可能なフィールドがすべて含まれています。クエリを作成するには、この 2 つのパネルから、クエリを定義する [出力列]、[フィルタ] および [ORDER BY] パネルにフィールドをドロップアンドドラッグするだけです。

各パネルについて詳しく見ていきましょう。

フィールド

[フィールド] パネルには、Virtual DataPort のビューのスキーマにあるすべてのフィールドのリストが表示されます。

注釈

ユーザーの列権限に基づいてクエリでの使用が許可されていないフィールドは、ここには表示されません。

また、 NUMBER_OF_RECORDS という追加のフィールドがあります。これはクエリ結果のタプル数を表しており、VQL の count(*) に相当します。

Fields of the view available to use in the query

クエリで使用可能なビューのフィールド

これらのフィールドを使用してクエリを作成する方法は、次のようにいくつかあります。

  • リストのフィールドを [出力列]、[フィルタ] または [ORDER BY] にドラッグアンドドロップする。

  • リストで複数のフィールドを選択し、それらを [出力列] または [ORDER BY] にドラッグアンドドロップする。

  • リストで複数のフィールドを選択し、タイトルにある menu-title アイコンをクリックし、メニューで [出力列に追加] または [ORDER BY に追加] オプションのいずれかを選択する。

リレーションシップフィールド

[リレーションシップフィールド] パネルには、関連ビュー、つまり現在のビューが対 1 のアソシエーションを持つビューのリストが表示されます。関連ビューには、 <view name> (<role name>) というラベルが付いています。

注釈

関連ビューは、リストに複数回表示される場合があります。これは、現在のビューにその関連ビューと多対 1 のアソシエーションがあることがあるためです。ロール名を使用すると、各アソシエーションを区別できます。

各関連ビューには、その名前の横に expand-view アイコンが付いています。このアイコンをクリックすると、Virtual DataPort の関連ビューのフィールドが展開されます。以降、これらのビューを 展開フィールド と呼びます。

注釈

関連ビューに対するユーザーの列権限に基づいてクエリでの使用が許可されていない展開フィールドは、ここには表示されません。

Expanded fields of the view available to use in the query

クエリで使用可能なビューの展開フィールド

展開フィールドは、現在のビューのフィールドを使用できるところであればどこでも、次のように使用できます。

  • リストの展開フィールドを [出力列]、[フィルタ] または [ORDER BY] にドラッグアンドドロップする。

  • リストの関連ビューを [出力列] または [ORDER BY] にドラッグアンドドロップする。その展開フィールドはすべて追加されます。

  • リストで複数の展開フィールドを選択し、それらを [出力列] または [ORDER BY] にドラッグアンドドロップする。

  • リストで複数の展開フィールドを選択し、タイトルにある menu-title アイコンをクリックし、メニューで [出力列に追加] または [ORDER BY に追加] オプションのいずれかを選択する。

[出力列]、[フィルタ] または [ORDER BY] パネルでは、展開フィールドには <role name>/<field name> というラベルが付きます。

参考

クエリでの関連ビューの詳しい使用方法については、「 アソシエーションの利用 」のセクションを参照してください。

出力列

[出力列] パネルでは、クエリ結果のスキーマ (つまり、対象にするフィールドや式とそれらの表示順序) を定義します。

The Output columns panel defines the schema of the query results

[出力列] パネルではクエリ結果のスキーマを定義

クエリの出力スキーマを作成するには、次のオプションがあります。

フィールドを追加する

現在のビューまたは関連ビューのフィールドを出力スキーマに追加できます。追加されたフィールドごとに 1 つずつ、対応するデータを含む列がクエリ結果に作成されます。

[フィールド] および [リレーションシップフィールド] パネルを使用してフィールドや展開フィールドを追加する方法については、すでに説明しました。他にも次のような方法があります。

  • [ORDER BY] パネルからフィールドをドラッグアンドドロップする。

  • [ORDER BY] パネルで複数のフィールドを選択し、それらをまとめてドラッグアンドドロップする。

  • [出力列] パネルのタイトルにある menu-title アイコンをクリックし、[追加] オプションを選択する。新しい出力フィールドを定義するためのダイアログが表示されます。リストでフィールドを 1 つ選択します。クエリ結果の列名を編集する場合は、 edit アイコンをクリックします。

    Dialog to add a field to the Output columns panel

    フィールドを [出力列] パネルに追加するためのダイアログ

すべてのフィールドを設定する

クエリの出力スキーマにビューのスキーマを反映したい場合、すでに説明したように、そのすべてのフィールドを [出力列] に追加できますが、この方法には問題があります。この方法でクエリを作成し、今後のために保存したとします。そうこうするうちに、誰かが新しいフィールドを追加したことにより、ビューのスキーマが変わると、保存したクエリにビューのスキーマが反映されなくなります。

この問題を解決する、別のクエリ作成方法があります。

  1. [出力列] パネルのタイトルにある menu-title アイコンをクリックします。

  2. [すべてのフィールド] オプションを選択します。

このようなクエリを保存した場合、後にビューのスキーマが変更されると、クエリも自動的に変更されます。こうすれば、クエリの出力スキーマに常にビューのスキーマが反映されます。

注釈

[すべてのフィールド] オプションを選択すると、[出力列] がロックされます。出力スキーマを変更する場合は、まず [すべてのフィールド] オプションの選択を解除する必要があります。

派生フィールドを追加する

[フィールド] および [リレーションシップフィールド] パネルで使用可能なフィールドを変換または結合することにより、新しいフィールドを作成できます。たとえば、 firstnamelastname フィールドから、値 concat(firstname, ' ', lastname) を持つ派生フィールドを作成できます。

派生フィールドを作成する手順は次のとおりです。

  1. [出力列] パネルのタイトルにある menu-title アイコンをクリックします。

  2. [追加] オプションを選択します。

  3. edit アイコンをクリックし、派生フィールドに新しい名前を付けます。

  4. 派生フィールドの計算方法を表す式を記述します。

Dialog to add a derived field to the Output columns panel

派生フィールドを [出力列] パネルに追加するためのダイアログ

エディターには、式の記述を支援する次の機能があります。

  • 強調表示 。式の各コンポーネント (関数、演算子、リテラル、フィールドなど) が異なる色で強調表示されます。

  • 自動補完Ctrl + スペース を押すと、提案のメニューが表示されます。

  • 検証 。エディターに入力するたびに、式が検証されます。式が正しい場合、 valid アイコンが表示されます。正しくない場合は、 invalid アイコンが表示されます。アイコンの上にマウスを置くと、無効である理由が表示されます。

注釈

展開フィールドの構文は <role_name>/<field> であるため、 / を演算子として使用することはできません。代わりに、関数 DIV を使用します。

参考

派生フィールドの作成に使用できるすべての関数を網羅したリストについては、『 Virtual DataPort VQL ガイド 』を参照してください。

集計フィールドを追加する

派生フィールドは、通常、単一のタプルでデータを変換することによって機能します。派生フィールドの式は、タプルのデータを取得し、取得したデータに何らかの関数を適用して新しい値を生成します。ただし、このパターンに従わない特殊なケースの関数があります。それが集約関数です。集約関数は複数のタプルからデータを取得し、取得したデータすべてを結合して単一の値を生成します。集約関数には、 MAXSUM または AVG などがあります。集約関数を使用する派生フィールドを 集計フィールド と言います。

集計フィールドを作成するには、次のオプションがあります。

  • [出力列] にあるフィールドの menu-item アイコンをクリックし、オプション [集約関数の適用] を選択する。フィールドに適用可能なすべての集約関数を含むメニューが表示されますので、いずれかを選択します。

    A menu with all the aggregation functions you can apply on a field

    フィールドに適用可能なすべての集約関数のメニュー

  • すでに説明したように派生フィールドを作成し、集約関数を使用する式を記述する。

  • [フィールド] パネルから NUMBER_OF_RECORDS フィールドを追加する。このフィールドは COUNT 集約関数に相当します。

注釈

[出力列] パネルの集計フィールドには、 aggregation アイコンが表示されるため、非集計フィールドと区別することができます。

[出力列] に集計フィールドを追加すると、クエリのセマンティクスが次のように変わります。

  1. ビューのタプルがグループに分割されます。非集計フィールドの個別の値ごとに、その値を含むすべてのタプルで構成されるタプルのグループが生成されます。[出力列] のフィールドがすべて集計フィールドの場合は、ビューのすべてのタプルを含むグループが 1 つ生成されます。

  2. グループごとに、対応する集約関数をグループのタプルに適用することにより、集計フィールドが計算されます。

  3. クエリ結果では、グループごとに 1 つのタプルが生成されます。タプルの構成要素は次のとおりです。

    • そのグループを生成した非集計フィールドの値

    • そのグループについて計算された集計フィールドの値

Results for a query with aggregation fields in Output columns

非集計フィールドの個別値ごとにすべての集計フィールドを含むタプルを結果として表示

参考

集計フィールドの作成に使用できるすべての集約関数を網羅したリストについては、『 Virtual DataPort VQL ガイド 』を参照してください。

フィールドの編集

[出力列] のフィールドを編集する手順は次のとおりです。

  1. 編集するフィールドの横にある menu-item アイコンをクリックします。

  2. [編集] オプションを選択します。

  3. フィールドの名前または式を更新します。

Dialog to edit a field in the Output columns panel

[出力列] パネルのフィールドを編集するためのダイアログ

注釈

[出力列] のフィールドは、 NUMBER_OF_RECORDS 以外すべて編集できます。

フィールドの削除

[出力列] パネルからフィールドを 1 つ削除する場合、以下の手順を実行します。

  1. 削除するフィールドの横にある menu-item アイコンをクリックします。

  2. [削除] オプションを選択します。

複数のフィールドを削除する場合は、以下の手順に従います。

  1. 削除する [出力列] のフィールドをすべて選択します。

  2. タイトルにある menu-item アイコンをクリックします。

  3. [削除] オプションを選択します。

フィールドの順序変更

[出力列] パネルのフィールドの順序により、クエリ結果での表示方法が決まります。出力スキーマでフィールドの順序を変更する手順は次のとおりです。

  1. 順序変更するフィールドの横にある menu-item アイコンをクリックします。

  2. [上に移動] または [下に移動] オプションを選択します。

  3. フィールドが正しい位置に来るまで、このプロセスを繰り返します。

複数のフィールドの順序を変更する場合は、以下の手順に従います。

  1. 順序変更する [出力列] のフィールドをすべて選択します。

  2. タイトルにある menu-item アイコンをクリックします。

  3. [上に移動] または [下に移動] オプションを選択します。

  4. フィールドが正しい位置に来るまで、このプロセスを繰り返します。

フィルタ

[フィルタ] パネルでは、ビューのタプルに対する条件のリストを定義できます。タプルがクエリ結果に表示されるには、 すべての条件 が一致する必要があります。

ビューに必須フィールドが複数ある場合、フィールドごとにフィルタが [フィルタ] パネルに自動的に追加されます。値の指定が必要なことを示すために、フィールドが赤色で表示されます。必須フィールドに対するフィルタを削除する場合、このフィールドには値が含まれているため、クエリを実行する前に別のフィルタを作成する必要があることに注意してください。

The Filters panel contains the conditions a tuple has to meet to appear in the results

[フィルタ] パネルには、タプルが結果に表示されるために満たす必要がある条件が表示されます。

クエリのフィルタを作成するには、次のオプションがあります。

クイック式を追加する

クイック式は次の要素で構成される条件です。

  1. フィールドまたは展開フィールド

  2. 演算子

  3. 演算子に必要な値。これは、ゼロから値リストまで指定できます。

クイック式を追加する方法はいくつかあります。

  • [フィールド]、[リレーションシップフィールド]、[出力列] または [ORDER BY] パネルからフィールドまたは展開フィールドをドラッグアンドドロップする。

  • [フィルタ] パネルのタイトルにある menu-title アイコンをクリックし、[クイック式の追加] オプションを選択する。

選択したフィールドに対してフィルタを定義するためのダイアログが表示されます。

Dialog to add a quick filter to the Filters panel

クイック式を [フィルタ] パネルに追加するためのダイアログ

次の点に注意してください。

  • [フィールド名] セレクターには、 <field name> (フィールドの型) が併記されたフィールドおよび展開フィールドのリストが表示されます。

  • [演算子] セレクターには、ビュー構成に基づいて、選択したフィールドでサポートされている演算子のリストが表示されます。

  • このダイアログでは、演算子に必要な数の値が要求されます。特に、 in および not in 演算子には、パラメータとして値のリストが必要です。値をリストに追加するには、エディターで式を記述し、 add-value アイコンをクリックします。値を削除するには、 remove アイコンをクリックします。

  • 値エディターは、これまでに説明したすべての機能 (強調表示、自動補完、および検証) をサポートします。さらに、選択したフィールドが datetime 型または interval 型の場合は、適切な形式のリテラル値がエディターから提案されます。

    参考

    datetime 値と interval 値の作成の詳細については、『 Virtual DataPort VQL ガイド 』を参照してください。

複雑なフィルタの追加

クイック式の制限のせいで必要なフィルタを作成できない場合、VQL で条件を式で表現することによって複雑なフィルタを作成できます。たとえば、派生フィールドに依存する場合、論理演算子を使用して他の条件を結合するなどします。

複雑なフィルタを追加するには、次の方法があります。

  • [出力列] または [ORDER BY] から派生フィールドをドラッグアンドドロップする。

  • [フィルタ] パネルのタイトルにある menu-title アイコンをクリックし、[式の追加] オプションを選択する。

複雑なフィルタを定義するためのダイアログが表示されます。VQL の規則に従って必要な条件を入力します。

Dialog to add a complex filter to the Filters panel

[フィルタ] パネルに複雑なフィルタを追加するためのダイアログ

参考

条件を記述するための VQL の機能および条件の構文の詳細については、『 Virtual DataPort VQL ガイド 』を参照してください。

フィルタの編集

[フィルタ] パネルで条件を編集する手順は次のとおりです。

  1. 編集するフィルタの横にある menu-item アイコンをクリックします。

  2. メニューには、条件を編集するための次の 2 つのオプションがあります。

    • クイック編集: このオプションを選択すると、クイック式のコンポーネント (フィールド、演算子および値) を編集するためのダイアログが表示されます。これはクイック式にのみ使用できます。

    • 式の編集: このオプションを選択すると、VQL を使用して条件を更新できるエディターが表示されます。これはクイック式と複雑なフィルタの両方で使用できます。

  3. 適切なオプションを選択し、フィルタを更新します。

フィルタの削除

フィルタを削除するには、 出力列 について以前に説明した手順に従います。

フィルタの順序変更

フィルタの順序を変更するには、 出力列 について以前に説明した手順に従います。

ORDER BY

[ORDER BY] パネルでは、クエリ結果でのタプルの配列方法を決めるフィールドのリストを定義できます。デフォルトでは空のため、結果の順序は未定義です。[ORDER BY] パネルにフィールドを追加すると、以下のようにタプルが並べ替えられます。

  1. 最初のフィールドの値によってタプルが並べ替えられます。

  2. 最初のフィールドと同じ値を持つタプルについては、[ORDER BY] パネルの 2 番目のフィールドの値を使用してタプルが並べ替えられます。

  3. このプロセスは、[ORDER BY] パネルのすべてのフィールドについて行われます。

The Order by panel contains a list of fields that determine how to sort the query results

[ORDER BY] パネルは、クエリ結果の並べ替え方法を決定するフィールドのリストを表示

クエリ結果の順序を定義するには、次のオプションがあります。

並べ替えを追加する

以下を使用してクエリ結果を並べ替えることができます。

  • [フィルタ] パネルのフィールド

  • [リレーションシップフィールド] パネルの展開フィールド

  • [出力列] パネルの派生フィールド

  • [出力列] パネルの集計フィールド

クエリに並べ替えを追加するには、次のオプションがあります。

  • [フィールド]、[リレーションシップフィールド] または [出力列] パネルからフィールドをドラッグアンドドロップする。

  • [ORDER BY] パネルのタイトルにある menu-title アイコンをクリックして、[追加] オプションを選択する。[フィールド]、[リレーションシップフィールド] または [出力列] パネルで使用可能なすべてのフィールドを含むダイアログが表示されますので、いずれかを選択します。

順序を変更する

[ORDER BY] パネルのフィールドの横には、フィールドによる並べ替えを行う際に適用される順序を示すアイコンがあります。

  • ascending 昇順

  • descending 降順

デフォルトでは、フィールドを [ORDER BY] に追加すると、タプルが昇順で並べ替えられますが、以下の方法のいずれかを使用して順序を変更できます。

  • [ORDER BY] パネルのフィールドの横にあるアイコンをクリックする。これはトグルボタンで、 ascendingdescending の間で切り替えることができます。

  • [ORDER BY] パネルのフィールドにある menu-item アイコンをクリックする。現在の順序に応じて、[DESC に変更*] または [ASC に変更] が選択可能になりますので、それを選択します。

並べ替えを削除する

並べ替えを削除するには、 出力列 について以前に説明した手順に従います。

並べ替えを順序変更する

[ORDER BY] パネルのフィールドの位置によって、並べ替えが適用される順序が決まります。タプルは、まず最初のフィールドによって、次に 2 番目のフィールドによって、という具合に順に並べ替えられます。

適用される並べ替えの順序を変更するには、 出力列 について以前に説明した手順に従って、[ORDER BY] パネルのフィールドの順序を変更することができます。


クエリの定義が完了したら、今後のために保存できます。これは、次のシナリオで役に立ちます。

  • クエリの作成が終了しておらず、後で続行したい場合

  • クエリが複雑すぎ、しかも頻繁に実行する必要がある場合

  • クエリを社内の他のユーザーと共有する場合

  • クエリをビューとして Virtual DataPort サーバーにデプロイする場合

クエリを保存するには、ツールバーの [保存] ボタンをクリックします。ダイアログが表示され、クエリの名前や説明 (オプション) を入力する必要があります。保存したクエリは [マイクエリ] セクションに表示されます。

Dialog to save a query for later

今後のためにクエリを保存するためのダイアログ

注釈

次の点に注意してください。

  • 保存したクエリは、他のユーザーと共有しない限り、他のユーザーはアクセスできません。

  • 保存したクエリは、接続している Virtual DataPort サーバーに関連付けられます。

参考

保存したクエリで実行できるアクションの詳細については、「 マイクエリ 」のセクションを参照してください。

クエリの実行

クエリの準備ができたら、ツールバーの [実行] ボタンをクリックするだけで、クエリが Virtual DataPort で実行されます。このプロセスは、内部的にはいくつかのステップで構成されています。

  1. Data Catalog は、グラフィカルに作成されたクエリを、Virtual DataPort が理解できる VQL 文に変換する必要があります。ツールバーの [VQL] ボタンをクリックするとポップアップが開き、Virtual DataPort に送信される VQL 文が表示されます。

    Popup with the VQL sentence generated from your query

    クエリから生成された VQL 文を表示するポップアップ

  2. VQL 文が Virtual DataPort に送信されます。Data Catalog には、クエリ結果の待機中であることを示すアニメーションが表示されます。クエリの処理に時間がかかりすぎる場合、クエリを停止し、定義を変更できます。アニメーションの表示中に [キャンセル] ボタンをクリックすると、クエリが停止します。

    Use the Cancel button to stop the query

    [キャンセル] ボタンを使用してクエリを停止

  3. 応答が Data Catalog に到着すると、[結果] セクションに自動的に読み込まれ、クエリ結果を含むテーブルが表示されます。

Table with the results for the query

クエリ結果のテーブル

クエリ結果について、次の点に注意してください。

  • クエリ結果は、一度にすべて読み込まれるとは限りません。Data Catalog は、最初の 100 件のタプルを要求し、タプルが到着するとすぐに、そのテーブルを表示します。テーブルを下にスクロールすると、最後に到達するまで、次の 100 件のタプルが読み込まれます。すでに読み込まれた行数は、テーブルの上部で確認できます。この行数は、それ以上表示する結果がなくなるまで、下にスクロールするにつれて増加します。

  • タプルのフィールドに値が含まれない場合は、 <null> 値が表示されます。

  • バイナリ値は [BINARY DATA] とその長さ (バイト単位) として表示されます。これはダウンロードできません。

  • 値が長すぎると、切り詰められます。マウスをセルの上に置くと、実際の値がヒントとして表示されます。

  • Virtual DataPort では、階層データを表現するために次の 2 つの複合データ型をサポートしています。

    • レジスター: タイプが異なる複数のフィールドを含むタプル

    • 配列: 内部構造が同じレジスターのリスト

    複合値は、クエリ結果では compound アイコン付きで表示されます。このアイコンをクリックするとポップアップが開き、実際の値が表示されます。

    Popup with the value for a compound data type

    複合データ型の値を表示するポップアップ

  • 各行の先頭には、 full-row アイコンがあります。このアイコンをクリックするとポップアップが開き、その行のすべてのデータが垂直形式で表示されます。これは、テーブルの列数が多すぎて、すべてのフィールドの値をひと目で確認しづらい場合に役立ちます。

    Popup with all the values from a row in the query results

    クエリ結果の 1 つの行のすべての値を表示するポップアップ

クエリ結果は、Data Catalog への表示に加え、ファイルにエクスポートすることもできます。

  1. ツールバーの [エクスポート] ボタンをクリックします。クエリ結果をエクスポートするためのダイアログが表示されます。

    Dialog to export the query results to a file

    クエリ結果をファイルにエクスポートするためのダイアログ

  2. エクスポート形式を選択します。

  3. エクスポートする行数を選択します。

    • すべての結果

    • 表示可能な結果のみ: すでに読み込まれた結果のみがエクスポートファイルに格納されます。

    • Only the first n: エクスポートする結果の行数を限定する数値を入力します。

  4. オプションとして、CSV、HTML または Excel をエクスポートする場合は、[ヘッダーのエクスポート] オプションを選択することにより、列名を含むヘッダーをエクスポートできます。 .tde および .hyper ファイルには常にこのヘッダーが含まれるため、このオプションは Tableau 形式には使用できません。

注釈

クエリ結果をエクスポートする際、次の点に注意する必要があります。

  • クエリ結果の複合値は、JSON 形式のテキストとしてエクスポートされます。

  • Excel 形式を選択した場合、エクスポートできる最大行数は 1,048,576 行です。

  • Data Catalog の管理者は、一部のエクスポート形式を無効にすることや、エクスポートする行数を制限することができます。

  • Data Catalog の管理者は、CSV 形式の フィールド区切り文字をパーソナライズ できます。

アソシエーションの活用

あるビューの 1 つのタプルが別のビューの 0 個以上のタプルに関連付けられている場合、その 2 つのビューには相互にリレーションシップがあり、逆の場合も同様です。たとえば、ビュー customersorders について考えてみましょう。1 件の注文は 1 人の顧客にしか関連しませんが、1 人の顧客は 0 件、1 件、あるいはそれ以上の注文に関連する可能性があります。Virtual DataPort では、この種のリレーションシップは アソシエーション によってモデル化されます。

リレーションシップのカーディナリティに応じて、ビューは他のビューと次の 2 つのタイプのアソシエーションを保持できます。

  • 対 1 のアソシエーション 。ビューのタプルは別のビューの 1 つのタプルにのみ関連します。

  • 対多のアソシエーション 。ビューのタプルは別のビューの複数のタプルに関連することができます。

ビューに対してクエリを実行するときに、これらのアソシエーションをどう利用できるのかを見てみましょう。

参考

ビューのアソシエーション 」のセクションを参照すると、ビューのリレーションシップを調べる方法がわかります。

対 1 のアソシエーションの展開

対 1 のアソシエーションは展開できるため、クエリの作成に重要な役割を果たします。ビューにとって、アソシエーションの展開は、それ自体のデータだけでなく、アソシエーションのあるビューの関連するタプルのデータも含めることができることを意味します。前述の例では、 orders ビューには customers ビューとの対 1 のアソシエーションがあります。このアソシエーションを展開すれば、注文ごとに、発注した顧客のデータを取得するクエリを作成できます。

ただし、アソシエーションの展開の目的は、関連ビューからのデータの積極的な取得に限定されません。展開フィールドは、ビューのフィールドを使用するところ (集計フィールド、フィルタ、並べ替えなど) であればどこでも使用できます。このようにして、ビューのスキーマは、対 1 のアソシエーションがあるビューのフィールドによって拡大されます。

ウィザードの [定義] セクションでは、対 1 のアソシエーションによって関連するビューとそのフィールドが [リレーションシップフィールド] パネルに表示されます。アソシエーションを展開するには、展開フィールドを、ビューのもう 1 つのフィールドであるかのように、ウィザードの別のパネルにドラッグアンドドロップします。

Expanding fields from a to-one association

対 1 のアソシエーションからのフィールドの展開