第76回 集計する

おはようございます。こんにちは。こんばんは。
エヌ・ケイ・カスタマイズの 泉 です。

ここ数年は、毎朝のニュース番組での天気予報、スマホのお天気アプリがかかせません。
最近は寒くなったんですが、先週の土曜日は日向では汗ばむ陽気。
昨日は曇りの天気予報を信じて散歩に行くも突然の雨に見舞われ、急いで雨の中を帰宅すると、
その後晴れる、、、
ITが進歩しても天気を完全に予測できないらしいので、うまく付き合っていくしかないのですが、もどかしいです。

集計する

これまでの解説で、データの一覧は出力/表示できるようになりました。
そこで、次のステップとして、データをグループ化して「集計」してみましょう。

集計用フィールド

集計結果を出すには「集計タイプのフィールド」が必要です。
複数のレコードの値をカウントしたり、小計、平均、総計を計算します。

用意されている計算方法の中から目的に応じて設定をおこないます。
また、集計タイプのフィールドが集計するのは「対象レコード」です。
レイアウトのパートやパートに設定されるソート対象(区分けフィールド)と組み合わせて使用し、
対象レコードの総計と区分けグループごとの小計を出します。
集計タイプのフィールドの計算方法の設定の種類は下表を参照してください。

集計パート

集計結果を出すのにもう1つ必要なのが「集計パート」です。
これは、前回「第36回 レイアウトパート」で解説していますので、そちらを参照してください。

この「集計タイプのフィールド」と「集計パート」を使って集計用のレイアウトを作成します。

集計用レイアウト

解説用の「タスク」テーブルレコードのステータスごとの件数とその内訳がわかるレイアウトを作成します。
わかりやすいように演習ファイルにデータを用意しています。
これでデータ30 件のうち
・ 進行中が 14 件
・ 保留中が 4 件
・ キャンセルが 7件
・ 完了が 5 件
まず、ステータスごとの件数をカウントするための集計タイプのフィールドをつくります。

  1. [データベースの管理]ダイアログで「タスク」テーブルにフィールドを作成します。
    ・ 名前は「集計_ ステータス件数」
    ・ タイプ「集計」
  2. フィールドを作成すると[集計フィールドオプション]ダイアログが表示されます。
    a. [カウント]ラジオボタンをクリックします。
    b. [使用できるフィールド]で「ステータス」フィールドを指定します。
    c. [OK]をクリックし、オプションのダイアログを閉じます。
  3. [OK]をクリックし、[データベースの管理]ダイアログを閉じます。

次に 集計用のレイアウト を作成します。[新規レイアウト/ レポート]ウィザードを使用します。

  1. [レイアウト]-[新規レイアウト/ レポート]メニューを選択します。
    ・ [レコードを表示]は「タスク管理」
    ・ [レイアウト名]は「集計タスク一覧」
    ・ [コンピュータ]の[レポート]を選択して[続行]をクリックします。
  2. [小計を含める]、[総計を含める]が オン のまま[次へ>]をクリックします。
  3. [フィールドの指定]で、以下を右側に移動して[次へ>]をクリックします。
    ・ タスク
    ・ ステータス
    ・ カテゴリー
    ・ 期限
    ・ 優先度
  4. [区分けフィールドによるレコードのグループ化]で「ステータス」を右側に移動して「次へ>」をクリックします。
  5. [レコードのソート]で、以下の設定をおこない、「次へ>」をクリックします。
    (操作は[レコードのソート]ダイアログと同様です)
    ・ ステータスを 値一覧「ステータス」の順
    ・ 期限を 昇順
    ・ 優先度を 値一覧「優先度」の順
  6. [小計を指定]で、以下の設定を行い、「小計を追加」ボタンをクリックし、「次へ>」をクリックします。
    ・[集計フィールド]を「集計_ ステータス件数」
    ・[区分けフィールド]は「ステータス」
    ・[配置]は「レコードグループの前部」
  7. [総計を指定]で、以下の設定を行い、「総計を追加」ボタンをクリックし、「次へ>」をクリックします。
    ・[集計フィールド]を「集計_ ステータス件数」
    ・[配置]は「レポートの前部」
  8. [ヘッダおよびフッタの情報]は、何もせずに「次へ>」をクリックします。
  9. [レポートのスクリプトの作成]は、何もせずに「完了」をクリックします。
  10. レイアウトが作成されました。
    「ヘッダ」、「ボディ」パートのほかに「総計(前部)」、「ステータスをソート対象とする小計(前部)」パートが作成されていることを確認します。

  11. ブラウズモードで動作を確認します。
    a. 全レコードを表示します。
    b. ソートをおこないます。設定したように以下の順を指定します。
     ・ ステータスの値一覧順
     ・ 期限の昇順
     ・ 優先度の値一覧順
    c. 結果が表示されるはずです。


いかがでしょうか?想定していた通りのステータスの内訳件数の通り表示されているはずです。
後は、検索モードで「カテゴリー」を指定すると、対象レコードの件数が変わって、集計結果もわかることを確認してください。

集計結果を表示するにはソートが必要

集計用のレイアウトでは、指定した順のソートを行わないと正しい結果がでません。

集計結果の確認が必要になる度に手動でソートをおこなうのは面倒です。
ソート順も覚えていなければいけません。ソートをボタンに割り当てておけば毎回思い出さなくても済みます。

まとめ

いかがだったでしょうか?

どんなシステムでも、データを溜め込むだけではもったいないです。
データを分析することで見えてくることもあります。
まずは、FileMakerの「集計」を使ってみてください。
ただ、今回の解説は、あくまでも「初級の集計」だと思ってください。
より複雑な集計も可能で、小計パートを複数指定して階層化したり、
リレーションによる関連テーブルのフィールドで集計したりできます。

『自社のシステムのデータで、こういう集計をしたいけど、やり方がわからない』とお悩みの方は、
是非一度、弊社にご相談ください。

次回は、PDFを保存する方法を解説していきます。

それでは、また次回の更新をお楽しみに!!

Follow me!