集計フィールドの意外な落とし穴

集計フィールドの意外な落とし穴

 

集計フィールドを設定すると、このようなメッセージが表示されることがあります。

これは、集計対象となるレコードの数などに起因しています。
今回は、この集計メッセージによって困惑した話になります。

とあるユーザから
「表示されない集計フィールドの処理メッセージが表示されるのは何故?」
「時間がかかるので、表示させていないなら、この処理はなくせないのか?」
とご質問を受けました。

該当レイアウトの集計フィールドは、次の場合にオブジェクトを隠す条件を設定しており、集計はされないはずでした。

画像の通り、集計フィールドを隠す条件はしっかりと設定されていました。

MacPCでシステムの調査を行うも、同様の現象が発見できず・・・
WindowsPCでのみ発生している現象だと判明しました。

WindowsPCで何故集計されるのかを確認しました。
確かに集計のメッセージが出てくる。しかしながら、レイアウト上にはやはり表示されない。
集計フィールドをレイアウトから一時的に削除しても集計のメッセージが表示されました。
『何かがおかしい・・・』と思い始めました。
隠す条件に不具合があるのだろうと思っていたのですが、レイアウトにある集計フィールドを消しても現われるメッセージに違和感を感じました。
レコード100件を表示した状態で該当レイアウトへ遷移した時違和感の正体がわかりました。

フィールドの名前が違う!!

処理メッセージにある集計フィールドの名前とレイアウトに設定しているフィールド名が異なっていたのです。
どこかに問題のある集計フィールドが設定されている???
レイアウトに設定されているフィールド全て見直しました。
ですが、レイアウトの中にはそのフィールドは見つかりませんでした。
いったいどこに隠れているというのか・・・

オブジェクトパネルで一つ一つ確認すると、
レイアウト表示範囲外にそれはありました。

これを削除すると、メッセージは表示されなくなりました。

WindowsPCであれば、表示範囲外の集計フィールドも集計処理がかかる
皆様も、このような落とし穴にご注意ください。

ご存知のこととは思いますが、集計フィールドをレイアウトに配置しているだけで表示速度は遅くなります。
速度を重視する場合には、集計フィールドの利用は避けた方がよろしいでしょう。

ご覧いただきありがとうございました。