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

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

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

You are not logged in.

Announcement

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


#1 2016-04-03 12:20:43

CE
Guest

検査結果データベースの作成で困っています。

病院で血液浄化の検査値のデータベースを作成しています。
治療前後の血中濃度の変化から除去率を算出したいのですが、行き詰ってしまいました。。。

検査値は、エクセルからインポートしています。
データベースは以下のような感じで、エクセルの採血時間から採血のタイミングを判断し、
「治療前」、「治療後」としています。

例のように、治療前のレコードに、その治療での除去率を表示させようと思い、
調べてみましたがわかりませんでした。
どなたか力をかしてくれませんでしょうか?


名前     タイミング   検査値1   検査値1の除去率     検査値2     検査値2の除去率 ・・・・・・
患者A    治療前        12           66.7%
患者A    治療後         4
患者B    治療前         9            55.6%
患者B    治療後        15
患者C

#2 2016-04-03 15:05:01

Shin
Member

Re: 検査結果データベースの作成で困っています。

採血時刻が有った方が処理は容易です。
また、患者Bでは増加していますが....

まず、「治療前    治療後」という値の値一覧を作ります。
患者名で自己リレーションを張り、タイミングでソート、ソート順は、上の値一覧を使います。
1 - GetNthRecord ( リレーション::検査値 ; 2 ) / GetNthRecord ( リレーション::検査値 ; 1 )
で出ますね。

Offline

#3 2016-04-03 15:59:30

よね
Guest

Re: 検査結果データベースの作成で困っています。

Shin様

早速のお返事有難うございます。
患者名よりカルテ番号の方が良いかと思い、カルテ番号のフィールドを作成して
カルテ番号で自己リレーションを張りました(テーブル名は、「検査値pre」、「検査値post」としました)。
そして、患者名、検査値、除去率などを一覧で表示するレイアウトを作成し、1.採血日(降順)、2.患者名(昇順)、3.タイミング(治療前→治療後と並ぶように)ソートしました。

すみませんが、最後のところがわかりません。
除去率(計算フィールド)を作成し、
1 - GetNthRecord ( 検査値1 ; 2 ) / GetNthRecord ( 検査値post::検査値1 ; 1 )
と入力しましたが、除去率が正しく表示されません。
私のやり方が悪いのはわかっているのですが、教えていただけないでしょうか。。。

#4 2016-04-03 16:12:18

CE
Guest

Re: 検査結果データベースの作成で困っています。

すみません。#3の名前、間違えて別の方のになってます。

#5 2016-04-03 16:33:50

Shin
Member

Re: 検査結果データベースの作成で困っています。

ソートは、リレーションの中の設定です。
GetNthRecord ( 検査値1 ; 2 ) は、そのリスト表示の2レコード目の数値が参照されます。ですから無意味です。上で書いたフィールドを設定してください。

突然、検査日、という情報が出てきましたが、...

Offline

#6 2016-04-03 17:07:55

CE
Guest

Re: 検査結果データベースの作成で困っています。

Shin様、ありがとうございます。

もともとのテーブルを「検査値」、自己リレーションのテーブルを「検査値リレーション」とした場合、
「リレーションシップ編集」で双方のテーブルの「レコードのソート」をチェックして「タイミング」にてソート、
除去率(計算フィールド)で、
1 - GetNthRecord ( 検査値リレーション::検査値1 ; 2 ) / GetNthRecord ( 検査値リレーション::検査値1 ; 1 )
を計算するということでしょうか?

申し訳ありませんがよろしくお願いします。

#7 2016-04-03 21:02:35

Shin
Member

Re: 検査結果データベースの作成で困っています。

その通りです。
ただし、検査日、という新しい概念も考えないと行けないですね。

Offline

#8 2016-04-03 21:48:42

CE
Guest

Re: 検査結果データベースの作成で困っています。

Shin様、ありがとうございます。

検査日について伝え忘れてしまいました。すみませんでした。

検査日があると上記の方法だと違う検査日のレコードで除去率を算出してしまいました。
そこで、検査日(yyyy/mm/ddの表記)を8桁の数字にし、
8桁の数字&カルテ番号で、番号を作成して、
この番号で自己リレーションしてみました。

素人なりに考えてみたのですが、この方法は回りくどいのでしょうか?
もっとスマートな方法がありますでしょうか?

#9 2016-04-04 08:55:08

Shin
Member

Re: 検査結果データベースの作成で困っています。

FM6以前ではないですよね。(環境は必ず書いてください)

リレーションキーは、複数持てますので、IDと検査日でリレーションすれば良いです。

Offline

#10 2016-04-04 17:51:47

CE
Guest

Re: 検査結果データベースの作成で困っています。

FM12Ad Win7です。

ご教示いただいた方法で、今までにインポートしていたレコードに関しては
除去率を算出することができました。
ありがとうございました!

しかし、本日新しくレコードをインポートすると、
GetNthRecord ( 検査値リレーション::検査値1 ; 1 )、GetNthRecord ( 検査値リレーション::検査値1 ; 2 )
共に空のレコードがほとんどで、いくつかのレコードのみ入力されていました(GetNthRecord ( 検査値リレーション::検査値1 ; 1 )にあるべきレコードが、GetNthRecord ( 検査値リレーション::検査値1 ; 2 )に入力されていました)。

これは、何が原因なのでしょうか?
度々すみません。。。

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.009 seconds, 10 queries executed - Memory usage: 521.61 KiB (Peak: 526.15 KiB) ]