Cognos-メタデータモデルの関係
リレーションシップは、メタデータモデル内の複数のオブジェクトに対するクエリを作成するために使用されます。関係は双方向にすることができ、関係を作成しない場合、オブジェクトはメタデータモデルで使用されない個々のエンティティです。
メタデータモデルの各オブジェクトは、データソースの主キーまたは外部キーを使用して接続されます。メタデータモデルで関係を作成または削除して、ビジネス要件を満たすことができます。
可能なさまざまな関係があり、それらのいくつかは-
One to One−あるクエリサブジェクトのインスタンスが別のインスタンスに関連している場合。例:各顧客には1つの顧客IDがあります。
One to Many−この関係は、クエリサブジェクトの1つのインスタンスが複数のインスタンスに関連している場合に発生します。例:各医師には多くの患者がいます。
Many to Many−この関係は、クエリサブジェクトの多くのインスタンスが複数のインスタンスに関連している場合に発生します。例:各患者には多くの医師がいます。
カーディナリティの概念
これは、2つのクエリサブジェクトのそれぞれに関連する行の数として定義されます。カーディナリティは次のように使用されます-
- スタースキーマでのループ結合
- データソースへの最適化されたアクセス
- ファクトデータの二重カウントは避けてください
リレーショナルデータベースをデータソースとして使用する場合、カーディナリティは次のルールを考慮して定義できます。
- 主キーと外部キー
- 一致クエリアイテム名は、一意にインデックス付けされた列を表します
- 一致するクエリアイテム名
カーディナリティを定義する最も一般的な方法は、主キーと外部キーを使用することです。インポートされたキー情報を表示するには、クエリサブジェクト→定義の編集を右クリックします。データソースから、多対多の関係、オプションの関係、および外部結合をインポートできます。
メタデータモデルの関係表記
フレームワークマネージャーでは、リレーションは次のように表されます。 Merise notation。この表記の最初の部分は、この関係の結合のタイプを表します。
- 0..1は0または1つの一致を表します
- 1..1は1対1の一致を表します
- 0..nは、ゼロまたは一致なしを表します
- 1..nは1つ以上の一致を表します
- 1-両方のオブジェクトからのすべての一致する行との内部結合。
- 0-一致しないアイテムを含む、両方のすべてのオブジェクトとの外部結合。
関係の作成または変更
関係を作成するため、またはメタデータのインポートで結合されていない論理的に関連するオブジェクトを結合するため。オブジェクト間の関係を手動で作成することも、選択した基準に基づいてオブジェクト間の関係を自動的に定義することもできます。
リレーションシップを作成するには、CTRLキーを使用して、1つ以上のクエリ項目、サブジェクト、またはディメンションを選択します。次に、Action Menu → Create Relationship。
これが有効な関係である場合、フレームワークマネージャーは関係へのショートカットを作成したいと考えています。次に、[OK]ボタンをクリックします。
メタデータのインポート後にリレーションシップを作成したら、フレームワークマネージャーでリレーションシップまたはカーディナリティを変更することもできます。
関係を編集するには、関係をクリックしてから Action menu → click Edit Definition。
から Relationship Expression tab → Select Query items, Cardinalities and Operators。
追加の参加を作成するには、に移動します Relationship Expression tab → New Link and Define New Relationship。
この関係をテストするには、に移動します Relationship SQL tab → rows to be returned → Test。
[OK]ボタンをクリックします。
関係ショートカットの作成
関係ショートカットは、既存の関係へのポインターとして定義され、既存の関係の定義を再利用します。ソースのリレーションシップに変更を加えると、ショートカットで自動的に更新されます。リレーションシップショートカットは、クエリサブジェクト間のあいまいなリレーションシップを解決するためにも使用されます。
Framework Managerは、リレーションシップを作成するたびにリレーションシップショートカットを作成するかどうかを尋ね、これらの条件が両方とも当てはまります。
- 新しい関係の少なくとも一方の端はショートカットです。
- 元のオブジェクト間には関係があります。
に移動 Action Menu → Create Relationship。
これが有効な関係である場合、フレームワークマネージャーは関係へのショートカットを作成したいと考えています。[はい]をクリックします。一方の端がモデルオブジェクトで、もう一方の端が別のモデルオブジェクトまたは別のモデルオブジェクトへのショートカットであるすべての関係のリストが表示されます。
[OK]をクリックします。
クエリサブジェクトを作成する
クエリサブジェクトは、固有の関係を持つクエリアイテムのセットとして定義されます。クエリサブジェクトを使用して、FrameworkManagerを使用して取得するデータをカスタマイズできます。
以下は、FrameworkManagerのクエリサブジェクトタイプです。
Data Source Query Subject −これらは、SQLステートメントで定義されたリレーショナルメタデータに基づいており、メタデータをモデルにインポートすると、テーブルとビューごとに自動的に作成されます。
Note −データソースクエリサブジェクトは、一度に1つのデータソースからのデータのみを参照しますが、取得データを定義するSQLを直接編集して、クエリサブジェクトを編集できます。
Model Query Subjects−データソースから直接作成されるのではなく、他のクエリサブジェクトまたはディメンションで定義されたクエリアイテムに基づいています。モデルクエリサブジェクトを使用すると、データソースのより抽象的なビジネスビューを作成できます。
Stored Procedure Query Subjects−これらは、プロシージャがリレーショナルデータソースからインポートされたときに作成されます。IBM Cognos Framework Managerは、ユーザー定義のストアドプロシージャのみをサポートし、システムのストアドプロシージャはサポートされていません。
データソースクエリサブジェクトを作成するにはどうすればよいですか?
から Actions Menu → Create → Query Subject。
新しいクエリサブジェクトの名前を入力します。
クリック Data Source → OK to open new Query Subject wizard。
[完了]ボタンが表示されるまで手順を実行します→[完了]
右クリック Query Subject → Edit Definition。クリックしてくださいSQL tab → Available database objects box, drag objects to the SQL box。
データソース参照を挿入したり、マクロを挿入したり、計算を埋め込んだり、フィルターを埋め込んだりすることもできます。
リストからアクションを選択し、[OK]をクリックします。
目的 | アクション |
---|---|
粒度制御 | [行列式]タブ |
クエリの件名をテストするには | [テスト]タブ |
SQLを表示するには | [クエリ情報]タブ |
データソースからシステムテーブルを表示するには | [システムオブジェクトを表示する]チェックボックス |
SQLの編集
リレーショナルデータベースソースを編集したり、リレーショナルデータベースを作成またはクエリしたりすると、バックグラウンドでSQLが使用されます。次のオプションを使用できます-
- Cognos SQL
- ネイティブSQL
- SQLをパススルーする
モデルクエリサブジェクトのSQLを編集するには、[クエリ情報]タブからSQLをコピーして、新しいデータソースクエリサブジェクトに貼り付けます。モデルクエリサブジェクトをデータソースクエリサブジェクトに変換することができます。
- [データソースクエリの件名]をクリックして、 Action menu → Edit Definition。
- SQLボタンをクリックするか、オブジェクトをドラッグするか、必要なSQLを入力します。
- [OK]をクリックします。
SQLのタイプを変更する
データソースクエリの件名を定義するときに使用するSQLのタイプを選択できます。SQLのタイプを検討する際には、これらの要因を考慮する必要があります。
SQLタイプ | 利点 | 不利益 |
---|---|---|
Cognos SQL | 改良された性能 サポートされているすべてのデータベースで作業する |
非標準SQLはサポートされていません |
ネイティブSQL | パフォーマンスの最適化 データベースに固有 |
SQLは別のデータベースでは機能しません。 データソースがサブクエリをサポートしていないSQLは使用できません。 |
パススルーSQL | データベースでサポートされているSQL | フレームワークのオプションはありません 最適化するマネージャー 自動的にパフォーマンス |
また、OLAPデータソースに基づいてクエリサブジェクトのSQLのタイプを変更することはできないことに注意してください。
SQLタイプを変更するには、変更するクエリサブジェクトに移動します。
に移動 Actions menu → Edit Definition and go to Query Information button。
に移動 Options → SQL Settings tab。
SQLのタイプを変更するには、[SQLタイプリスト]をクリックします。次に、[OK]をクリックします。