概要
Cognos Analyticsのレポートで、以下のような実際に存在する数値データ(返品数量)を、値のプロンプトに表示してフィルタリングを行う実装方法です。
月とか製品みたいな文字列データであれば普通ですが、数値データを値のプロンプトで指定するのはちょっと工夫が必要です。
実装
レポートの実装としては、こんな感じにリストと値のプロンプトを配置します。
クエリーの構成はこちらです。
プロンプト用のクエリー:PromptQuery、リスト用のクエリー:ListQueryを作成しています。
それぞれのクエリーには、月、製品、返品数量が入っています。
※プロンプトのクエリーをリストのクエリーにリダイレクトして、処理を「ローカルのみ」に指定しているのは、本稿の実装の本質ではなく、パフォーマンス上、発行されるクエリーを減らす工夫のためです。
この状態でレポートを実行してみると、こんな感じになり、返品数量が合計されたものが1件のみ選択肢として表示されます。
これを解消するために、値のプロンプトのプロパティで、「データ」→「プロパティ」から、画面のように「月」と「製品」にチェックを入れます。
この状態で実行すると、以下のようになります。
※数値は1から途切れなく並んでいるように見えますが、実際は存在する返品数量の値を並べています。
返品数量=10を選択してみると、しっかり絞り込まれ該当の月と製品のデータのみが表示されます。
参考情報
元ネタはこちらです。
IBM Cognos BI Report Studio - Measure Based Value Prompt
https://www.ibm.com/developerworks/analytics/library/ba-pp-reporting-prompts_and_filters-page684/index.html