CognosのFramework Managerでモデリングをしている時に、同じテーブルを別のデータベースクエリーサブジェクトとして複数回取り込みたいときの方法について紹介します。
知ってれば簡単な方法なので気張らず読んでもらえたらと思います。
よくある要件
ありそうな要件としては、下記の2ケースが多いと思います。
1.汎用区分マスタのように一つのテーブルに複数の意味合いの情報を持つテーブルがあった際などに、Framework Managerでそれぞれの区分用のデータベースクエリーサブジェクトをビューの用に作成し、トランザクションのクエリーとリレーションを定義する。
2.Cognosサンプルでもあるように、トラン側で「注文日」と「発送日」というカラムを持っていてそれぞれカレンダーマスタと紐づけたいが、同じカレンダーマスタに対してリレーションを作成するとモデルがめちゃくちゃになるので、カレンダーマスタのクエリーを2つ作成したい。
複数回取り込む方法
では、ここからはどのように同じテーブルを複数回取り込むかについて紹介します。
Framework Managerでメタデータウィザードを実行し、取り込む対象のテーブルを選択します。
メタデータウィザードの「インポートして一意の名前を作成」にチェックをいれます。
これで完了です。
あとは普段と同じようにメタデータウィザードを進めてテーブルの情報をインポートします。
そうすると、別名でデータベースクエリーサブジェクトが作成されます。
上記の1.のパターンのように取得するデータを絞る場合は、データベースクエリーサブジェクトのSQL定義を更新し、where句を追加します。
さいごに
メタデータウィザード実行中にオプションを1箇所変更するだけという簡単な操作ですが、
知っているのと知らないのとでFMでモデルする時の効率が格段に変わるのでぜひ覚えておいてください。
自己学習記事一覧
Cognos Analytics をエンドユーザーの方に自己学習して頂くためのサイト
https://qiita.com/shinyama/items/95885c7246dc413b6448