ドリル・スルー・レポートでのSQL IN句の制限の拡大

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

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

'エラー: 関係<メンバー名>が存在しません'

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

注意:

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

  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サービスを起動します(サーバーの停止、起動および確認を参照)。