みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
こんにちは
早速ですが、質問です。
使用ソフト:FileMaker Pro 19.3.2
【質問内容】
連続した数字をカウントし、0の場合はリセットさせるにはどのようにしたら良いでしょうか?
【詳細】
成功した場合は「1」、失敗した場合は「0」となる記録フィールドを作成、0 1 0 1 1 1 となっているものを、
連続成功回数として別フィールドに「3」と返すように作成をしたいです。
また、この記録フィールドは毎月増え続けるため、次0の場合は「0」を返し、次1の場合は「4」となるようにしたいです。
フィールド自体は日付でソートをかけている為、一度入力された数字の順番は変わりません。
説明不足であれば申し訳ございません。
以上の解決方法についてご教示お願いいたします。
Offline
そのフィールドを、List() または、一覧の集計フィールドで、そのフィールドのテキスト列(改行区切り)を取得します。
最後が "0" ならば 0 を返し、"1" ならば、¶ を "" に置換して、"0" を ¶ に置換して、最後のword の長さを数えます。
ちょっとだけ運用を変えて、成功したら前の数字に1加える、というようにしておくと、すごく簡単になりますが。
Last edited by Shin (2022-04-27 17:01:31)
Offline
> 成功した場合は「1」、失敗した場合は「0」となる記録フィールド
記録1回ごとに1レコードでしょうか?
それとも
> 0 1 0 1 1 1 となっている
これは1フィールド?
Offline
>shinさん
ありがとうございます。
やってみます。
>チポさん
分かりづらい説明で申し訳ございません。
記録1回毎に1レコードになります。
Offline
そのグループの直前のレコードが照合一番目となるリレーションを設定して、
計算フィールド
Case ( 記録 ; 1 ⁺ 自己リレーション::計算フィールド ; 0 )
これがそのレコード時点の連続回数ですね。
Offline
>チポさん
>>そのグループの直前のレコードが照合一番目となるリレーションを設定
ここで躓いておりまだ検証できておりませんが、いろいろ試してみます。
ご教示いただきありがとうございます。
Offline
一連の記録を比較できるように、
その対象となるフィールドがありますよね。
かりにIDとしますね。
その連続はレコード作成順として、
各レコードに作成順にシリアル番号を振ります。
自己リレーション
ID = ID
and
シリアル > シリアル
シリアルの降順でソート指定
これで直前のレコードを一番に参照できます。
Offline
>チポさん
すみません。。ご丁寧にありがとうございます。
おかげ様で思い通りに動かす事ができました。
ご解説いただきありがとうございます!
Offline
Pages: 1
[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 555.97 KiB (Peak: 579.63 KiB) ]