Posted at

Cognos クロス集計で数値の入っているセルのみドリルスルーを設定する

More than 1 year has passed since last update.


概要

以前、ドリルスルーを設定した際のパフォーマンスの劣化の原因を説明するため、こちらの記事を投稿しました。

Cognos BI ドリルスルー使用時のパフォーマンス上の注意点

https://qiita.com/shinyama/items/2fa81dfd42689eb1b407

平たく言えば、「ドリルスルーポイント分だけ、パラメーターで指定された値を繰り返し持つ」という、Cognosのレポートの仕様によるもので、これは以下の様なクロス集計をドリルスルー元とした場合でも同じです。

この場合、クロス集計は4列x5行で20セルありますので、ドリルスルーポイントも20個となり、「Fax」という文字の情報が、20回繰り返されてレポートに保持されます。

001.PNG

お気づきの通り、「2010年」の「Mountaineering Equipment」は、データがNULLで入ってないですが、このブランクセルにもドリルスルーは内部的には設定されていて、「Fax」という文字を保持します。

一般的なクロス集計では、このような空白のセルは多いですので、この空白セルからドリルスルーを排除できたらパフォーマンスが向上できる、というのが今回の内容です。


手順

やり方は簡単です。

クロス集計のセルの中に「条件ブロック」を入れています。

ブロック変数の条件がYesの時、ドリルスルーが設定された「Quantity」が配置されています。

002.PNG

条件がNoの時、ドリルスルーは設定されていない、そのままの「Quantity」が配置されています。

003.PNG

コンディション・エクスプローラーで、ブール値変数として、以下の定義を置いています。

004.PNG

非常に単純ですが、クロス集計が「遅い」「ドリルスルーを設定している」「空白セルが多い」という環境では、非常に効果がありますので、是非覚えておいて頂ければと思います。