みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
上記についてお知恵をお貸し下さい
サーバー:win8 filemakerserver13
クライアント:win7〜10,mac filemakerpro13
の環境下で採血データを管理しています
採血データのテーブルは
患者ID , 採血日 , 項目 , 結果
という1項目1レコードで運用しています
(1度の採血で30項目の検査が行われると、30レコード作成しています)
この度、リハビリテーションと栄養の指標として
項目:ALB , T-CHO , LYMPHO (アルブミン、総コレステロール、リンパ球数)
の3項目が同日に行われた直近の採血日と、それぞれの検査結果を得たい
との相談を受けたのですが、全くアイデアが浮かびません
患者によっては3項目を同日に検査していないケースもあります(その場合はnullで構いません)
例えば ALB の項目を調べた日には必ず T-CHOとLYMPHOもあるといった規則性もありません
あくまでも、たまたま3項目が存在していた直近の検査日とそれらの検査結果を得たいのです
実際には別テーブルからリレーションを組んで、別テーブルに表示させたいと考えています
表示の方法は、単純に日付と3つの検査値が示せれば、新たな計算フィールドでもポータルでも何でも構いません
どうか皆様のお知恵をお貸し下さい
よろしくお願いします
Offline
別テーブルに、患者ID , 採血日、項目のフィールドを作り、次に、そのテーブルから採血データテーブルへ、患者ID , 採血日でリレーションを張ります。
採血データテーブルで、最初のレコードから、リレーション::項目 フィールドに、項目を追加していく loop を回します。
その後、別テーブルで、項目フィールドを、ALB , T-CHO , LYMPHO で検索すれば良いでしょう。
さらに、この対象レコードのみを残して、同じ患者IDの古いレコードを削除していけば良いです。(患者IDで自己リレーションを張って、ソートで最新の検査日を求めればいいです)
検査値を見るには、採血データテーブルをポータルで表示し、項目フィールドでフィルターを掛けてソートしておけば良いかと思います。
https://dl.dropboxusercontent.com/u/926 … 46.fp7.zip
Last edited by Shin (2015-12-10 00:29:05)
Offline
Shin様
サンプルまでご提示していただきましてありがとうございます
これから一日かけて勉強させていただきます
Offline
採決データテーブルで、計算フィールドを作り、
項目フィールドの値が
ALB , T-CHO , LYMPHO
のいずれかの場合、他の二つを改行で入力します。
自己リレーション
患者ID = 患者ID
and
採決日 = 採決日
and
計算フィールド = 項目
さらに計算フィールドを作り、
Count ( 自己リレーション::項目 )
とすると、
同日に3項目が行われたら、その3項目のレコードに 2 が入力されますね。
別テーブルに患者IDフィールドを作り、
採決データと患者IDでリレーションし、採決日の降順でソート指定します。
このテーブルに3行のポータルを配置、そのポータルフィルタの条件式に、
前記のCountのフィールド = 2
とします。
これでいいと思いますが、
頭の中だけで検証していません、間違っていましたら御容赦を ;;
Offline
Shin様、チポ様
この度はお知恵をお貸しいただいてありがとうございました
何とか実現できましたので報告させていただきます
チポ様案(改)的な手法です
1 採血テーブルに「項目がALB,T-CHO,LYMPHOのときに1が入る」計算フィールドAを作成
2 採血テーブルを自己リレーション
患者ID = 患者ID
and 採血日 = 採血日
and A = A
3 採血テーブルに count(自己リレーション::患者ID) の計算フィールドBを作成 → 同一患者,同一日,3項目のとき3になる
4 別テーブルから患者IDで採血テーブルとリレーション
ポータルを作ってポータルフィルタ(B=3)、ソート日付降順にて表示
おそらくこれで相談に応えられたと思っています
ありがとうございました
Offline
[ Generated in 0.005 seconds, 7 queries executed - Memory usage: 513.15 KiB (Peak: 518.05 KiB) ]