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

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

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

You are not logged in.

Announcement

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


#1 2022-01-11 20:33:54

ふー
Guest

txtテキストのインポート

Windows
ファイルメーカー18

患者さんのIDでリレーションを組んであるデータベースに下記のような検査値のtxtファイルのインポートをしたいのですがどのような方法でインポートしているのでしょうか?

H202112290000001234      4   SMS 01D3853  989.1       1            *
このようなtxtファイルです。

1234が患者さんのID
その後の4がコメント
Dの後が検査コード
9の後が検査値
✳︎で終了


なにかヒントを頂けたら幸いです。

#2 2022-01-11 21:00:09

himadanee
Guest

Re: txtテキストのインポート

固定長ですか?
1つのフィールドにインポートしてから、Middle()関数などで取り出す。

#3 2022-01-12 02:17:34

Shin
Member

Re: txtテキストのインポート

2バイト文字が入る可能性があるのでしたら、ちょっと面倒ですよ。

Offline

#4 2022-01-12 07:55:31

ふー
Guest

Re: txtテキストのインポート

himadanee様返信ありがとうございます

H202201040000001234      1   SMS 37D2002  96.3        2               D2007  913         0               D2008  99          0               D2010  959         2               D2011  9197        0               D2012  915         0               D2020  953         0               D2025  984.5       1               D2026  911.64      1               D2028  95.1        0               D2029  9138        0             *
H202201040000005678      1   SMS 37D2045  95.4        2               D2075  919         0               D2022  916         0               D2058  928         2               D2011  9213        0               D2012  911         0               D2020  9117        1               D2025  964.1       1               D2088  98.14       1               D2028  95.3        0               D2029  9138        0             *
このような固定式ではないtxtファイルです。

#5 2022-01-12 08:50:50

himadanee
Guest

Re: txtテキストのインポート

カンマやタブの区切り文字がない(長さが足りない分はスペースで埋めている)固定長のテキストにしか見えませんが。。。
出力しているソフトの仕様書があるのでは。
勝手に推測して計算式を作っても、想定外のデータがあった場合に危険なことになります。
「1234が患者さんのID」と言ってますが実際は「0000001234」ではないかと思います。(4桁ではすぐにあふれるし、その前までが年月日なので)

#6 2022-01-12 09:36:07

チポ
Member

Re: txtテキストのインポート

このようなテキスト処理の場合、その規則性がとても重要です。

> H202201040000001234      1   SMS 37D2002  96.3        2               D2007  913         0               D2008  99          0               D2010  959         2               D2011  9197        0               D2012  915         0               D2020  953         0               D2025  984.5       1               D2026  911.64      1               D2028  95.1        0               D2029  9138        0             *

この例からは
H =?
20220104 = 日付?
0000001234  = 10桁のID?
半角スぺース = 6個
1  =コメント
半角スぺース =3個
SMS 37 = ?
---以下繰り返し
D = 以下検査コード
2002 = 検査コード
半角スぺース =2個
9 = 以下検査値
6.3 = 検査値
半角スぺース =8個
2 = ?
半角スぺース =15個
---以上繰り返し

これが不変の規則
としていいのでしょうか?

繰り返しは1回を1レコードに分ける?

Offline

#7 2022-01-12 09:36:59

Shin
Member

Re: txtテキストのインポート

こんな形で、中間テーブルを作っておけばいいのかも。(かなり想像で)
https://www.dropbox.com/s/0ly0weivk03y0 … 2.zip?dl=0

送信元に問い合わせて、テキストのフォーマット情報をお聞きになればいかがでしょう。

Last edited by Shin (2022-01-12 10:08:35)

Offline

#8 2022-01-12 17:58:05

ふー
Guest

Re: txtテキストのインポート

himadanee様
返信ありがとうございます
固定長という意味を勘違いしていました

チポ様
返信ありがとうございます
おっしゃる通りの規則性でございます。
チポ様が”?”にしているところは検査機関のコードだったり基準値より高いか低いかを表しているそうなので大丈夫です


Shin様
サンプルを作成していただきありがとうございます。
現在、正確なフォーマット状態を問い合わせしています。

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.007 seconds, 10 queries executed - Memory usage: 518.11 KiB (Peak: 523.02 KiB) ]