みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
お世話になります
生徒マスタ
・生徒番号
・氏名
・g_検索年(グローバル)
テスト点数データ
・生徒番号
・点数
・実施年
・点数_集計(点数の集計)
の2テーブルがあります
生徒マスタをリスト型で並べ、g_検索年(グローバル)フィールドに2022と入力し、テスト点数データと「生徒番号ー生徒番号」「g_検索年ー実施年」でリレーションを組んでおります
この状態で生徒マスタのリスト型のテーブルでは各生徒の年ごとの点数の集計を表示させております。
また一番下に、全生徒の集計として「g_検索年ー実施年」だけでリレーションを組んだ別オカレンスより、テスト点数データの集計フィールドを表示することで、その年の全体を表示できました。
上記より、生徒を3人ほどに絞った際(絞り方はフリーです 佐藤で検索など)、その絞った中での3人の集計を表示したいと思います。
こういった場合に使用できる関数やリレーションなどはありますでしょうか?
現在はスクリプトで絞ったあとに上から順に集計を足して計算結果を表示しているのですが、数百人をクラウドで行うと毎回遅くなるので、できれば関数などで集計できればと思いました。
以上です
ご教示のほど何卒よろしくお願いいたします。
Last edited by satoshi501 (2022-02-09 16:53:55)
Offline
テスト点数データ のテーブルで、生徒番号をキーとする小計パート、下部総計パート持ったレイアウト(ボディーは不要)を作ります。その小計パート、総計パートには、点数_集計 フィールドも配置します。
生徒マスターで絞り込んだら、テスト点数データ テーブルへ 関連レコードへ移動 で移動し、上のレイアウトで表示させます。生徒番号でソートします。
それだけで集計できるはずです。
Offline
Shin様
ご回答ありがとうございます
別レイアウトにて表示するということですね
ありがとうございます
確認ですが、生徒マスタのままで質問の条件を集計する関数やリレーションはない。ということになりますでしょうか?
Offline
できないことはないけど、マスタの方に集計用の計算フィールドを集計方法(平均とか合計とか)ごとに追加することになるし、集計は集計するデータのテーブルでやるのが普通ではないかな。
例えば、検索した生徒番号のリストを集計フィールドで取得して、それをリレーションに使えば、Sum()で合計、Avg()で平均などそれぞれ出せますよね。
生徒マスターの中に表示させるにはリレーションを使った集計することになるのですが、条件が増えるごとにリレーションを足していくことになります。
データ側で集計すると、レコードの絞り込みにリレーションを使った 関連レコードへ移動 を利用すると簡単ですが、それ以外はデータ側での絞り込みとソートだけですので、条件が増えても、絞り込みを変えればいいだけですので、簡単です。サンプルのリレーションと、スクリプトをみてみてください、2行のスクリプトとリレーションが1個だけで、おそらく貴方が行なっている処理を全て行なっています。
https://www.dropbox.com/s/1vuygh7uwvfet … 2.zip?dl=0
Offline
Shin様
お世話になります
ご回答ありがとうございます
レイアウトを複数を避けたかったもので、何かそれをまとめた関数などがあるかと思い質問いたしました
ファイルを作成いただきありがとうございます
そちらを参考にさせていただきます。
Offline
Pages: 1
[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 558.56 KiB (Peak: 581.77 KiB) ]