初心者のFileMaker pro Q&A

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

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

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

ログインしていません。

アナウンス


#1 2020-09-04 02:18:22

stock
メンバー

[解決] 複数フラグで集計結果を分ける方法

いつもお世話になり、ありがとうございます。

- 環境
    - Win10、FM18です。

介護保険請求の元となる書類を作っております。
サービス内容の利用回数に基づき、単位数を算出する書類です。
この書類は1利用者1月1枚作成します。

この書類のサービス内容構成は下記の通りです。
■対象内(サービス明細テーブルのfg_対象内フィールド=1)
・基本コード(利用者の要介護度と利用時間で決まるもの)
・入浴
・機能訓練

■対象外(サービス明細テーブルのfg_対象外フィールド=1)
・特別加算 1日1回の請求が可能。単位数×回数で算出する。対象内の累計が計画単位数を超えるとカウントできなくなるため、回数を調整する必要がある。
例)7月は20日利用しており特別加算20回が実績の数字。しかし計画単位数を上回ってしまったため、13回に調整した。
・特別加算2 1月1回の請求が可能。対象内と調整後の特別加算の単位数合計に5%をかけた数字。

特別加算の請求範囲を把握するため、スクリプトにてfg_請求フィールドに1を立てております。

FMで途中まで作成できたレイアウトと、作りたいレイアウト(切り貼り図)のPDFを貼付します。
https://www.dropbox.com/home/Filemaker? … %82%8A.pdf

また、途中までつくったFMファイルはこちらです。
https://www.dropbox.com/s/8n9h1ru10py71 … fmp12?dl=0

課題1
特別加算2の算出方法に手こずっております。
対象内(fg_対象内=1)と、調整後の特別加算(fg_対象外=1かつfg_請求=1)であるレコードの単位数合計を出す方法が難しいです。

課題2
単位数合計フィールドは下記3パターンの数字が入ります。
1.対象内・・・単位数×実績回数
2.対象外、特別加算・・・単位数×調整済回数
3.(1+2)×5%

case関数で分けようとしたのですが、他に作った集計パートを参照しようとしても数字がうまく取れません。
executesqlでやろうともしましたが恐ろしく時間がかかり、結果が出る前に諦めました。

どなたか、方向性だけでも教えていただけないでしょうか。
宜しくお願いいたします。

オフライン

#2 2020-09-04 10:27:04

Shin
メンバー

Re: [解決] 複数フラグで集計結果を分ける方法

特別加算は、計画単位数が上限のようですが、単位数×調整回数がそれに一致しますか。

PDF が、ログインしないとダウンロードできません。公開対象を考えてください。

編集者 Shin (2020-09-04 10:28:13)

オフライン

#3 2020-09-04 15:45:28

stock
メンバー

Re: [解決] 複数フラグで集計結果を分ける方法

PDFの件、申し訳有りません。全員に公開する設定に変更しました。

上限の件、わかりづらく申し訳有りません。

1.対象内
計画単位数に関わらず、実績の単位数を単位数合計に含めます。

2.対象外のうち、特別加算
特別加算の回数は、対象内の累計が計画単位数に達した日でカウントできなくなります。
そのため、実績が30回であっても、20回に減らさなければならない場合があります。

3.対象外のうち、特別加算
対象内と特別加算(回数調整済み)の単位数合計に5%をかけて算出します。

オフライン

#4 2020-09-04 16:47:25

Shin
メンバー

Re: [解決] 複数フラグで集計結果を分ける方法

> 特別加算は、計画単位数が上限のようですが、単位数×調整回数がそれに一致しますか。
例えば、単位数は1日1単位では無いですよね。例えば、対象外が1回5単位だった場合、計画単位数が500だとして、20回だと498単位、21回だと503単位になりますか、それとも、それ以外には関係なく495、500に増えていき計画単位数ぴったりで請求しますか、という質問です。

編集者 Shin (2020-09-04 18:20:15)

オフライン

#5 2020-09-05 09:42:17

stock
メンバー

Re: [解決] 複数フラグで集計結果を分ける方法

失礼しました。読み間違えておりました。

https://www.dropbox.com/s/bt8pgw0elh13o … 7.pdf?dl=0

仕組みが複雑なので、またPDFで説明させていただきます。
こちらの資料で伝わりますでしょうか?

オフライン

#6 2020-09-06 10:28:10

Shin
メンバー

Re: [解決] 複数フラグで集計結果を分ける方法

計画単位数は、どこで決められているのでしょうか。(月ごとですか)

日毎のテーブルから明細テーブルへ、対象者、年月、日付 で新たにリレーションを張り、当日までのレコードを対象にします。
そのリレーションで単位数を合計すると、その日までの単位数の累計が求められますので、それを計画単位数と比較すれば、特別加算の調整ができます。それを集計して、対象者をキーとする小計パート(下部)に表示させます。
https://www.dropbox.com/s/vj6u06cgqdj5b … 2.zip?dl=0

編集者 Shin (2020-09-06 16:32:48)

オフライン

#7 2020-09-07 01:20:04

stock
メンバー

Re: [解決] 複数フラグで集計結果を分ける方法

Shin様、いつも最高のサンプルを仕上げてくださりありがとうございます。

executesql、getsummaryなどを試していましたが、闇雲にフィールド数が増えるばかりで頭を抱えていたところでした。
リレーションによる集計は、よく過去トピック掲示板で説明されていましたが、今回作っていただいたサンプルでようやく腑に落ち、少しずつ使える様になりそうです。

また、サービス明細テーブルからサービス日毎テーブルに戻り計算するという箇所は目から鱗でした・・!

特別加算のフィールドはcase関数を使って結果を出されていましたが、不等号の式が真であれば1、偽であれば0を返すのですね。初めて知りました。

計画単位数は月末で手動入力します。
他介護サービスの使用状況により、月々で数字が異なるそうです。
そのため、計画単位数を入力すると、計算フィールドで数字が出せることがありがたいです。
当初はスクリプトで数字を入れようとしていましたが、都度スクリプトを動かさないと最新の数字にならないことが不安でしたので。

一旦、このトピックは解決とさせていただきます。お世話になりました。

オフライン

#8 2020-09-07 08:45:06

Shin
メンバー

Re: [解決] 複数フラグで集計結果を分ける方法

サンプルファイルを少しブラッシュアップしています。再度ダウンロードしてみてください。
それと、複数月の運用テストをしていませんので、不具合が出れば教えてください。

編集者 Shin (2020-09-07 08:46:22)

オフライン

#9 2020-09-07 10:01:38

stock
メンバー

Re: [解決] 複数フラグで集計結果を分ける方法

ブラッシュアップ、ありがとうございます! 確認し、またご報告致します。

オフライン

#10 2020-09-26 18:35:57

stock
メンバー

Re: [解決] 複数フラグで集計結果を分ける方法

確認の連絡が遅くなり申し訳ありません。
サービスコードの参照TOを少し変更しましたが、複数月でも問題なく出す事ができました。

既存のファイルに教えていただいた技術をはめ込みながらつくっているのですが、
開発が進めば進むほど、このファイルのフィールド定義の意味が分かってきました。

索引の付け方やルックアップ、グローバル変数の使い方、全てが腑に落ちている今です。
リレーションがうまくいかないこと、速度が遅いことの原因が、
非保存フィールドの多用であることに気づけました。

とても学びになったサンプルファイルでした。改めてありがとうございました。

オフライン

#11 2020-09-27 16:25:32

Shin
メンバー

Re: [解決] 複数フラグで集計結果を分ける方法

ひとつだけ気になっていた事項が。
入浴と機能訓練は、基本コードが入れば算定可能なんですよね。ならば、基本コードのテーブルからの自己リレーションの方が正当かもしれません。

オフライン

#12 2020-09-27 23:46:58

stock
メンバー

Re: [解決] 複数フラグで集計結果を分ける方法

ご指摘ありがとうございます。

おっしゃるとおり、この2件は単独では算定できないサービス内容です。
現在の私の理解でファイルをつくってみましたので、ご確認いただけますでしょうか。
https://www.dropbox.com/s/ywgrq8pq9moc1 … fmp12?dl=0

主な変更点は下記です。
1.リレーション
2.サービス明細テーブル サービスコードに計算式を設定
3.codeXXXXXXを日毎→サービス明細テーブルに移動

すみません、つくっている中新たに湧いた疑問を、2点確認させてください。
1.機能訓練、入浴のチェックボックスのオンオフを繰り返すと、その分だけサービス明細レコードが出来てしまいます。
この2件は1日1回しか算定できないサービスです。
この重複を除くための工夫はどのようにすればいいでしょうか。

2.利用者マスタのフィールドでYMを設定されています。
YMはグローバル変数を参照していますが、この変数を変更しても切り替わりません。
スクリプトで全置換をかけようとしても、計算フィールドなので効きません。
ポータルの中身を7月→8月に変更したい場合、どのような方法がありますでしょうか。

宜しくお願いいたします。

オフライン

#13 昨日 08:42:07

Shin
メンバー

Re: [解決] 複数フラグで集計結果を分ける方法

1.機能訓練、入浴のチェックボックスのオンオフを繰り返すと、その分だけサービス明細レコードが出来てしまいます。
何度も繰り返しオンオフされないはず、を前提にしています。
重複しても、カウントはされないはずです。
気になるようでしたら、適宜(例えばファイルを閉じる時)削除されればいいでしょう。

2.利用者マスタのフィールドでYMを設定されています。
ウィンドウの再表示を行えばいいです。その際に、キャッシュは保存しておいたほうがいいでしょう。

オフライン

クィック投稿

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

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

Board footer