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

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

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

You are not logged in.

Announcement

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


#1 2020-10-06 14:04:46

neconoOmochi5
Member

1年間のフォローアップに基づき各レコードにラベルを付け、グループ分けに役立てたい

こんにちは。
いつもこちらで勉強させて頂いております。
解析の情報整理の為にFileMaker Proでデータベースを作成しております。
宜しければどなたかご教示いただけませんでしょうか。

既に入力中のデータベースの入力済みレコード(フィールドA,B,C,……)を使い、1年間のフォローアップに基づきグループ分けを行いたいです。
整理用のラベルとして新たにフィールドXを作成し、自動計算させたいと考えています。
フィールドXの計算式はどう書けばよいでしょうか。


フィールドA: フィールド(日付)

フィールドB: 繰り返しフィールド(日付)

フィールドC: 繰り返しフィールド(テキスト)

            ▶フィールドBとフィールドCの繰り返し番号(○番目)が対応しております。

フィールドX: フィールド(計算)

            ▶内容  「 フィールドBの最後の有効な値 - フィールドA ≦ 1年 」 ならば 「 フィールドCの最後の有効な値 」
                 「 これ以外 」 の場合は 「 空白 」


説明不足がありましたら申し訳ありません。
何卒よろしくお願い申し上げます。

Offline

#2 2020-10-06 14:25:01

チポ
Member

Re: 1年間のフォローアップに基づき各レコードにラベルを付け、グループ分けに役立てたい

> フィールドBの最後の有効な値
繰り返しの途中に空欄はありますか?

有効ではない値が入っている場合もあるのでしょうか?
その場合その判定法は?


ここでもさんざん言われていますが、、
データの収納として繰り返しフィールドは使わずに、
別テーブルにして、繰り返し1回を1レコートすれば後の処理がしやすくなりますよ。

Offline

#3 2020-10-06 15:54:19

Shin
Member

Re: 1年間のフォローアップに基づき各レコードにラベルを付け、グループ分けに役立てたい

フィールドB、フィールドC の最後の有効な値が入っている繰り返し位置が必ず一致するのでしたら、
Case ( Last ( フィールドB ) - フィールドA ≦ 365 ; Last ( フィールドC ) )
でいいでしょうが。
繰り返しは好ましくないので、別テーブルに置き換えると、リレーション条件で日付で降順にソートしておけば、単に、
Case ( リレーション::フィールドB ) - フィールドA ≦ 365 ; リレーション::フィールドC )
ですみます。

Offline

#4 2020-10-07 13:03:14

neconoOmochi5
Member

Re: 1年間のフォローアップに基づき各レコードにラベルを付け、グループ分けに役立てたい

チポ wrote:

> フィールドBの最後の有効な値
繰り返しの途中に空欄はありますか?

有効ではない値が入っている場合もあるのでしょうか?
その場合その判定法は?

ありがとうございます。
ただ、空欄や無効な値はありませんのでその点は問題なさそうかと思います。


チポ wrote:

ここでもさんざん言われていますが、、
データの収納として繰り返しフィールドは使わずに、
別テーブルにして、繰り返し1回を1レコートすれば後の処理がしやすくなりますよ。

そうですよね。繰り返しフィールドって、どうすれば上手く活用できるのかイマイチ理解できずにいる感覚があります。
別テーブルにしてポータル表示にしたらよいでしょうか。試してみます。

Offline

#5 2020-10-13 15:41:48

neconoOmochi5
Member

Re: 1年間のフォローアップに基づき各レコードにラベルを付け、グループ分けに役立てたい

Shin wrote:

フィールドB、フィールドC の最後の有効な値が入っている繰り返し位置が必ず一致するのでしたら、
Case ( Last ( フィールドB ) - フィールドA ≦ 365 ; Last ( フィールドC ) )
でいいでしょうが。
繰り返しは好ましくないので、別テーブルに置き換えると、リレーション条件で日付で降順にソートしておけば、単に、
Case ( リレーション::フィールドB ) - フィールドA ≦ 365 ; リレーション::フィールドC )
ですみます。

有難うございました。

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.007 seconds, 9 queries executed - Memory usage: 563.14 KiB (Peak: 570.26 KiB) ]