初心者のFileMaker pro Q&A

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

1.ファイルメーカーで解らない事があればここで質問して下さい。

何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

ログインしていません。

アナウンス


#1 2019-10-03 15:35:56

KK614
ゲストユーザー

集計について(続)

お世話になっております。
以前(https://fm-aid.com/bbs2/viewtopic.php?pid=56479#p56479)、ここに質問させていただいて解決したとおもったのですが、いざ参考にして作成するとうまく動きませんでした。
特にレイアウトを集計と分類マスタに移動したときに小分類しか表示されず、他のがひょうじされませんでした。
リレーションとかに問題があるのでしょうか?

以下に参考にして作成したもの張りましたので、一度ご教示していただけないでしょうか?よろしくお願い申し上げます。
https://www.dropbox.com/home?preview=%E … 4%A8.fmp12

#2 2019-10-03 15:42:42

KK614
ゲストユーザー

Re: 集計について(続)

すいません。上のものでは参照できませんでした。
もう一度以下にファイルを張っておきます。

https://www.dropbox.com/s/2hxlgxtaimb2z … fmp12?dl=0

#3 2019-10-03 18:15:34

Shin
メンバー

Re: 集計について(続)

小計パートの集計キーの設定がおかしいようです。

オフライン

#4 2019-10-04 10:09:27

KK614
ゲストユーザー

Re: 集計について(続)

Shin さんの発言:

小計パートの集計キーの設定がおかしいようです。

返信ありがとうございます。
>>特にレイアウトを集計と分類マスタに移動したとき・・・
と僕伝えてましたけど、間違えてました。正しくは集計レイアウトと分類集計レイアウトに移動した時でした。

また、Shinのおかげで、集計レイアウトの方は正しく動くようになりました。しかし分類集計レイアウトの方は未だ、小分類しか動かないです。
リレーションの結び方とか間違っているのでしょうか?

#5 2019-10-04 15:53:01

Shin
メンバー

Re: 集計について(続)

分類マスターの内容の設定が、サンプルファイルと全く違います。
また、マスターの中に2重にマスターフィールドがあるのは、意味があるのですか。

また、中身をざっとみましたが、不要そうなフィールドがありますし、まとめる事のできそうな部分もあります。

編集者 Shin (2019-10-08 12:14:12)

オフライン

#6 2019-10-07 09:54:24

KK614
ゲストユーザー

Re: 集計について(続)

Shin さんの発言:

分類マスターの内容の設定が、サンプルファイルと全く違います。
また、マスターの中に2重にマスターフィールドがあるのは、意味があるのですか。

また、中身をざっとみましたが、不要そうなフィールドがありますし、まとめる事のできそうな部分もあります。

ちょっとだけ触ったものをアップしておきます。(私の作ったものでないので、コメントがついたら消去します)
https://www.dropbox.com/s/q4dzgz9u8nete … fmp12?dl=0

Shinさん
ありがとうございます。
うごきとして完璧なものになりました。
また、手術テーブル内の術式等が、術式テーブルに移動していましたが、別にした方がよいのでしょうか?
手術テーブルは今まで手術日に対して1レコードで使っていました。
患者ID:100-100-0
手術日:4/1 術式1:A 術者:佐藤 指導医:鈴木
                  術式2:B 術者:鈴木 指導医:""
      術式3:C 術者:鈴木 指導医:""
     
といった感じで、これが1レコードでした。
もし術式等を別にした方がよいのであれば、別にするメリット、デメリット教えていただけないでしょうか?

#7 2019-10-07 11:53:49

Shin
メンバー

Re: 集計について(続)

その構造ですと、"鈴木先生"の執刀した手術は簡単に一覧できますか。まあ、術式C を行った一覧、も難しいですよ。
術式を別テーブルにすると、そのテーブルで検索すれば、普通に求められます。(患者名、手術日などは、手術テーブルを参照します)

患者ID は、カードなどには読み易いようにハイフンガ入っていますが、それを無視して入れた方がいいです。最後の1桁はチェックサムのはずですので、それもチェックしておくと、入れ間違いが無くなります。
また、病名一覧などの頭に、本来はないはずの数字ガ入っていましたが、おそらく値一覧の表示順のためだと思います。別の仕組みで表示順をコントロールできますので、組み込んであります。(ちょっと高度なテクニックです)

編集者 Shin (2019-10-07 13:12:17)

オフライン

#8 2019-10-08 09:17:53

KK614
ゲストユーザー

Re: 集計について(続)

Shin さんの発言:

その構造ですと、"鈴木先生"の執刀した手術は簡単に一覧できますか。まあ、術式C を行った一覧、も難しいですよ。
術式を別テーブルにすると、そのテーブルで検索すれば、普通に求められます。(患者名、手術日などは、手術テーブルを参照します)

患者ID は、カードなどには読み易いようにハイフンガ入っていますが、それを無視して入れた方がいいです。最後の1桁はチェックサムのはずですので、それもチェックしておくと、入れ間違いが無くなります。
また、病名一覧などの頭に、本来はないはずの数字ガ入っていましたが、おそらく値一覧の表示順のためだと思います。別の仕組みで表示順をコントロールできますので、組み込んであります。(ちょっと高度なテクニックです)

Shinさんの言う通りなんです。しかし、同日、同手術に複数の術式がある場合、術式フィールドを術式1、術式2、術式3のようにわける方法しか思いつきませんでした。
どのような工夫をすればよいでしょうか?
IDは今後、ハイフンなしで全置換したのち、数字のみで入力するようにいたします。
病名一覧はおっしゃる通り表示順のためです!みてびっくりしました。中身みても理解はまだ出来てないのですが(笑)

#9 2019-10-08 09:55:25

Shin
メンバー

Re: 集計について(続)

術式については、具体的にどの様にしたいのですか。AB術、CD術 を行った場合に、まとめて、AB・CD術 などの形で表示したい、とかですか。

IDは、今は数字フィールドになっていますので、内部処理はハイフンを無視しますので、そのままでもいいですよ。

値一覧は、実は同じことをしているのですが、病名のみのフィールドと、病名の頭に表示順をつけてある計算フィールドが作ってあります。これは、見える形にすると、001 AAAAA、002 BBBBB というイメージです。この計算フィールドの頭の数字を見えない文字(幅がゼロの空白)に置き換えて、Unicode でソートしています。幅ゼロ文字を4個しか用意していないので、数字は4進数6桁へ変換してあります。
値一覧としての表示(これが表示順になります)にはこの計算フィールドを使い第2フィールドに設定して、、実際にフィールドに設定する値を元の病名にするために、病名を値一覧の第1フィールドに、第2フィールドのみを表示(これで、第2フィールドの値でソートされます)させています。
この機能を使うと、コードと名称のマスターで、名前の一覧で選択(上と同じ仕組みを作れば、表示順も設定可能)して、コードを入力する、という動きを作れます。(データベースの動きとして多用します)

編集者 Shin (2019-10-09 08:49:30)

オフライン

#10 2019-10-08 17:02:00

KK614
ゲストユーザー

Re: 集計について(続)

Shin さんの発言:

術式については、具体的にどの様にしたいのですか。AB術、CD術 を行った場合に、まとめて、AB・CD術 などの形で表示したい、とかですか。

IDは、今は数字フィールドいなっていますので、内部処理はハイフンを無視しますので、そのままでもいいですよ。

値一覧は、実は同じことをしているのですが、病名のみのフィールドと、病名の頭に表示順をつけてある計算フィールドが作ってあります。これは、見える形にすると、001 AAAAA、002 BBBBB というイメージです。この計算フィールドの頭の数字を見えない文字(幅がゼロの空白)に置き換えて、Unicode でソートしています。幅ゼロ文字を4個しか用意していないので、数字は4進数6桁へ変換してあります。
値一覧としての表示(これが表示順になります)にはこの計算フィールドを使い、実際にフィールドに設定する値を元の病名にするために、病名を値一覧の第1フィールドに、経産フィールドを第2フィールドに設定して、第2フィールドのみを表示(これで、第2フィールドの値でソートされます)させています。
この機能を使うと、コードと名称のマスターで、名前の一覧で選択(上と同じ仕組みを作れば、表示順も設定可能)して、コードを入力する、という動きを作れます。(データベースの動きとして多用します)

ソートの設定が間違っていたので、ちょっとだけ修正(私の作ったものでないので、コメントがついたら消去します)
https://www.dropbox.com/s/q4dzgz9u8nete … fmp12?dl=0

間違えていたらすいません。
https://www.dropbox.com/s/hu16deqw61o76 … B.png?dl=0
↑に実際に使用している手術記事例を載せました。(返信ついたら消します。)
術式テーブルで別にすると、1レコードに対して、1術式となってしまいますので、できれば、手術記事1件に対して1レコードとしたいと思ってます。
ですが、確かにShinさんのいうとおりで、1レコードに複数の術式があると検索が大変であるのは間違いないので、どうにかできればよいなと思ってます。
スマートかどうかはわかりませんが、
術式1:A、術式2:B、術式3:C 術式まとめ(計算): 術式1& ¶ & 術式2& ¶ &術式3
と術式1~3をポップオーバー等で表示させ、そこに入力したものを計算でまとめるといった具合のしかおもいつきません。

値一覧ありがとうございます。Unicodeは聞いたことがありますが、怖いのでさわってません。いや、さわれません笑
Shinさんの技術の高さに驚きが隠せません。

#11 2019-10-08 17:29:18

Shin
メンバー

Re: 集計について(続)

術式1〜3を表示させるのでしょうから、術式だけのポータル表示にしておけばいいのでは。ポータル表示のための枠線は、なしにしておくと見えなくなります。

編集者 Shin (2019-10-08 17:30:11)

オフライン

#12 2019-10-09 11:33:21

KK614
ゲストユーザー

Re: 集計について(続)

Shin さんの発言:

術式1〜3を表示させるのでしょうから、術式だけのポータル表示にしておけばいいのでは。ポータル表示のための枠線は、なしにしておくと見えなくなります。

基本的な入力のレイアウトはALLという名前のレイアウトをしようしています。
そこの手術Tabの中に術式をいれたいのですが、すでに手術のポータルがあります。
また、手術IDでリレーション組まれていますが、術式テーブルにいままで使用していた、術式1,術式2,術式3,術式4,術式5,術式6,術式7を現在の術式フィールドにインポートしたときにすべて別レコードになりますよね?
そうすると手術IDも同日手術の術式1~7すべてかわってきてしまいます・・・また、手術IDから患者を特定できなくなってしまいます。

術式テーブルの使い方がいまいちわかりません。。。

#13 2019-10-09 13:57:04

Shin
メンバー

Re: 集計について(続)

ポータルの中にポータル表示を作るテクニックもあります。https://www.dropbox.com/s/zuta5jsfkxage … e.fp7?dl=0
または、ポップアップや別ウィンドウを表示させて、そちらで術式を表示させる、という運用でもいいのでは。(そのレイアウトでは、術式が7個表示される必要はありますか)

> 手術IDも同日手術の術式1~7すべてかわってきてしまいます・・・また、手術IDから患者を特定できなくなってしまいます。
術式テーブルへデータを移行する手順に従うと、そのようなことはありません。
  手術テーブルに、手術IDフィールドを作成(仮にシリアル番号にしてみます)
  全レコードを対象
  手術IDフィールドをシリアル番号で全置換
  術式テーブルから、手術ID を含めて、術式1、術者1、指導医1などをインポート
  術式テーブルから、手術ID を含めて、術式2、術者2、指導医2などをインポート
  ……
  術式テーブルから、手術ID を含めて、術式7、術者7、指導医7などをインポート
  術式テーブルで、術式などが空のレコードを検索、削除。

オフライン

#14 2019-10-09 13:59:21

Shin
メンバー

Re: 集計について(続)

ポータルの中にポータル表示を作るテクニックもあります。https://www.dropbox.com/s/zuta5jsfkxage … e.fp7?dl=0
  これの逆をした方が、作るのは楽かもしれませんね。
または、ポップアップや別ウィンドウを表示させて、そちらで術式を表示させる、という運用でもいいのでは。(そのレイアウトでは、術式が7個表示される必要はありますか)

> 手術IDも同日手術の術式1~7すべてかわってきてしまいます・・・また、手術IDから患者を特定できなくなってしまいます。
術式テーブルへデータを移行する手順に従うと、そのようなことはありません。
  手術テーブルに、手術IDフィールドを作成(仮にシリアル番号にしてみます)
  全レコードを対象
  手術IDフィールドをシリアル番号で全置換
  術式テーブルから、手術ID を含めて、術式1、術者1、指導医1などをインポート
  術式テーブルから、手術ID を含めて、術式2、術者2、指導医2などをインポート
  ……
  術式テーブルから、手術ID を含めて、術式7、術者7、指導医7などをインポート
  術式テーブルで、術式などが空のレコードを検索、削除。

オフライン

クィック投稿

メッセージを書いて送信してください。
登録の確認

実在の人物による登録であることを確認します。

Board footer