みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
お世話になります。
win7 FMpro13adを使用しています。
質問なのですが以下のようなレコードがあり
(患者番号) (曜日コード) (曜日) (シフト番号)
1 1 月曜
1 3 水曜
1 5 金曜
2 1 月曜
3 2 火曜
3 4 木曜
3 6 土曜
月水金3日間あればAシフト、火木土3日間あればBシフト、それ以外の条件は不正値という設定で、
下記のように「シフト番号」フィールドに値を入れたいと思います。
(今回の場合、患者番号1の方がAシフト、患者番号3の方がBシフト、患者番号2の方が不正値になります)
(患者番号) (曜日コード) (曜日) (シフト番号)
1 1 月曜 Aシフト
1 3 水曜 Aシフト
1 5 金曜 Aシフト
2 1 月曜 不正値
3 2 火曜 Bシフト
3 4 木曜 Bシフト
3 6 土曜 Bシフト
実際は患者番号が数千レコードあり、またシフト番号の表示にリアルタイム性を求められる為、
今回スクリプトはできるだけ使わず、「シフト番号」フィールドを計算フィールドで処理したいのですが
具体的にどうのような記述をすればよいか分からない為、ご教授いただけませんでしょうか?
よろしくお願い致します。
「シフト番号」を求める式は、
「患者番号」をキーに自己リレーション「テーブル 2」を作り、
Let([
#lst=List(テーブル 2::曜日コード);
#lstA=List(1;3;5);
#lstB=List(2;4;6)
];
Case(
FilterValues(#lstA;#lst)=FilterValues(#lstA;#lstA); "Aシフト";
FilterValues(#lstB;#lst)=FilterValues(#lstB;#lstB); "Bシフト";
"不正値"
)
)
Offline
Hiro様ご返信ありがとうございます。
教えていただいたコードで無事に出来ました。
ありがとうございました。
Pages: 1
[ Generated in 0.012 seconds, 11 queries executed - Memory usage: 505.09 KiB (Peak: 509.63 KiB) ]