ポータルの集計を出したいだけなのに・・・
上の画像を見てのとおり、ポータルの集計を出したいだけなのに・・・
ココがダメ
簡単にはポータルの集計がだせません!
ポータルのフィールド構成がダメなのか!?
まだ良くFileMakerの事が分かってないので、色々と試しながらやっているせいか、本当にこのやり方で良いのかが分かりません。
ちなみに、テーブルのリレーションは下記のようになっています。
「登録会社」テーブルからの中間テーブルで、「書類データ」、そして、書類データにぶら下がる詳細データの、「見積請求データ」というテーブル構成になっています。
この3つのテーブルから、適当にポータルを設置して、試行錯誤しました。
ココがポイント
ポータルのフィルタとして、請求フラグにてデータを絞っています
最初レイアウトの基本となるテーブルを、「見積請求データ」にしたら、「ポータルレコードのフィルタ」がグレーアウトになって使えませんでした。
そこで、「書類データ」を基本テーブルにしたらフィルタが使えるようになりました。
自分にはこの違いがよく分かりませんが、仕様として、
注意ポイント
レイアウトとポータルの「レコードを表示」(テーブル)が同じだとフィルターとソート設定がグレーアウトになるようです。
ちなみに、ポータルのフィールドは、下記のようになりますが、
見ての通り、基本は、「書類データ」ですが、それに、「登録会社」から会社名と、「見積請求データ」から請求見積金額を挿入しています。
本当にFileMakerの事がよくわかってないのですが、
ココがおすすめ
どのテーブルからでも、他のレコードを引っ張って来れるのは便利です!
こんな感じで、ポータルを設置してフィルタをかけたレコードを一覧表示させるところまではうまく行きました。
ココに注意
が、しかし、集計がどうやってもできません凹
いろんなテーブルに計算フィールドや集計フィールドを追加してみたり、グローバルフィールドを追加して、スクリプトで計算させたものを挿入させてやってみたり・・・様々な方法を試しましたが、ちゃんとした計算ができませんでした。
テーブルを追加してリレーションして計算(成功)
ココがポイント
ポータルの集計を出す為だけにテーブルを追加
「集計確認」というテーブルを追加しました。
「検索開始日」と「検索終了日」は、後々日付の期間で検索するためのフィールドです。(今回とは関係ありません。)
フラグというのがポイントで、数字の2で絞り込んでいるのです。
そして、ここからもポイントが続きますが、レイアウトの基本テーブルを、「集計確認」にします。
そして、「見積請求データ」テーブルに「集計金額」という計算フィールドを追加して、集計したいフィールド「請求見積額」をSUMしました。
ちなみに、この「集計金額」フィールドと関数を、ちゃんと設定してあっても、レイアウトの基本テーブルが違うとまともな集計ができませんでした。
仕上げに、フォームを開くとか、タブをクリックするようなタイミング下記のスクリプトを動かす事で、「集計金額」のフィールドフラグに絞りたい数値を入れればポータルのデータも絞られて集計もできるようになりました。
リレーションでデータを絞る方法を学んだ
ポータルのフィルタ機能やスクリプトからの対象データを絞る方法などに慣れてしまったので、他に方法が無いと思い込んでいましたが、
ココがポイント
リレーションを上手く使う事でデータを絞る方法
がある事を学んだ。
いつもAccessと比較してしまいますが、Accessならもっと簡単に集計などが出せるのでリレーションを使う事までたどり着くのに時間を要しました。
本当は、ポータルの集計ももっと簡単に出せる方法があるといいのですが・・・。あるのかな!?