カテゴリー

勤怠管理で行ってみよう! Part6(タイムカードの集計2)

FileMaker(ファイルメーカー)の実践(Tips) 実践編

タイムカードを集計するテーブルの作成

今回はタイムカードのテーブルのデータを社員(アカウント別)、月別にまとめていきたいと思います。別に集計用のテーブルを作成し、タイムカードのテーブルとリレーションシップを利用してデータをまとめていきます。

ファイルメーカーでタイムカードソリューションを作成。タイムカードを集計するテーブルとフィールド

このように、まとめたいデータのフィールドを作成します。今のところ、フィールドには集計するための計算式を設定していません。ファイルメーカーの使い方によって、この集計をする方法については考える必要があります。

数字フィールドか計算フィールドか

ファイルメーカーを始めて間もない方は、たいてい計算フィールドに集計するための計算式を設定して行うでしょう。この方法が間違いであるとは言えません。スタンドアロンでファイルメーカーを使用している場合、FileMaker Serverをつかっていてもローカルネットワーク内だけの利用、社員数が十数人程度の規模であれば、それでもかまいません。むしろ、そのほうが楽かもしれません。しかし、規模が大きくなるととてもさばききれなくなります。レコード数が多くなってくると、計算フィールド、特に今回のように別のテーブルの値を使用している場合、非常に遅くなります。今回は、数字フィールドを使って、計算はスクリプトで行うようにしていきたいと思います。

リレーションの設定

リレーションシップで集計を行う方法

図のように、アカウント名、支払月を「=」でつなぎます。また、タイムカード集計テーブル側に「このリレーションシップによるレコード作成を許可する」のチェックを入れます。

集計テーブルにどうやってレコードを作成するか

集計を行うには、集計テーブルにレコードを作成する必要があります。スクリプトで作成する方法を紹介します。

リレーション先のテーブルにレコードを作成する方法について

まず、この図のように集計テーブルにフィールドを一つ追加します。タイムカードのテーブルから、このフィールドにデータを書き込むと、集計用のテーブルに自動的にレコードが作成されます。

リレーション先のテーブルにレコードにデータを書き込むとレコードが作成できます。

次回は、集計を行うスクリプトの作成です。

集計用のテーブルの「レコード作成用」というフィールドにタイムカードのテーブルのレイアウトからデータを書き込むと、下の図のようにレコードが作成できます。

このリレーションシップによるレコード作成を許可する機能を利用したレコード作成方法