年度末になるにつれブラウザでの表示に時間がかかる

Form Operation FAQ

質問

ブラウザ上で、大量の伝票明細データを表示しています。
年度の初めは短時間で表示されますが、年度の終わりには表示時間がかかるようになりました。 対応方法を教えてください。

回答

fusion_place のデータは、年度単位で月別欄を横持ち(1レコード上に並べて保持)しているので、相対期間を指定してデータを照会しても全月のデータが検索結果に含まれます(表示上は絞り込まれます)。 このことから、データ量の少ない年度初めに比べ、年度の終わりには検索に時間がかかることが考えられます。

対策として、例えば伝票データを保持する元帳に「伝票期間」といったカスタムディメンションを加える方法がございます。 以下のような設定を行います。

  1. 伝票期間ディメンションを相対期間と同じ構造で新規作成します。伝票明細データを保持する伝票用元帳で、当ディメンションを「使用」するように設定下さい。

  2. データインポート用のフォームのインポート仕様で、入力データから導出した相対期間「M1,M2,…​」と同じ値を伝票期間にも設定します。
    すなわち、M1データの場合、相対期間「M1」×伝票期間「M1」の組み合わせでデータを登録します。

  3. 伝票検索用フォームでは、パラメータとして、(本件改善前と同様に)相対期間を指定し、フォーム内で、相対期間を伝票期間に読み替えて当伝票期間を対象とするようにします。
    具体的には、縦軸または横軸いずれかの最上位に、伝票期間ディメンションのループを設け、そのメンバリストの「メンバ選択式」にて、以下のように、パラメータで選択された相対期間と一致する伝票期間のみ対象とするようにします。

      Dimensions!@CUR!@CUR.Label = Dimensions!#PERIOD!@POV.Label

    ※上記は、パラメータで各「月」が選択される想定です。上半期・下半期など集約期間も選択可能とするためには式に工夫が必要です。

以上の対応により、相対期間(月)を指定してフォームを開くとその月のデータのみ検索対象とされるようになりますので、検索速度の改善が見込まれます。

加えて、以下のような改善方法がございます。

伝票データ保持用に、通常の実績シナリオとは別の「伝票実績」といったシナリオを設けます。
このシナリオの「最小期間単位」を「年 / Y 」としておきます。
月別の区分は伝票期間ディメンションにて行えるので、相対期間ディメンションで行う必要はないためです。 これにより、月別横持ち保持が行われなくなるため、メモリ節約につながります。
ただし、伝票データのように単一月にしかデータがない場合、フロー勘定のデータはもともと圧縮されて保持されますので、効果は限定的かもしれません。
バランス勘定の伝票データも取り込まれているなら、効果は大きいと思われます。