フォームでエラー「クライアント側で処理中のデータのサイズが利用可能なメモリ量を超えました。」が表示される

Operation Error Message FAQ

質問

フォームを表示する際に、メモリ不足エラーが表示されました。

データ量や計算式の多いフォームを表示する際に、以下の様なメモリ不足エラーメッセージが表示されます。

エラー内容

out-of-memory-msg-client.jpg
クライアント側で処理中のデータサイズが、利用可能なメモリー量を超えました。データサイズを小さくして再度お試しください。

回答

当エラーは、 クライアント側コンピューターのメモリ不足 に関するエラーです。
クライアント側の割り当てメモリサイズに関しては、当該端末のメモリサイズや使用状況、CPU アーキテクチャ等を勘案して決定することになります。

詳細・メモリ割り当て方法については、以下 マニュアルページ および Q&A をご参照ください。

フォーム設計に関するメモリ不足のよくある原因としては、いわゆる「データ爆発」が挙げられます。
例えば、ループ仕様のメンバリストに「ルートメンバ全ての子孫」が指定された場合、明細行 1 行にデータが投入されると、それに数倍する集計行を作成しなければなりません。
仮に集計階層が 4 階層あるディメンションが 3 つあるとすれば、明細行 1 行の集計先の行は 4 の 3 乗で、64 行になり、集計行が爆発的に増えるため、処理速度が遅くなり、メモリも不足してしまいます。
このようなフォーム設計に起因するメモリ不足の場合は、設計を見直すことでメモリ使用量が緩和される場合がございます。

フォームトレーニング資料には、フォーム設計の Tips が含まれています。
資料は、 こちら の記事からダウンロードできます。