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

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

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

You are not logged in.

Announcement

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


#1 2022-10-06 18:07:52

うま
Guest

繰り返しフィールド内の計算について

環境:FMP17 MAC

5レコード毎に1つ前のレコードのデータを合計していくフィールドを作成したのですが繰り返しフィールドにするとうまく動きません。
繰り返しフィールドでない場合はうまく動いてます。

[成功]
回数:数字
数:数字
合計:計算 If ( Mod ( 回数;5 ) ≠ 1 or 回数 ≠ 1 ; GetNthRecord ( 合計 ; Get ( レコード番号 ) - 1 ) + 数 ; 数 )

レコード1の数=1、レコード2の数=2・・・・レコード5の数=5、レコード6の数=6、レコード7の数=7
レコード1の合計=1、レコード2の合計=3・・・・レコード5の合計=15、レコード6の合計=6、レコード7の合計=13

[失敗]
回数:数字
数[3]:数字
合計[3]:計算 If ( Mod ( 回数 ;5 ) ≠ 0  or 回数 ≠ 1 ; GetNthRecord ( 合計 ; Get ( レコード番号 ) - 1 ) + 数 ; 数 )

合計[1]は上記と同じ計算結果が表示されますが合計[2]と合計[3]は?になってしまいます。

何が原因は分からず困り果ててます。
どなたか解決方法わかる方いらっしゃいますか?

#2 2022-10-06 19:31:44

himadanee
Guest

Re: 繰り返しフィールド内の計算について

非繰り返しフィールドを参照する場合は
回数[1]
のように参照する繰り返し番号を指定する必要があります。
(指定しないと繰り返し2では回数[2]という存在しない値を参照してしまう)

#3 2022-10-07 08:57:28

Shin
Member

Re: 繰り返しフィールド内の計算について

繰り返し計算については任せるとして、
その計算式そのものに問題が出るようになります。その式が参照している式は、さらに同じ合計フィールドを参照していますね。そのフィールドがさらに別の合計フィールドを参照しているという、つまり再帰になっています。
おそらく1700レコードを過ぎたあたりから値を返さないようになります。
再帰にならない別の式を考えられた方がいいでしょう。

例えば、
回数グループ:Div ( 回数 - 1 ; 5 )
という計算フィールドを作っておきます。
数を合計する集計フィールドを作って、現在の合計、回数グループごとにリセットするようにしておきます。そのフィールドを回数と回数グループでソートしたレイアウトで配置します。
繰り返しを使っていても、個別に集計させれば大丈夫です。

Last edited by Shin (2022-10-07 20:43:25)

Offline

#4 2022-10-07 15:48:04

うま
Guest

Re: 繰り返しフィールド内の計算について

>himadaneeさま Shinさま
お二人とも、ありがとうございます。思っていたことができました。
とくにShinさまのファイルはとても勉強になりました。

さらに質問なのですが、この合計した数をリレーションで参照することはできないのでしょうか?
回数をキーにしてリレーションを設定したのですが、計算フィールドでは全て?になり、Shinさまのファイルだと合計されてない数(2回目だと15、4、6)が表示されてしまいます。

#5 2022-10-07 16:31:30

Shin
Member

Re: 繰り返しフィールド内の計算について

現在の集計値ですので、別のところから参照する事はできませんね。リレーション集計の手法で。
https://www.dropbox.com/s/ef6uq2tiuasxb … 2.zip?dl=0

Offline

#6 2022-10-08 00:19:50

うま
Guest

Re: 繰り返しフィールド内の計算について

> Shinさま
ありがとうございます。
大変勉強になりました。

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.005 seconds, 7 queries executed - Memory usage: 554.55 KiB (Peak: 581.6 KiB) ]