初心者のFileMaker pro Q&A (旧掲示板)

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 2023-08-22 13:27:19

minami
Guest

計算フィールドが途中でエラーに

いつもお世話になっております。
商品の累積出庫数を計算フィールドで計算させたところ、183件目までは計算されたのですが184件目から結果が?になってしまいました。
また、累計フィールドはレイアウトモードで入力可能に設定しているのですが、183件目(計算できている最後のレコード)ではフィールドがアクティブになりません。
初めての現象で全く原因がわかりません。
お分かりになる方がいらっしゃいましたら、お教えいただけますでしょうか?

[実績テーブル]
商品名   出庫数    累計   レコード番号
りんご     27      4354      181
りんご     54      4408      182
りんご     54      4462      183
りんご     54        ?         184

累計フィールドの計算式は以下の通りです。

If (
Get ( レコード番号 ) = "1";
出庫数;
出庫数 + GetNthRecord ( 累計;Get ( レコード番号 )-1 )
)

#2 2023-08-22 13:50:26

Shin
Member

Re: 計算フィールドが途中でエラーに

計算が再帰になっていますので、スタックがオーバーフローしたのでしょう。
累計を、出庫数を合計する集計フィールドに変更し、現在の集計値 にすればいいです。
または、レコード番号で自分以下を対象とする自己リレーションをはり、Sum(出庫数) でもいいです。

Last edited by Shin (2023-08-22 13:51:24)

Offline

#3 2023-08-22 13:55:27

チポ
Member

Re: 計算フィールドが途中でエラーに

商品名でリレーションしているんですよね?

とすれば累計フィールドは索引非保存になりますから、
自身の計算のために、自身以前のすべてのレコードで計算することになります。

これがオーバーフローしているのでしょう。

回避策はいくつか考えられますが、、

例えば、
自身以前と照合するようにリレーションすれば、
Sum関数で一発ですが。。

Offline

#4 2023-08-22 14:04:22

minami
Guest

Re: 計算フィールドが途中でエラーに

Shin様、チポ様
回答ありがとうございます。
勝手にややこしくしてただけだったのですね…w
集計フィールドの現在の合計で出来ました。ありがとうございました。

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.005 seconds, 9 queries executed - Memory usage: 547.77 KiB (Peak: 579.59 KiB) ]