概要
コンポジットビューを使えば、複数のデータベースに接続しそれらにまたがるデータを1つのビューに統合してレポートを作成することができますが、複数のソースからデータを読み込むため、レポートの作成に長い時間を要する場合があります。この問題への対策としてYellowfinは、コンポジットビューの結果をYellowfinのリポジトリ(あるいはユーザーが選択した他の保管場所)に保存し、これを定期的にリフレッシュするようスケジュールします。これにより、レポート作成者は、複雑な結合による遅延の影響を感じずにクエリーへの迅速な応答を得ることができます。こうしたプロセス集約型の処理は、オフピークタイムに動作するよう設定されます。
コンポジットビューの作成は、1つのデータベース内のテーブルをドラッグ&ドロップして結合する通常のやり方とは違い、既存のYellowfinビューを結びつけて、複数のデータベースに接続された仮想テーブルを構成する形で行われます。
コンポジットビューの有効化
コンポジットビュービルダーを使用するには、適切なロール権限を持つ必要があります。
コンポジットビューの作成
コンポジットビューを作るインターフェースは、ドラッグ&ドロップによって通常のビューを作成する場合と似ています。違いは、特定のデータベースからテーブルを選ぶ代わりに、いろいろなデータベースから既存のYellowfinビューを選ぶということです。
また、それらのデータベースから読み込まれるデータがどこに格納されるかも指定しなければなりません。
保存先データベースの設定
コンポジットビューからのデータは、別々のデータベースから読み込まれ、1つのデータベースに保管されます。したがってまずはデータを格納するターゲットデータベースを決める必要があります。第一ステップは、コンポジットビューから得られるデータを格納するのに充分なデータベースを確保することです。
- コンポジットビューストアーを選択
コンポジットビューの結果を格納したいデータベース接続を選びます。Yellowfin接続だけでなく、他のSQLデータベースも選択可能です。
コンポジットビューを利用するユーザーは、このソースデータベースに書き込み可能なアクセス権を持っている必要があります。
「接続の詳細」を開き、「書き込み可」のラジオボタンを「Yes」に設定します。
- コンポジットビューの初期化でデータベースを選択する
「ビュー追加」をクリックして新しいビューの作成画面を開き、「この方法でビューを作成」のドロップダウンメニューから「コンポジットビュー」を、「このビューのデータはキャッシュされます」に対して、保管先のデータベースを指定します。
コンポジットビューのデータを準備する
別々のソースシステムからデータを読み込むために、仮想テーブルを使ってSQLを書くのが面倒な場合には、あらかじめコンポジットビューに含めたいビューを各々のデータベースに対して作成しておく必要があります。それらのビューは、データのサブセットとコンポジットビューとして結合する際に使用されるキーを持っていなければなりません。
ビュービルダーを使用して(通常の)ビューを作成し、それぞれのデータベースに保存しておきます。使用したいカラムがビューに含まれていることを確認してください。上記のように、合成するためのビューを作成していない場合には、仮想テーブルを使用してSQLステートメントを記述しなければなりません。
注意:合成するために作成したビューで定義されたすべてのメタデータは、そのままコンポジットビューで使用できます。
ビューの結合
コンポジットビューの作成にあたっては、複数のYellowfinビューを結合したり、データベースの各々に仮想テーブルを作成してSQLステートメントを記述したりできます。コンポジットビューを作成するためのインターフェースは、ドラッグ&ドロップによるビューの作成とほぼ同じです。ビューを選び、結合を定義し、エンドユーザーが利用できるようにしたいカラムを選択します。
コンポジットビューに含めるビューを選択します。既に合成したいビューが作成してあれば、ビュービルダーの「エンティティ」リストに、それらがソースデータベースごとに表示されています。これらは通常のテーブルと同じように、キャンバスにドラッグ&ドロップして互いに結合させることができます。
以下の図は、Ski TeamのデータベーステーブルとYellowfinデータベースからテーブルをキャンバスにドラッグ&ドロップし、結合を定義した例です。
仮想テーブルの作成
既存のビューの中に使用したいデータを含むものが存在しない場合、仮想テーブルを作成してコンポジットビューに含めることが可能です。「仮想テーブル」ウインドウで、接続するソースシステムを指定してください。
下の図のように、仮想テーブルにはソースシステムに対するSQLステートメントを記述できます。どんなSQLを記述する場合にも、まずソースシステムを指定する必要があります。
注意:たとえば何かのデータを合計するような集計に関わるステートメントを記述する場合には、Yellowfinが有効なカラム名をつけることができるよう、「as カラム名」というように集計結果を保持するカラム名を指定する必要があります。
更新スケジュールの設定
コンポジットビューを定期的に更新するため、更新スケジュールを設定する必要があります。スケジュール設定は画面右側の「ビューオプション」欄で行います。
デフォルトでは、ビューは毎日午前0時に更新されます。この設定はユーザーの都合やシステムの使用状況に応じて変更できます。
初期データの投入
「ビューサマリー」の「データ」タブに移動し、ビューにデータを投入して、このビューによって作成されるデータをプレビューしてください。これを行っておかないと、スケジュールされた時刻が来てデータが更新されるまでこれらのデータを使用してレポートを作成することができません。
- 「データ」タブに移動し、「今すぐデータを投入」をクリックします。
- これで、ビューにデータが投入され、「ページを更新」をクリックして、そのデータを表示できます。大量のデータがある場合、完了までに時間がかかることがあります。
- 投入が完了すると、ビューから返されるデータをプレビューできます。