4 返信 最新の回答 日時: Aug 3, 2016 1:51 AM ユーザー:parc_box

    条件付きの集計について

    parc_box

      ご無沙汰しております。

       

       

      windows7、ファイルメーカー15アドバンス環境です。

       

       

      レコード数100件を集計レイアウトで表示させてる時と仮定して質問です。

       

       

      ■フィールドは[店舗名]、[出荷日]、[果物]、[注文箱数]の4つ。テーブルは1つだけ。

      ■100件のレコード内にある[果物]フィールドの中身を識別してそれぞれの[注文箱数]の合計を集計させたい。

      ■以下の3つのフィールド今回集計を出すために新たに用意。

      【フィールド①:りんごの注文数:計算フィールド】<計算内容>:  If ( 果物 = "りんご" ; Sum ( 注文箱数 ) )

      【フィールド②:ぶどうの注文数:計算フィールド】<計算内容>:  If ( 果物 = "ぶどう" ; Sum ( 注文箱数 ) )

      【フィールド③:すいかの注文数:計算フィールド】<計算内容>:  If ( 果物 = "すいか" ; Sum ( 注文箱数 ) )

      結果、選択してるレコードの注文箱数のみ正しく[果物]フィールドの中身を識別。

      今の内容だと、作成したフィールド①~③に現在の選択レコードのみの[注文箱数]が表示さるという状況。

       

       

      関数「Sum」の使い方が悪いのでしょうが、どうすれば良いのかよくわかりません。

      よろしくお願いいたします。

        • 1. Re: 条件付きの集計について
          fukky

          1)[データベースの管理]ダイアログボックスまたはフィールドピッカーから
           集計フィールドを作成し「注文箱数」フィールドの合計に設定します。

           

          2)レイアウトモードに切り替え、小計パートを作成してソート順に「果物」フィールドを指定します。


          3)続けてレイアウトモードのまま作業を行います。
           小計パートに「果物」フィールドと「注文箱数」の合計の集計フィールドを配置します。

           ボディパートを省略すると集計結果のみが表示されるレイアウトになります。
           省略しなければ「果物」のフィールド値ごとの詳細が表示されます。


          4)ブラウズモードに切り替えます。

           小計パートが表示されていないので「果物」フィールドでソートします。

           ※小計パートはソート順に指定したフィールドでソートされている場合のみ表示されます。


          5)「果物」フィールドの値ごとに小計パートに「注文箱数」フィールドの合計が表示されるでしょう。

           

           

           

          上記の手順は[新規レイアウト/レポート]からレポートを選ぶと

          [新規レイアウト/レポート]ダイアログが表示されるので一度ダイアログに沿って作成してみると良いでしょう。

           

           

          Sum 関数は関連レコードや指定した複数のフィールドの合計を返しますので、この場合は適しません。

          • 2. Re: 条件付きの集計について
            parc_box

            早速の返信ありがとうございます。

            この方法だと、フィールド[店舗名]がみえなくなって店舗ごとの注文内容の確認が出来ないことになってしまいまして……。

            現在、[出荷日]と[店舗名]と[果物]と[注文箱数]フィールドを確認でき、且つ集計フィールドで「りんご」、「ぶどう」、「すいか」を検索して呼び出してる[出荷日]での集計を見たいという内容です。質問の内容が欠けてる状態でした。申し訳ございません。

            今、考えてるのはスクリプトで計算させる方法が取れそうかも(これから試す)という所です。

            ありがとうございました。

            • 3. Re: 条件付きの集計について
              fukky

              質問に条件がすべて出されていない場合、適切な回答はできません。

               

              「店舗名」フィールドが見えなくなるというのが良く理解できませんがボディパートに配置すれば表示されるでしょう。

               

              現在、[出荷日]と[店舗名]と[果物]と[注文箱数]フィールドを確認でき、且つ集計フィールドで「りんご」、「ぶどう」、「すいか」を検索して呼び出してる[出荷日]での集計を見たいという内容です。


              申し訳ありませんが理解不能です。

              求めている集計レポートの最終形がイマイチ見えてきません。

               

              「出荷日」ごとの「店舗名」べつの「果物」それぞれの「注文箱数」が確認したいのですか?

               

              小計パートはソート順に指定したフィールドごとに区分けして表示されますから
              「出荷日」「店舗名」のそれぞれをソート順に指定した小計パートを追加して
              「出荷日」「店舗名」「果物」でソートすれば上記のレポートが表示できます。

               

               

              ボディパートがある場合は「果物」単位でのレコードが表示されます。
              ご質問のケースではボディパートは不要な気もしますがまずやってみては如何でしょう?

              • 4. Re: 条件付きの集計について
                parc_box

                ですねですね。

                sum関数が狙い通りの動作をしてなかったので何処がおかしいんだろうと、頭の中がこんがらがってる状態で質問を投稿したのがそもそもの間違いだったのかもと反省してます。

                思いついたことをまずやってみます。サンプルファイルも参考にさせて頂きます。ありがとうございました。