Cognos BI でデータ量の制限をする方法をまとめました。
データ量の制限とは、Cognosのレポートを実行するとクエリーがデータベースに投げられて処理されますが、結果セットが何万行とかなると、CognosがCPUやMemoryリソースを大量に消費してしまい、全体のスローダウンにつながるので、その前にさっさとエラーにしてしまうための設定です。
CQM(Compatible Query Mode)とDQM(Dynamic Query Mode)で違うので、以下に記載します。
CQMの場合
Framework Managerのメニューで、「プロジェクト」→「ガバナーを編集」で表示される、以下の2項目で制限をかける事ができます。
特に使うのは、「取得した行の最大数」「クエリー実行時間の上限」ですかね。
これはパッケージ単位に設定する事ができる事になります。
DQMの場合
DQMの場合は、上記のガバナーの設定は効かないので、こちらのTechnoteの設定が必要です。
これはQuery Service単位の設定なので、ディスパッチャー全体への設定になりますね。
【Preventing large queries from exceeding memory capacity by specifying a tuple limit】
http://www.ibm.com/support/docview.wss?uid=swg21691156
Query Service の advanced setting に qsMaxCrossjoinOrderOfMagnitude と数値を設定します。
数値は0~10の間を指定のようですが、検証した限り、小数でも良いようです。
この数値は、結果セットのTuple(セルのようなイメージ)の制限値を、10のべき乗で制限されます。
例えば、6に設定した場合、10の6乗なので、1,000,000個のTupleの制限となります。
Tupleの指定ですが、DMRのパッケージだけでなく、Relationalのパッケージでも使用できます。
Cognos Analytics 11 でのデータ量制限
Cognos Analytics 11に関しては、こちらをご参照下さい。
Cognos Analytics 11 でのデータ量制限設定の動作
https://qiita.com/shinyama/items/fcf7682687df00bbb96d