4 返信 最新の回答 日時: Apr 30, 2014 6:46 AM ユーザー:caddis01

    請求と未収の状況を特定の日付で集計したいのですが???

    caddis01

      タイトル

      請求と未収の状況を特定の日付で集計したいのですが???

      フォーラムに投稿

           請求と未収の状況を特定の日付を基準に集計しようとしています。

           請求日は各月末の日付、収入は収入日のデータになっています。

           そこで特定の請求月(例えば2014/02/28)を決めて、その月末までの請求済分で、その月末までの収入済分を対象外とする未収の集計、つまりその特定日現在で締めた時の請求金額残高を集計しようとしています。

           (従って、その特定日以後の収入状況は、集計しません。あくまで特定日までの請求から、その日までの収入済分を除外した請求残高で集計したいのです。)

           それで、スクリプトを作ってそれができればと、検索条件として特定の日を入力できるフィールドを作成し、その日を検索条件に指定しようとすべく「検索条件を編集」の画面で「条件」で「請求年月日」を検索すべく、このフィールド名を指定し「<=集計対象年月日」(つまりこの日以前の請求日のものを検索しようとしています。)とすると"このフィールドの値は西暦4桁の範囲になるように入力して下さい。"の旨のエラー表示がでてしまいます。もちろん収入の日付についても同様です。

           確かにここに特定日を手入力すれば、期待した結果がでるのは確認したのですが、なんとか指定した日を検索条件にして集計する方法はないものでしょうか。

            

        • 1. Re: 請求と未収の状況を特定の日付で集計したいのですが???
          Shin
               Case (
                区分 = "請求" ; Date ( Month ( 納品日 ) + 1 ; 0 ; Year ( 納品日 ) ) ;
                区分 = "入金" ; 入金日 )
               )

               という日付の計算フィールドを作っておきます。その中で, ≦2014/4 などという検索をすればいいはずですが。

               請求額は、入金額 - 請求額 という計算フィールドを作り、その合計を行う集計フィールドを使えば簡単でしょう。

          • 2. Re: 請求と未収の状況を特定の日付で集計したいのですが???
            caddis01

                 Shinさん、早速有り難うございます。質問が不明瞭で申し訳ないです。

                 ①質問での説明が不足でしたが、「請求」とは、保険会社への保険請求の事なので、「納品日」という概念はありません。

                 ②「請求額は、入金額 - 請求額 という計算フィールドを作り」とありますが、『入金額』から『請求額』をマイナスするのはなぜ?

            仮に「請求額-入金額」の意味であったとしてもこの計算では、確かに特定日での未収金額は出るのですが、特定日以後に入金になった金額までマイナスされてしまうのです。

                 つまり、単に特定日での「未収金額」が算出したいのではなく、特定日以降の入金は無いものとして、特定日にいくら未収が残っていたかを遡って求めたいのです。

                 (例えば、4月20日になってから、3月末現在での未収残がいくらであったかを遡って求めようとしているので、3月末までの請求に対して、4月1日から4月20日までの日々の入金はなかったものとして、3月末現在での未収残高がいくらであったかを求めようとしています。)

                 従って、検索条件を『区分』が"請求"か"入金"かで分けるのでは無く、「請求日」では特定日までの請求を検索し、かつ同時に「入金日」では、特定日以前の入金が含まれるデータを除外する条件とする必要があります。

                 具体的には、

                 『請求日』<=集計対象日付(2014/03/31)・・・請求が3月31日までのもの

                 『入金日』<=集計対象日付(2014/03/31)・・・入金が3月31日までにあったものを除外する条件

                 この2つの条件を同時に満たす請求金額の合計が、3月31日現在では入金されていない請求額=未収残高となります。

                 この「集計対象日付」を単一のフィールドに入力すれば、自動的に上記の数字が算出されるようなスクリプトにしたいのです。

                 ややこしくて申し訳ないです。よろしくお願い致します。

                  

            • 3. Re: 請求と未収の状況を特定の日付で集計したいのですが???
              Shin

                   納品日は、発生日、などと読み替えられるといいでしょう。

                   計算ですが、最後までよく読んでくださいね。

                   その計算は、1イベントごとの計算フィールドで、その集計を行うことに依って、収支計算を行います。請求は、当方にとっては負になり、収入は正になりますので、それぞれ、マイナス、プラスで表現しておきます。つまり、レコード毎に、入金のレコードであれば正の数字が入り、請求のレコードでしたら負の数字が入ります。

                   このフィールドを集計する範囲で合計すれば、集計結果として求められますね。

                   たぶん、貴方の考え方は、集計期間の入金の合計を出して、集計期間の請求の合計を出して、その結果を引き算する、というのでしょうが、算術的には結果は同じ事ですが、DBの中では、集計値同士の計算は結構面倒です。ですから、あらかじめ収支の形に変えて、総計すると、構造が非常に単純になります。

                   概念として、このような形になります。

              https://dl.dropboxusercontent.com/u/9260632/FileMaker/FMTips/forum/forums2e66e103a6.fp7.zip

              • 4. Re: 請求と未収の状況を特定の日付で集計したいのですが???
                caddis01

                     有り難うございました。DBにはDBなりの集計の仕方があるのですね。

                     作って頂いたFMPのファイルはとてもよく分かりました。

                     大変参考になりました。再度、シンプルな構造で期待した結果がでるような

                     DBを目指して再度挑戦してみます。

                     今後ともよろしくお願い致します。