LoginSignup
1
0

More than 5 years have passed since last update.

Cognos のリレーショナルモデルでドリルダウン&ドリルアップを実装

Posted at

概要

Cognos BI や Cognos Analyticsでは、ドリルダウン&ドリルアップの動作を実現する時は、Framework Managerでディメンショナルモデル(DMR)を作成する必要があるのが通常です。
DMRとは、Cognosサンプルで言うところの、こんな感じの標準ディメンションを作成する、階層を持ったモデルです。
015.PNG

しかしながら、このDMRモデルの開発スキルが無い、機能が制限される、扱いにくいなど、様々な理由でDMRモデルを使いたくない時もあります。

そんな時に使える、通常のリレーショナルモデルでドリルダウン&アップ動作を再現させる方法を紹介します。

動作イメージ

Cognosサンプルでお馴染みの、「製品ライン」「製品タイプ」「製品」で、ドリルダウン&アップしてみようと思います。
レポート実行時の初期表示では、「製品ライン」のみがクロス集計に配置されています。
「アウトドア保護用品」をクリックしてみます。
001.PNG

すると以下のように、「製品タイプ」列が現れ、「アウトドア用保護用品」に紐づく「製品タイプ」のみが表示されている事がわかります。
いわゆるドリルダウンをした動きですが、Cognos標準のドリルダウンとは違います。
Cognos標準のドリルダウンの場合は、ここで「製品ライン」の列は表示されず、「製品タイプ」列のみの表示になります。
とはいえ、むしろこの「製品ライン」も表示されている動きの方が好まれるユーザーも多いと思います。
「救急用具」をクリックします。
002.PNG

さらにドリルダウンされ「製品」列が表示されました。
当然「救急用具」に紐づく「製品」です。
ではここで「救急用具」をクリックしてみます。
003.PNG

ドリルアップしましたね。
「アウトドア用保護用品」をクリックします。
004.PNG

さらにドリルアップして、最初の「製品ライン」のみの表示に戻りました。
005.PNG

さて、どの様に実装しているかですが、見る人が見れば直ぐにわかりますが、ドリルスルーを使っているだけです。

実装

レポートは実は3つ作成しています。
製品販売レポート:「製品ライン」のみ配置
製品販売レポートL2:「製品ライン」「製品タイプ」を配置
製品販売レポートL3:「製品ライン」「製品タイプ」「製品」を配置
014.PNG

製品販売レポートのイメージ
「製品ライン」に設定したドリルスルーで、「製品販売レポートL2」を呼び出し、「データアイテムの値」を渡しています。
006.PNG

クロス集計のクエリーは以下で、特筆する事は無いです。
007.PNG

製品販売レポートL2のイメージ
「製品ライン」に設定したドリルスルー、つまりドリルアップ操作相当は、「製品販売レポート」を呼び出し、何も渡しません。
008.PNG

「製品タイプ」に設定したドリルスルー、つまりドリルダウン操作相当は、「製品販売レポートL3」を呼び出し、「製品ライン」のために「パラメーター」を渡し、「製品タイプ」のために「データアイテムの値」を渡します。
009.PNG

クエリーはこんな感じで、「製品ライン」をパラメーターで受けるためのオプショナルフィルターが設定されています。
010.PNG

製品販売レポートL3のイメージ
「製品ライン」に設定したドリルスルー、つまり一挙に最初までドリルアップ操作相当は、「製品販売レポート」を呼び出し、何も渡しません。
011.PNG

「製品タイプ」に設定したドリルスルー、つまりドリルアップ操作相当は、製品販売レポートL2」を呼び出し、「製品ライン」のために「パラメーター」を渡します。
012.PNG

クエリーはこんな感じで、「製品ライン」「製品タイプ」をパラメーターで受けるためのオプショナルフィルターが設定されています。
013.PNG

という感じの実装で、実はわりと単純ですが、結構使える場面も多いと思いますので、覚えておいて頂ければと思います。
また、今回はコンセプトのご紹介のため、レポートを3つに分けて実装しましたが、ドリルスルーのターゲットを自分自身のレポートとして、クリックする列により引き継がれるパラメーターで、列の表示・非表示を条件付スタイルで制御すれば、同様の動きを1つのレポートで実装する事も可能です。

是非ご活用頂ければと思います。

1
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
1
0