みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
filemaker12で検査結果を縦テーブルから横テーブルへ移したいです。
検査結果抽出1のコード名と検査結果抽出2の各項目名とが一致すれば、
検査結果抽出1の結果を検査結果抽出2の値へ移したいです。
名かいい方法はありますでしょうか?
テーブル名 検査結果抽出1
フィールド 患者ID 数字 0000001 0000001
採取日 テキスト 20170704 20170704
採取時間 テキスト 0950 0950
コード 数字 610503 610554
コード名 テキスト ヘモグロビン 血小板数
結果 数字 13.5 10.0
テーブル名 検査結果抽出2
フィールド 患者ID 数字
採取日 テキスト
採取時間 テキスト
白血球 数字
赤血球 数字
ヘモグロビン 数字
ヘマトニック 数字
血小板数 数字
0000001 20170704 0950 13.5 10.0
Offline
クロス集計の逆のような処理ですね。
今のデータを格納しているテーブルの構造を教えてください。繰り返しフィールドですか?
お勧めは、
患者ID 数字
採取日 テキスト
採取時間 テキスト
コード 数字
( コード名 テキスト)
結果 数字
という1項目一レコードのテーブルを作り、それを、患者ID、採取日 をもたせた別のテーブルから参照し、ポータルで表示する事です。
それなら、繰り返しフィールドになっていたのでしたら、インポートを行うだけで良いです。
項目名ごとのフィールドを作っていくと、後々の応用が利かないのと、項目が増えるたびに新しいフィールドを作っていく手間が必要になり、煩雑になりますので、限られた環境以外ではあまりお勧めしません
Last edited by Shin (2017-11-14 13:35:30)
Offline
テーブルは。繰り返しフィールドではなくポータルです。
一覧表示へ変更したいです。
Offline
ん、
> フィールド 患者ID 数字 0000001 0000001
がポータルの中の1行ですか?
それとも、上で提示されている縦の1列が1行と見ればいいのですか?
ポータルならば、その関連テーブルの構造は?テーブル名 検査結果抽出1 で提示してある左の項目がフィールド名ですか?
勝手な想定では、
https://www.dropbox.com/s/5wvyat8766kja … 7.zip?dl=0
の様な事がしたいのでは。
Last edited by Shin (2017-11-20 23:43:16)
Offline
サンプルありがとうございます。
これがしたかったです。
こんなに簡単にできるんですね。
勉強になりました。
ありがとうございます。
Offline
また、問題が発生しました。
患者ID、採取日、採取時間で検査するコード名がいつも同じとは限りませんでした。
レイアウトの一覧でコード名を一番上に表示したいです。
採取日 採取時間 ヘモグロビン 血小板数 赤血球
患者① 2017/07/04 9:50 13.5 10 13
患者② 2017/07/04 10:00 12.5 19 12.5
Offline
リレーションを少し変更すればいいですよ。
集計対象によって増減させたい時は、値一覧を作っているリレーションに条件を追加してください。
https://www.dropbox.com/s/5wvyat8766kja … 7.zip?dl=0
Offline
一覧に表示したい検査項目は10項目で固定です。
ODBCでoracleからfileemakerへレコードのインポートする時に該当の検査項目の検査コードと該当コースの患者コードのレコードのみ抽出することは可能でしょうか?
Offline
SQL 書いてもいいでしょうが、ESS でつないでしまって、検索後にインポートする方法もあります。ただかなり遅いでしょう。
一番簡単なのは、将来的なことも考えて、全て FileMaker へ取り込んでしまいます。該当する物を抽出するのが、早いのでは。
Offline
回答ありがとうございます。
ODBCでoracleからfileemakerへレコードのインポート後に該当のレコードを抽出することにします。
レイアウト一覧で以下のように表示したいです。
患者ID 採取日 採取時間 ヘモグロビン 血小板数 赤血球 ヘマトクリット
患者① 2017/07/04 9:50 13.5 13 23
患者② 2017/07/04 10:00 12.5 19
集計対象によって増減させたい時は、値一覧を作っているリレーションに条件を追加してください。
上記レイアウト一覧のように表示にするためにはどのように変更するかわかりません。
すみません詳しく教えてください。
Offline
表示したい条件は?同一日付の条件ですが?
検査コードが一定の場合には、値一覧をカスタム値にするてもありますよ。
Offline
1患者に対して1レコードです。
採取日は全てのレコードが同じです。
採取時間は患者によって違います。
Offline
指定された日付で、患者ごとの結果を一覧する、という条件のようですね。
値一覧を参照するリレーションを変更し、レイアウトを少し変更しています。
https://www.dropbox.com/s/5wvyat8766kja … 7.zip?dl=0
Offline
上記サンプルを見本にして実際の環境で作成してみました。
パート定義をボディにすると一覧が表示されますが、小計 ソート対象 患者IDを追加しても一覧へ何も表示されません。
何か原因があると思うのですがわかりません。
教えて下さい。
よろしくお願いいたします。
Offline
小計パートに表示させるためには、そのキーとなっているフィールドでソートする必要があります。ソートはされていますか。サンプルでは、レイアウト切り替えのトリガーでソートをかけています。
Offline
ソートを行ったら表示はされるようになりました。
しかし、結果に同じ値が表示されます。
1 2017/07/11 9:45 13 13 13 13 13 13 13 13 13 13
1 2017/07/14 9:45 388 388 388 388 388 388 388 388 388 388
1 2017/07/04 9:50 388 388 388 388 388 388 388 388 388 388
2 2017/07/04 9:50 24 24 24 24 24 24 24 24 24 24
サンプルと比較して結果一覧とコード名一覧へ同じ値が入っていませんでした。
結果_とコード名_の値が入っていました。
どのあたりがおかしいかよくわかりません。
教えて下さい。
よろしくお願いいたします。
Offline
集計フィールドの設定で、繰り返しごと、の設定になっていますか。
Offline
テーブル構成は以下のようになっています。
テーブル 検査結果抽出1
患者ID 数字
採取日 テキスト
採取時間 テキスト
コード 数字
コード名 テキスト
結果 数字
コード一覧 計算[10] from 検査結果抽出1、 = GetValue( ValueListItems( Get(ファイル名); "コード一覧"); Get( 計算式繰り返し位置番号))
結果_ 計算[10] from 検査結果抽出1、 = 結果[1]
結果一覧 計算[10] from 検査結果抽出1、 = Lookup(検査結果抽出3::結果_)
コード名_ 計算[10] from 検査結果抽出1、 = コード名[1]
コード名一覧 計算[10] from 検査結果抽出1、 = Lookup(検査結果マスタ::コード名)
テーブル 検査結果マスタ
コード 数字
コード名 テキスト
Offline
リレーションが間違っているのでは。
または、コード一覧の設定が違うようにも思えます。
Last edited by Shin (2017-12-15 08:50:46)
Offline
ご指摘ありがとうございます。
一覧に表示されるようになりました。
パートの小計 ソート対象の患者ID、採取日、採取時間の間隔を狭めることはできますでしょうか?
また、検査結果一覧をExcelへエクスポートすると検査結果一覧の表示のようにExcelへ出力することは可能でしょうか?
Offline
追加仕様で上記のテーブルへ患者名を追加しました。
ODBCでレコードのインポートを行いました。
結果一覧 計算[10] from 検査結果抽出1、 = Lookup(検査結果抽出3::結果_)
コード名一覧 計算[10] from 検査結果抽出1、 = Lookup(検査結果マスタ::コード名)
にデータが入らなくなりました。
再度患者名を削除して、ODBCでレコードのインポートを行いました。
やはり結果一覧 とコード名一覧にはデータが入ってきません。
何か原因か教えて下さい。
Offline
患者名とは関係なく、別のフィールドかリレーションを触ったのでは。
動いていた時のファイルに戻して、再度作業してみるべきでしょう。
Last edited by Shin (2017-12-27 09:00:34)
Offline
ご指摘ありがとうございます。
ODBCでインポートする項目がずれていました。
問題なく表示されました。
表示を小計で一覧表示したものをExcelへ保存することができません。
プレビューーExcelファイルとして保存またはファイルーレコードの保存またはファイルーレコードのエクスポートで行いましたがだめでした。
このデータを別テーブルへコピーしてExcel出力しないとだめのでしょうか?
Offline
マニュアルにFileMaker Pro からのデータのエクスポートがあったので参考にして行ってみました。
CSVでエクスポートできましたが、結果一覧が10個分「4.79.13.63.651304001444.3」値が入ってない箇所のみ数字がそのまま1つのセルに入ってしまいます。
何か回避方法はありませんでしょうか?
Offline
上記で、小計でソータ対象 患者ID、採取日、採取時間をパートの定義で設定しています。
結果を10個非保存でLookupしています。
この場合、Get(対象レコード数)で全てのレコード件数が抽出され、次のレコードでも表示されているレコードではありません。
なにかいい方法を知っている方教えて下さい。
Offline
[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 579.89 KiB (Peak: 616.8 KiB) ]