• ベストアンサー

ファイルメーカーProの集計

ファイルメーカーPro3.0を使っていますが、集計のことで行き詰まっています。 集計関数 GetSummary 関数で取り出したデータをさらに、ソート時に合計を出したいのですが、何か良い方法はないものでしょうか?よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • aqula
  • ベストアンサー率60% (70/115)
回答No.4

>ソート対象を二重にしており、上記の”ソート対象のフィールド”を >二つにするか、”集計用”にもう一つのリレーションを加えるか >したいのですが、可能でしょうか。 どちらの方法でも出来そうですが、 リレーションを増やした方が後々問題が少ないように思います。 リレーションキーを工夫すれば、色々応用出来ます。 例えば、日付から「年月」を計算で出して照合フィールドにすれば、 月毎の集計が出せます。 >御指導いただいているような計算方法はどのようにして >勉強されたのでしょうか。 自分の場合は、必要に迫られて、毎日考えに考え、試行錯誤の連続でした。 時間に余裕があったので、これで出来るようになったのでしょうね。 後になって気付いたのですが、色々とヒントになるサイトがあり、 今もそれを見て勉強中です。 まずは、FileMaker社のTips http://www.filemaker.co.jp/support/tech_info.html ユーザーによる掲示板、質問しなくても見ているだけで勉強になります。 http://www.kipwmi.com/fmbbs/wwwlng.cgi 同じくメーリングリスト、上級者向けですが、過去ログは参考になります。 http://www.ogawa.tokushima.tokushima.jp/~fmjuser/fmjml.html あとはサンプルファイルの構造を解析したり・・・ 他にももっとありますので、検索して探して下さい。

参考URL:
http://www.to-on.com/database/index.html
okmo
質問者

お礼

だいぶ時間が過ぎてしまい申し訳ありません。 いろいろな参考URLを教えていただき本当にありがとうございます。自分で少し勉強してみようと思います。もしかすると、また、同じような質問を何処かでするかもしれませんが、その時は御指導よろしくお願いいたします。

すると、全ての回答が全文表示されます。

その他の回答 (3)

  • aqula
  • ベストアンサー率60% (70/115)
回答No.3

説明ベタで申し訳ありません。 >「参照フィールドを統計関数で加工....」 参照フィールドを計算フィールドで使うと言う意味です。 例えばこの自己リレーション名を仮に「集計用」とします。 自己リレーションで合致する「数量」の合計であれば、 =Sum(集計用::数量) これの下4桁以上を取り出すので、 =Int(Sum(集計用::数量)/1000) さらに合計するのであれば、このままでは「合計の合計」となり、 おかしな数字になるので、合計対象のレコード数で割り、 =Int(Sum(集計用::数量)/1000)/Count(集計用::数量) ここで新たに集計フィールドを作り、目的の集計を出します。

okmo
質問者

補足

度々、本当にありがとうございます。ちょっと前進した様です。 No.2の「照合フィールドをソート対象のフィールドに 」 今回の「=Sum(集計用::数量) 」 に関係するのですが、ソート対象を二重にしており、上記の”ソート対象のフィールド”を二つにするか、”集計用”にもう一つのリレーションを加えるかしたいのですが、可能でしょうか。 よろしくお願いいたします。 ところで、話は変わりますが、御指導いただいているような計算方法はどのようにして勉強されたのでしょうか。よろしかったら合わせて教えて下さい。

すると、全ての回答が全文表示されます。
  • aqula
  • ベストアンサー率60% (70/115)
回答No.2

まだ、理解出来てないかも知れませんが、 1.自己リレーション(ソートせずに集計と同じ結果が出ます)  ・参照ファイルをそのファイル自身に  ・照合フィールドをソート対象のフィールドに  ・参照フィールドを統計関数で加工(ここでGetSummaryと同じはず)  ・これを下3桁切り捨て  ・求める数字によっては、これを Count(参照フィールド)で割る  ・これで出た数字を集計フィールドで集計する 2.スクリプト(力技)  ・GetSummaryで得た数字を別ファイルに取り込む、または、   ルックアップして加工する。 以上2点思い付きましたが、私も文章での説明は自信ありません。 自己リレーションでうまく行くと思うのですが、 私が勘違いしてるかもしれませんね。 違ってたら、また補足して下さい。

okmo
質問者

お礼

度々ありがとうございます。 今、出先で拝見しているのと、いただいた内容が私には初めてのことなので結果が出るまでに時間がかかるかもしれませんが、又報告なり再度質問なりしたいと思いますので、よろしくお願いいたします。

okmo
質問者

補足

申し訳ありませんが、 「参照フィールドを統計関数で加工....」 以降が、何をしたらいいのかわかりませんでした。 再度御指導の程、よろしくお願いいたします。

すると、全ての回答が全文表示されます。
  • aqula
  • ベストアンサー率60% (70/115)
回答No.1

質問の意味がつかみかねますね。 ソート時に合計を出すのが「GetSummary」ですよね? ・ソート対象の追加とそれを区分けフィールドにしたGetSummary ・単に合計だけなら、Sum や Count 等の統計関数 以上、勝手に推測しましたが、どんなデータをどうしたいのか、 もっと詳しく書かないと誰も回答できないと思います。

okmo
質問者

お礼

大変申し訳りませんが、先程No.2の方へ「補足」させてもらったのですが、No.1を再度読み返してみて、考えの食違いに気が付きました。 ”ソート時に合計を出すのが「GetSummary」ですよね? ” との事ですが、それは、「GetSummary」ではなく「集計フィールド」でソート時に集計させることで、 その集計結果のデータを別フィールドに取り出すのが「GetSummary」だと理解しています。 もしかすると根本的に私とは考え方が違っているかも知れません。 それで、No.2を私は理解できないのかも知れません。 何度も申し訳ありません。

okmo
質問者

補足

大変失礼いたしました。 今やろうとしていることは、まず、 1:フィールドのデータは、下3桁の数字です。(下4桁切り捨て) 2:ソート時のGetSummaryのデータは、下3桁を切り捨てて下2桁にしています。 3:ソート対象の数分の、下2桁のデータをさらに集計したいのですが。 単に合計を出したければ、ソートに関係なく合計すれば済むことですが、そうして出した数字と私が出そうとしている数字は違います。ご理解できるでしょうか。ちょっと文章での説明は自信がなく、わかりずらくて申し訳ありません。

すると、全ての回答が全文表示されます。

関連するQ&A