みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
OS:[ mac OS10 ]FileMaker Ver:[ 14 ]
親テーブル
id
日付
男
女
合計 男+女(計算フィールド)
子テーブル
id
日付 親テーブルの日付をルックアップ
人数 日付をリレーションとしてSum ( 親TB::人数 )
金額
として、idでリレーションしています。
現在、レポートを作成していますが人数の集計がうまくできません。
レポート部
日付をソート対象とする小計
日付ごとに金額を集計
日付ごとに人数を集計
後部統計
日付ごとに金額を集計
日付ごとに人数を集計 ← この部分がうまく表示できません。
子テーブルの人数を集計の対象とすると対象レコードの数だけ集計をしてしまいます。
リレーションの設定の問題なのか?計算式の問題なのか?
ご教授いただきたと思います。
以上、よろしくお願い致します。
親テーブルと子テーブル
のファイル構造が分かりません。
書かれたことから推測すると、
親テーブルのidはユニークの様ですが、
そうすると子テーブルが分からなくなります。
もっと詳しい説明が必要でしょう。
Offline
親子の関係は
親テーブル
親id ←ユニークな値
子テーブル
子id←ユニークな値
親id
親テーブルのid と 子テーブルの親id でリレーションしています。
よろしくお願いします。
子テーブルの親idは複数のレコードに有るということでしょうか?
ならば、
子テーブルの集計を親テーブルでする
のが普通でしょう。
Offline
説明が下手なようですいません。
子テーブルの親idは親テーブルのidとリレーションでつないでポータル入力しております。
1対多の関係になるということなのですが・・・。
単純な親子関係のリレーションです。
> 子テーブル
> id
> 日付 親テーブルの日付をルックアップ
> 人数 日付をリレーションとしてSum ( 親TB::人数 )
これが全く理解できません。
> 子テーブルの親idは親テーブルのidとリレーションでつないでポータル入力しております。
> 1対多の関係になるということなのですが・・・。
親テーブルのレコードと子テーブルのレコードが親idを介して1対多ですよね?
Offline
日付ごとに集計するなら親テーブルでやればいいので、子でやろうとして(人数を子に持ってきて)るのが間違いです。
子にしかない情報で(親の1レコードより詳細に)集計するなら話が変わってきますけど。
具体的に何を集計しているのかを書けば、少し進展するのでは。
どちらにしても、id がユニークな物でしたら、テーブルの設計は間違っています。
Offline
timさんと同じことですが、、
親テーブルには同一日付のレコードが複数あり、
その日付ごとの集計をしたい。
なのかな。
とすれば、それを
「子テーブル」
とする考えが間違っています。
日付がユニークな親の親、
「祖父テーブル」(祖母でもいいですが^^)
で集計するのが普通でしょう。
親テーブルの集計レイアウトでも集計できますね。
Offline
みなさん、回答ありがとうございます。
また、理解できない構造にもかかわらずアドバイスに感謝しております。
入力処理からの具体例ですので、よろしくお願いします。
親テーブルには同一日付で複数レコードがあります。
例
親テーブル 子テーブル
10/1 5人 商品あ 500
円
商品い 500円
親テーブル 子テーブル
10/1 2人 商品う 300円
商品お 200円
親テーブル 子テーブル
10/5 6人 商品い 500円
商品お 200円
親テーブルで人数を集計する→ 13人 人数フィールドを集計して表示できております。
この後の処理からの質問になります。
子テーブルを使用してレポートを作成していますが
10/1 7人
商品あ 500円
商品い 500円
商品う 300円
商品お 200円
小計 1500円
10/5 6人
商品い 500円
商品お 200円
小計 500円
------------------------------------------------------------- 後部統計
合計 ?人 2000円
ここで人数の合計を表示したいのですが・・・うまくいかなく
子テーブルに親テーブルの日付をルックアップしてみたりと訳が分からなくなってしまい
質問自体を混乱させているのだと思います。
ちなみに現在は、親テーブルの人数フィールドを集計し、親テーブルのレイアウト上は13人と表示されております。
この[13人]という合計人数を、子テーブルのレイアウト上に表示する方法についてアドバイスをお願い致します。
ヤット理解できました^^
説明には有りませんが、
集計したい期間とか有るのでしょう。
その期間等を両テーブルでフィールドにしてリレーション
子テーブルで
Sum ( 親テーブル::人数 )
でその期間等の合計が出ます。
子テーブルでは、同期間のレコード全てに同じ合計が表示されますが、
後部総計にそのフィールドをおけばいいでしょう。
いち日を1レコードとする別テーブルで集計する方法も有りますね。
Offline
回答ありがとうございます & 伝わって良かったです。
早速試してみました、回答の頂いた通りの表示で上手くいきました!!
ありがとうございます。
まだ、フィールドタイプの「集計」とフィールドタイプの「計算」での Sum ( テーブル::フィールド )の
使いどころがあやふやですが、今後勉強して行きたいと思います。
今後ともよろしくお願いします。
Pages: 1
[ Generated in 0.004 seconds, 9 queries executed - Memory usage: 524.7 KiB (Peak: 545.23 KiB) ]