フラット化ビューの作成

Virtual DataPort は、register 型と array 型を使用する複雑な構造のデータ型のモデリングをサポートしています。array 型のエレメントはサブビューと見なすことができ、array 型には、それがモデリングするサブビューのスキーマのように動作する register 型が必ず関連付けられています。

レジスターの配列を収めた複合フィールドの「フラット化」が必要になることがあります。特に、XML の基本ビューと Web サービスの基本ビューを処理する場合に、その傾向が強くなります。ここでは、その手順について説明します。

注釈

「フラット化」とは逆の操作を実行して、一連のタプルから配列のエレメントを作成することや、複数のフィールドからレジスターのエレメントを作成することもできます。これは、 NEST 関数または REGISTER 関数を使用した GROUPBY 操作を定義することで実現できます。『VQL ガイド』の NESTREGISTER の各集計関数の説明を参照してください。

注釈

配列のフィールドではなく、レジスターのフィールドを「フラット化」する必要がある場合は、フラット化ビューを作成しないでください。代わりに、選択ビューを作成し、そのビューの [Output] タブでレジスターを右クリックして [Project subfields of…] をクリックします。

このマニュアルの例に沿って作業を進めるには、フラット化ビューを作成する手順に進む前に、Web サービスデータソース「sales」 (「 SOAP Web サービスソースのインポート 」で作成したデータソース) から Web サービスの基本ビューを作成する必要があります。

  1. [Server Explorer] で [sales] データソースをダブルクリックして開き、[Create base view] をクリックします。

  2. getAverageMonthlyRevenue 操作の横にある [Create base view] をクリックして [Do not stream output] を選択します。

  3. 基本ビューの名前を average_revenue_array に変更します。

  4. [Save] (image3) をクリックします。

このビューからは、エレメントの配列が返されます。したがって、そのデータを他のビューから取得したデータと組み合わせることはきわめて困難です。そのため、この配列の 2 つの属性である taxIdrevenue を使用して「フラット化」ビューを作成します。

Default base view created for the Web Service operation getAverageMonthlyRevenue

Web サービス操作 getAverageMonthlyRevenue について作成したデフォルトの基本ビュー

[Flatten view] ダイアログは、[Associations] タブがないことを除けば、[Union view] ダイアログとほとんど同じです。[Flatten view] の各タブの動作については「 和結合ビューの作成 」を参照してください。

注釈

1 回の「フラット化」操作で選択できる配列は 1 つのみです。複数の配列が存在する場合は、それらの配列ごとにこの操作を繰り返す必要があります。

ビューの [Model] タブで、「ビューパラメーター」を追加できます。ビューパラメーターの説明と、これを使用するために必要なルールについては、「 派生ビューのパラメーター 」を参照してください。

このマニュアルの例のフラット化ビューを作成するには、以下の手順に従います。

  1. average_revenue_array ビューを右クリックして、[New] メニューで [Flatten] をクリックします。

    このビューが [Model] タブに追加されます。別のデータベースのビューも追加できます。

  2. [Model] タブで return 配列を右クリックして [Flatten array ‘return’] をクリックします。これにより、ターゲットビューに taxIdrevenue の 2 つの属性が追加されます。

  3. [Output] タブで、新しいビューの名前を flat_revenue に変更します。

  4. [Save] (image3) をクリックしてビューを作成します。

Flattening the array of the base view average_revenue_array ("Model" tab)

基本ビュー average_revenue_array の配列のフラット化 ([Model] タブ)

Flattening the array of the base view average_revenue_array ("Model" tab) (2)

基本ビュー average_revenue_array の配列のフラット化 ([Model] タブ) (2)

Schema of the flat_revenue view

flat_revenue ビューのスキーマ

Design Studio を使用してこのマニュアルの例のフラット化ビューを作成するには、以下の手順に従います。

  1. average_revenue_array の横にある 3 点リーダーのアイコンをクリックして、[New] メニューで [Flatten] をクリックします。

    このビューが [Model] タブに追加されます。別のデータベースのビューも追加できます。

  2. [Model] タブで、配列 return の横にあるフラット化のアイコン (以下の図で赤い枠で強調表示されているアイコン) をクリックします。これにより、ターゲットビューに taxIdrevenue の 2 つの属性が追加されます。

  3. [Output] タブで、新しいビューの名前を flat_revenue に変更します。

  4. [Save] (image3) をクリックしてビューを作成します。

Flattening the array of the base view with Design Studio

Design Studio による、基本ビュー average_revenue_array の配列のフラット化 ([Model] タブ)

Schema of the flat_revenue view in the Design Studio

Design Studio で表示した、 flat_revenue ビューのスキーマ