1
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 ディメンショナルモデルでのフィルター&値のプロンプト&ドリルスルーの例

Last updated at Posted at 2018-11-15

#概要
ディメンショナルモデルとは、サンプルの「GOデータウェアハウス(分析)」みたいな感じに、標準ディメンションや数値ディメンションで構成される、階層を持ったモデルです。
こういうモデルでは、クエリーにフィルターをかける時、いっつも便利に使っている「詳細フィルター」を使うと、すんごいパフォーマンスが遅くなったりします。
ディメンショナルモデルでは、本来「詳細フィルター」ではなく、「filter関数」や「スライサー」を使うのですが、パラメーターと一緒に使う時どうやって書くんだっけと、いっつも忘れてしまうので、自分のメモも兼ねて投稿しておきます。
001.JPG

#1. フィルターの作成
##①. オブジェクト上に登場するデータアイテムに対するフィルター&パラメーター作成
オブジェクト上に登場するデータアイテムとは、例えば以下のようなクロス集計の場合「製品ライン」や「年」はクロス集計上に登場していますので、これらのデータアイテムの事を言います。
逆にオブジェクト上に登場しないとは、このクロス集計に対して「発注方法」でフィルターをかけたい様な場合です。このやり方は、手順②でご説明します。
image.png

クエリーエクスプローラーから、クロス集計に使用されているクエリーを開き、「ツール・ボックス」から「データ・アイテム」をドロップし、名前を入力後、式の定義に以下のように記載します。
filter([販売].[製品].[製品].[製品ライン],caption([販売].[製品].[製品].[製品ライン]) in ?pPL?)
→[販売].[製品].[製品].[製品ライン] はレベルとなります。pPLがパラメーターとなります。
image.png

ページエクスプローラーに戻り、データからデータ・アイテムタブを選択し、作成した「製品ライン」をクロス集計のエッジに配置します。
image.png

この状態でレポートを実行すると、filter関数が作成したプロンプトが表示されるので、任意の値を選択し「OK」。
image.png

選択した値で絞り込まれたクロス集計が表示されます。
image.png

プロンプトページに「製品ライン」を選択させる値のプロンプトを作成するために、新規にクエリーを作成し、以下の式の定義でデータアイテムを作成します。
caption([販売].[製品].[製品].[製品ライン])
image.png

プロンプトページで「値のプロンプト」を配置します。既存のパラメーターを使用を選択し「pPL」を指定し「終了」。
image.png

値のプロンプトのプロパティから、「クエリー」と「使用する値」を選択します。
image.png

レポートを実行します。
image.png

##②. オブジェクト上に登場しないデータアイテムに対するフィルター&パラメーター作成
クエリーエクスプローラーで、クロス集計のクエリーを選択し、「スライサー・メンバー・セット」を「スライサー」に配置し、式の定義で以下の記載をします。
set(#promptmany('pOM','memberuniquename')#)
→pOMはパラメーター名、memberuniquenameはデータタイプを指定します。
image.png

プロンプトページに「発注方法のタイプ」を選択させる値のプロンプトを作成するために、新規にクエリーを作成し、以下の式の定義でデータアイテムを作成します。
caption([販売].[発注方法].[発注方法].[発注方法のタイプ])
image.png

プロンプトページで「値のプロンプト」を配置します。既存のパラメーターを使用を選択し「pOM」を指定し「終了」。
image.png

値のプロンプトのプロパティから、「クエリー」と「使用する値」を選択します。
image.png

レポート実行
image.png

#2. ドリルスルーの実装
前述のfilter関数やスライサーを使用してパラメーターを作成した場合の、ドリルスルー指定の方法を説明します。
ドリルスルーのターゲットとなるレポートには、同じ方法で作成したpPL、pOMをパラメーターとして持ったフィルターが設定されています。

##①. ソースレポートでのパラメーター値を引き継ぐ場合
ドリルスルー定義で、以下のように「方法」「値」「渡すプロパティー」を指定します。
image.png

##②. ソースレポートでのデータアイテムの値を引き継ぐ場合
pPLの「方法」「値」「渡すプロパティー」の様に指定します。
image.png

もちろん、これ以外の組み合わせでもうまく行く方法はあると思いますが、取りあえずうまく行った組み合わせ、という事での例とお考え下さい。
以上、ご活用下さい。

#参考情報
Cognos Analytics スライサーのレポートをURL呼び出し
https://qiita.com/shinyama/items/b36df0643e7f63d5c07d

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?