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

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

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

You are not logged in.

Announcement

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


#1 2017-11-13 11:57:48

morotomi
Member

filemaker12 検査結果を縦テーブルから横テーブルへ移したいです。

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

#2 2017-11-13 11:59:58

Shin
Member

Re: filemaker12 検査結果を縦テーブルから横テーブルへ移したいです。

クロス集計の逆のような処理ですね。
今のデータを格納しているテーブルの構造を教えてください。繰り返しフィールドですか?

お勧めは、
患者ID  数字
採取日  テキスト
採取時間 テキスト
コード   数字
( コード名  テキスト)
結果   数字
という1項目一レコードのテーブルを作り、それを、患者ID、採取日 をもたせた別のテーブルから参照し、ポータルで表示する事です。
それなら、繰り返しフィールドになっていたのでしたら、インポートを行うだけで良いです。

項目名ごとのフィールドを作っていくと、後々の応用が利かないのと、項目が増えるたびに新しいフィールドを作っていく手間が必要になり、煩雑になりますので、限られた環境以外ではあまりお勧めしません

Last edited by Shin (2017-11-14 13:35:30)

Offline

#3 2017-11-20 13:30:48

morotomi
Member

Re: filemaker12 検査結果を縦テーブルから横テーブルへ移したいです。

テーブルは。繰り返しフィールドではなくポータルです。
一覧表示へ変更したいです。

Offline

#4 2017-11-20 15:08:59

Shin
Member

Re: filemaker12 検査結果を縦テーブルから横テーブルへ移したいです。

ん、
> フィールド 患者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

#5 2017-11-21 09:31:32

morotomi
Member

Re: filemaker12 検査結果を縦テーブルから横テーブルへ移したいです。

サンプルありがとうございます。
これがしたかったです。
こんなに簡単にできるんですね。
勉強になりました。
ありがとうございます。

Offline

#6 2017-12-04 01:55:41

morotomi
Member

Re: filemaker12 検査結果を縦テーブルから横テーブルへ移したいです。

また、問題が発生しました。
患者ID、採取日、採取時間で検査するコード名がいつも同じとは限りませんでした。

レイアウトの一覧でコード名を一番上に表示したいです。
       採取日       採取時間 ヘモグロビン 血小板数 赤血球
患者① 2017/07/04   9:50       13.5                10          13
患者② 2017/07/04   10:00      12.5                19          12.5

Offline

#7 2017-12-04 09:31:15

Shin
Member

Re: filemaker12 検査結果を縦テーブルから横テーブルへ移したいです。

リレーションを少し変更すればいいですよ。
集計対象によって増減させたい時は、値一覧を作っているリレーションに条件を追加してください。
https://www.dropbox.com/s/5wvyat8766kja … 7.zip?dl=0

Offline

#8 2017-12-07 10:53:10

morotomi
Member

Re: filemaker12 検査結果を縦テーブルから横テーブルへ移したいです。

一覧に表示したい検査項目は10項目で固定です。

ODBCでoracleからfileemakerへレコードのインポートする時に該当の検査項目の検査コードと該当コースの患者コードのレコードのみ抽出することは可能でしょうか?

Offline

#9 2017-12-07 18:06:37

Shin
Member

Re: filemaker12 検査結果を縦テーブルから横テーブルへ移したいです。

SQL 書いてもいいでしょうが、ESS でつないでしまって、検索後にインポートする方法もあります。ただかなり遅いでしょう。
一番簡単なのは、将来的なことも考えて、全て FileMaker へ取り込んでしまいます。該当する物を抽出するのが、早いのでは。

Offline

#10 2017-12-07 20:43:18

morotomi
Member

Re: filemaker12 検査結果を縦テーブルから横テーブルへ移したいです。

回答ありがとうございます。
ODBCでoracleからfileemakerへレコードのインポート後に該当のレコードを抽出することにします。

レイアウト一覧で以下のように表示したいです。

患者ID   採取日       採取時間   ヘモグロビン    血小板数     赤血球   ヘマトクリット
患者① 2017/07/04   9:50        13.5                                13            23
患者② 2017/07/04   10:00      12.5                19         

集計対象によって増減させたい時は、値一覧を作っているリレーションに条件を追加してください。

上記レイアウト一覧のように表示にするためにはどのように変更するかわかりません。
すみません詳しく教えてください。

Offline

#11 2017-12-08 08:44:01

Shin
Member

Re: filemaker12 検査結果を縦テーブルから横テーブルへ移したいです。

表示したい条件は?同一日付の条件ですが?
検査コードが一定の場合には、値一覧をカスタム値にするてもありますよ。

Offline

#12 2017-12-08 10:58:28

morotomi
Member

Re: filemaker12 検査結果を縦テーブルから横テーブルへ移したいです。

1患者に対して1レコードです。
採取日は全てのレコードが同じです。
採取時間は患者によって違います。

Offline

#13 2017-12-08 14:00:41

Shin
Member

Re: filemaker12 検査結果を縦テーブルから横テーブルへ移したいです。

指定された日付で、患者ごとの結果を一覧する、という条件のようですね。
値一覧を参照するリレーションを変更し、レイアウトを少し変更しています。
https://www.dropbox.com/s/5wvyat8766kja … 7.zip?dl=0

Offline

#14 2017-12-13 16:26:59

morotomi
Member

Re: filemaker12 検査結果を縦テーブルから横テーブルへ移したいです。

上記サンプルを見本にして実際の環境で作成してみました。
パート定義をボディにすると一覧が表示されますが、小計 ソート対象 患者IDを追加しても一覧へ何も表示されません。
何か原因があると思うのですがわかりません。

教えて下さい。
よろしくお願いいたします。

Offline

#15 2017-12-13 17:46:41

Shin
Member

Re: filemaker12 検査結果を縦テーブルから横テーブルへ移したいです。

小計パートに表示させるためには、そのキーとなっているフィールドでソートする必要があります。ソートはされていますか。サンプルでは、レイアウト切り替えのトリガーでソートをかけています。

Offline

#16 2017-12-14 10:17:55

morotomi
Member

Re: filemaker12 検査結果を縦テーブルから横テーブルへ移したいです。

ソートを行ったら表示はされるようになりました。
しかし、結果に同じ値が表示されます。

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

#17 2017-12-14 11:03:24

Shin
Member

Re: filemaker12 検査結果を縦テーブルから横テーブルへ移したいです。

集計フィールドの設定で、繰り返しごと、の設定になっていますか。

Offline

#18 2017-12-14 17:35:07

morotomi
Member

Re: filemaker12 検査結果を縦テーブルから横テーブルへ移したいです。

テーブル構成は以下のようになっています。

テーブル 検査結果抽出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

#19 2017-12-15 07:43:35

Shin
Member

Re: filemaker12 検査結果を縦テーブルから横テーブルへ移したいです。

リレーションが間違っているのでは。
または、コード一覧の設定が違うようにも思えます。

Last edited by Shin (2017-12-15 08:50:46)

Offline

#20 2017-12-15 10:32:35

morotomi
Member

Re: filemaker12 検査結果を縦テーブルから横テーブルへ移したいです。

ご指摘ありがとうございます。
一覧に表示されるようになりました。
パートの小計 ソート対象の患者ID、採取日、採取時間の間隔を狭めることはできますでしょうか?
また、検査結果一覧をExcelへエクスポートすると検査結果一覧の表示のようにExcelへ出力することは可能でしょうか?

Offline

#21 2017-12-26 19:09:42

morotomi
Member

Re: filemaker12 検査結果を縦テーブルから横テーブルへ移したいです。

追加仕様で上記のテーブルへ患者名を追加しました。
ODBCでレコードのインポートを行いました。
結果一覧       計算[10]   from 検査結果抽出1、 = Lookup(検査結果抽出3::結果_)
コード名一覧 計算[10]   from 検査結果抽出1、 = Lookup(検査結果マスタ::コード名)
にデータが入らなくなりました。

再度患者名を削除して、ODBCでレコードのインポートを行いました。
やはり結果一覧 とコード名一覧にはデータが入ってきません。
何か原因か教えて下さい。

Offline

#22 2017-12-27 09:00:06

Shin
Member

Re: filemaker12 検査結果を縦テーブルから横テーブルへ移したいです。

患者名とは関係なく、別のフィールドかリレーションを触ったのでは。

動いていた時のファイルに戻して、再度作業してみるべきでしょう。

Last edited by Shin (2017-12-27 09:00:34)

Offline

#23 2017-12-27 09:23:41

morotomi
Member

Re: filemaker12 検査結果を縦テーブルから横テーブルへ移したいです。

ご指摘ありがとうございます。
ODBCでインポートする項目がずれていました。
問題なく表示されました。

表示を小計で一覧表示したものをExcelへ保存することができません。
プレビューーExcelファイルとして保存またはファイルーレコードの保存またはファイルーレコードのエクスポートで行いましたがだめでした。
このデータを別テーブルへコピーしてExcel出力しないとだめのでしょうか?

Offline

#24 2017-12-27 09:59:51

morotomi
Member

Re: filemaker12 検査結果を縦テーブルから横テーブルへ移したいです。

マニュアルにFileMaker Pro からのデータのエクスポートがあったので参考にして行ってみました。
CSVでエクスポートできましたが、結果一覧が10個分「4.79.13.63.651304001444.3」値が入ってない箇所のみ数字がそのまま1つのセルに入ってしまいます。
何か回避方法はありませんでしょうか?

Offline

#25 2017-12-27 12:00:26

morotomi
Member

Re: filemaker12 検査結果を縦テーブルから横テーブルへ移したいです。

上記で、小計でソータ対象 患者ID、採取日、採取時間をパートの定義で設定しています。
結果を10個非保存でLookupしています。
この場合、Get(対象レコード数)で全てのレコード件数が抽出され、次のレコードでも表示されているレコードではありません。
なにかいい方法を知っている方教えて下さい。

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 579.89 KiB (Peak: 616.8 KiB) ]