ドリル・スルー・レポートでのSQL IN句の制限の引上げ

SQL IN句の制限をデフォルトの1000メンバー以上に引き上げることで、ドリル・スルー・レポートのエラーを解決します。

ドリル・スルー・レポートがエラーで失敗した場合

'ERROR: relation <member name> does not exist'

この失敗は、SQL IN句のメンバーがデフォルトで1000に制限されているために発生します。このデフォルトは、EssbaseおよびOracle Databaseに対して存在します。

注意:

Essbaseプラットフォームには、Essbase機能の環境および動作をカスタマイズできるスクリプトが<DOMAIN HOME>/binに含まれています。ただし、これらのドメイン環境や起動スクリプトを変更すると、起動時の障害など、意図しない影響が発生する可能性があります。最初にテスト環境で変更を行うことをお薦めします。これらのスクリプトを編集する前に、常に次を行ってください:

  1. <DOMAIN HOME>/esstools/bin/stop.sh (Linuxの場合)または<DOMAIN HOME>\esstools\bin\stop.cmd (Windowsの場合)を使用して、Essbase管理対象サーバーを停止します。

  2. <DOMAIN HOME>/binで、編集するファイルのバックアップ・コピーを作成します。例

    Linuxの場合

    cp setStartupEnv.sh setStartupEnv_bak.sh

    Windowsの場合

    copy setStartupEnv.cmd setStartupEnv_bak.cmd
  3. Oracleドキュメントの手順のみを使用して、またはOracleサポートとともに作業して、慎重に編集します。

  4. <DOMAIN HOME>/esstools/bin/start.sh (Linuxの場合)または<DOMAIN HOME>\esstools\bin\start.cmd (Windowsの場合)を使用して、Essbaseを再起動します。起動が正常に完了したことを確認します。

制限の拡大が外部データベースによってサポートされている場合に、ドリル・スルーのSQL IN句の制限を引き上げるには

  1. Essbaseサービスを停止します(サーバーの停止、起動および確認を参照)。
  2. Essbaseがデプロイされているマシンで、<Domain Home>/binに移動します(Essbaseプラットフォーム内の各環境の場所を参照)。
  3. 起動スクリプト(setStartupEnv.sh (Linux)またはsetStartupEnv.bat (Windows))のバックアップ・コピーを作成します。これを別の名前で保存します(例: cp setStartupEnv.sh setStartupEnv_orig.sh)
  4. setStartupEnv.shまたはsetStartupEnv.batを編集用に開きます。
  5. 構成行を追加して、制限を1000以上に引き上げます。

    Linuxの例(setStartupEnv.sh):

    JAVA_OPTIONS="${JAVA_OPTIONS} -Ddtr.in.clause.limit=15000" export JAVA_OPTIONS

    Windowsの例(setStartupEnv.bat):

    set JAVA_OPTIONS=%JAVA_OPTIONS% "-Ddtr.in.clause.limit=15000"
  6. setStartupEnv.shまたはsetStartupEnv.batを保存します。
  7. Essbaseサービスを起動します(サーバーの停止、起動および確認を参照)。