みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
使用環境はwin8.1、FM12です。
ある繰り返しフィールドがあります。
この繰り返しフィールドは18の繰り返しで定義されているテキストフィールドです。
あるレイアウト上では合計で10のレコード数があります。
繰り返しフィールド1~8
繰り返しフィールド9~15
繰り返しフィールド16~18
このように繰り返しフィールドを区切って、
その区間のレコードカウント集計を取りたいです。
もっと具体的に言えば、
1~8の繰り返しフィールドのレコードカウント集計
9~15の繰り返しフィールドのレコードカウント集計
16~18の繰り返しフィールドのレコードカウント集計
これはできますでしょうか?
Offline
18コマを3グループ分けで集計だから、
繰り返し[3回]のカウント「計算フィールド」とその合計の「集計フィールド」で求める簡潔な方法。
「集計フィールド」を使うので、任意絞り込みした対象レコードを対象に集計ができます。
●「計算フィールド」
繰り返し[3回]の計算フィールドを作り、以下の式(再帰ループ式)を設定、(結果:数値、結果は索引保存)
++++++++++++++++
Let(
[
$fnc=
"Case($str>$end; $cnt;
Let([
$cnt=Sum($cnt; IsEmpty(18回フィールド[$str])=0);
$str=$str+1
]; Evaluate($fnc))
)"
];
Choose(Get(計算式繰り返し位置番号) + Left(List(18回フィールド); 0) //← +Left(…; 0) 式部は 自動計算誘発トリガ 目的のダミー式
; ""
; Let([$str=1; $end=8; $cnt=""]; Evaluate($fnc))
; Let([$str=9; $end=15; $cnt=""]; Evaluate($fnc))
; Let([$str=16; $end=18; $cnt=""]; Evaluate($fnc))
)
)
++++++++++++++++
●「集計フィールド」
繰り返し[3回]の集計フィールドを作り、上記 計算フィールドの個別繰り返しごとの合計 を設定してお終い。
//////////////////////////////////////////////
【 補足 】2018/06/25 2:28
実装は簡単ですが、念のためサンプルをアップしておきます。
●サンプル「繰り返し内グループ分け個別集計.fmp12」 → https://yahoo.jp/box/bOBO-8
Last edited by Hiro (2018-06-25 02:27:40)
Offline
3個の繰り返しフィールドへ分解して、集計する、というのが簡単でしょうね。
Offline
ベタベタですが、
Count ( 繰り返し[1] ; 繰り返し[2] ; 繰り返し[3] ; 繰り返し[4] ; 繰り返し[5] ; 繰り返し[6] ; 繰り返し[7] ; 繰り返し[8] )
Count ( 繰り返し[9] ; 繰り返し[10] ; 繰り返し[11] ; 繰り返し[12] ; 繰り返し[13] ; 繰り返し[14] ; 繰り返し[15] )
Count ( 繰り返し[16] ; 繰り返し[17] ; 繰り返し[18] )
の三つのフィールドを作り、
これを集計すればいいですね。
分かりやすいかも。。
Offline
>#4チポさん『ベタベタですが、…(#4式)… 分かりやすいかも。』
もし、#2の再帰ループ式が分かりづらいので、ベタベタ式を採るとしても、
下式のように、3つのフィールドを1つの繰り返し[3回]フィールドへまとめて、
6個フィールド追加でなく2個繰り返しフィールド追加だけに留めた方が、
少しはスマートなベタベタでないかなぁ、…!
Choose( Get(計算式繰り返し位置番号)
; ""
; Count(繰り返し[1]; 繰り返し[2]; 繰り返し[3]; 繰り返し[4]; 繰り返し[5]; 繰り返し[6]; 繰り返し[7]; 繰り返し[8])
; Count(繰り返し[9]; 繰り返し[10]; 繰り返し[11]; 繰り返し[12]; 繰り返し[13]; 繰り返し[14]; 繰り返し[15])
; Count(繰り返し[16]; 繰り返し[17]; 繰り返し[18])
)
Last edited by Hiro (2018-06-25 15:52:29)
Offline
HIroさんの再起式を見て、
あえてベタベタの提案をしました。
再起をやめて、繰り返しもやめて、と。。
スマートならHiroさんの式でしょう。
そもそもですが、
繰り返しを使うのが正しいのか考える必要があるのでは。
Offline
Pages: 1
[ Generated in 0.005 seconds, 9 queries executed - Memory usage: 514.11 KiB (Peak: 519.02 KiB) ]