フラット化ビューの作成¶
Virtual DataPort は、register 型と array 型を使用する複雑な構造のデータ型のモデリングをサポートしています。array 型のエレメントはサブビューと見なすことができ、array 型には、それがモデリングするサブビューのスキーマのように動作する register 型が必ず関連付けられています。
レジスターの配列を収めた複合フィールドの「フラット化」が必要になることがあります。特に、XML の基本ビューと Web サービスの基本ビューを処理する場合に、その傾向が強くなります。ここでは、その手順について説明します。
注釈
「フラット化」とは逆の操作を実行して、一連のタプルから配列のエレメントを作成することや、複数のフィールドからレジスターのエレメントを作成することもできます。これは、 NEST
関数または REGISTER
関数を使用した GROUPBY
操作を定義することで実現できます。『VQL ガイド』の NEST と REGISTER の各集計関数の説明を参照してください。
注釈
配列のフィールドではなく、レジスターのフィールドを「フラット化」する必要がある場合は、フラット化ビューを作成しないでください。代わりに、選択ビューを作成し、そのビューの [Output] タブでレジスターを右クリックして [Project subfields of…] をクリックします。
このマニュアルの例に沿って作業を進めるには、フラット化ビューを作成する手順に進む前に、Web サービスデータソース「sales」 (「 SOAP Web サービスソースのインポート 」で作成したデータソース) から Web サービスの基本ビューを作成する必要があります。
[Server Explorer] で [sales] データソースをダブルクリックして開き、[Create base view] をクリックします。
getAverageMonthlyRevenue 操作の横にある [Create base view] をクリックして [Do not stream output] を選択します。
基本ビューの名前を average_revenue_array に変更します。
[Save] () をクリックします。
このビューからは、エレメントの配列が返されます。したがって、そのデータを他のビューから取得したデータと組み合わせることはきわめて困難です。そのため、この配列の 2 つの属性である taxId
と revenue
を使用して「フラット化」ビューを作成します。
[Flatten view] ダイアログは、[Associations] タブがないことを除けば、[Union view] ダイアログとほとんど同じです。[Flatten view] の各タブの動作については「 和結合ビューの作成 」を参照してください。
ビューの [Model] タブで、「ビューパラメータ」を追加できます。ビューパラメータの説明と、これを使用するために必要なルールについては、「 派生ビューのパラメータ 」を参照してください。
このマニュアルの例のフラット化ビューを作成するには、以下の手順に従います。
average_revenue_array ビューを右クリックして、[New] メニューで [Flatten] をクリックします。
このビューが [Model] タブに追加されます。別のデータベースのビューも追加できます。
[Model] タブでは、各配列フィールドの横にセレクターが表示されます。フラット化する配列を必要な数だけ選択できます。選択する配列フィールドを変更するたびに、プレビューが更新され、出力スキーマが表示されます。以下に示す例に従って、配列 return を選択します。これにより、[Flatten Preview] に、taxId と revenue の 2 つの属性が表示されます。
[Output] タブで、新しいビューの名前を flat_revenue に変更します。
[Save] () をクリックしてビューを作成します。
Design Studio を使用してこのマニュアルの例のフラット化ビューを作成するには、以下の手順に従います。
average_revenue_array の横にある 3 点リーダーのアイコンをクリックして、[New] メニューで [Flatten] をクリックします。
このビューが [Model] タブに追加されます。別のデータベースのビューも追加できます。
[Model] タブで、配列 return の横にあるフラット化のアイコン (下の図の赤い枠で強調表示されているアイコン) をクリックします。これにより、ターゲットビューに taxId と revenue の 2 つの属性が追加されます。
[Output] タブで、新しいビューの名前を flat_revenue に変更します。
[Save] () をクリックしてビューを作成します。