0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Cognos パフォチュー事例 - プロンプトとフィルターの対象

Posted at

概要

Cognosに限らず、BIでレポートを生成する場合は、データソースとしてのテーブル構造はいわゆるスター・スキーマ型になると思います。
例として以下のようなテーブル構造の場合、プロンプトとして選択するデータ項目、フィルターの対象となるデータ項目はどのように考えれば良いでしょうか。
この選択を誤り、パフォーマンスに大きな影響が出ている環境を見かける事が多いので、投稿しておきます。
001.PNG

プロンプトとして選択するデータ項目

例えば日付のプロンプトを作成する場合、図のようにDimension表の「日」を選択します。
時々、FACT表の「出荷日」をプロンプトに指定している環境を見かけますが、この場合、プロンプトに日付を並べたいだけなのに、巨大なFACT表を全行取得して、日付を取得する処理になってしまいます。
002.PNG

また、「製品ライン」をプロンプトで使用したい場合に、そのままプロンプトウィザードで「製品ライン」をDimension表から取得しているケースも多く見られます。
この様な場合、下記のように表示する値は「製品ライン」で良いですが、使用する値に「製品ラインコード」を使用するようにしましょう。
「製品ライン」の名称より「製品ラインコード」の方が、文字数として短い事が一般的で、レポートのクエリーにフィルターをかける際に、より効率的な絞込みができます。
004.PNG

また、プロンプトを取得するクエリーのプロパティで「Limited Local」に設定して、キャッシュを使用する事でパフォーマンスが改善される事もあります。
パフォーマンスが出ない場合は、試してみてください。

フィルターの対象となるデータ項目

フィルターの対象となるデータアイテムの選定は、
・PK、INDEXが張られているデータアイテムを使用する
・可能であれば、ファクトテーブルのキー項目のデータアイテムに対してフィルターを作成し、Dimension表との間に不要なテーブル結合を発生させない
という事を考慮して行いましょう。
以下の図の場合、前者が「製品ラインコード」、後者が「出荷日」という事になりますね。
003.PNG

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?