みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
いつもお世話になっております
Win10 FM16です
集計について教えてください
Aフィールド[5] A集計物フィールド[5] A集計数フィールド[5]
Bフィールド[5] B集計物フィールド[5] B集計数フィールド[5]
Cフィールド[5] C集計物フィールド[5] C集計数フィールド[5]
合計フィールド[5] 合計数フィールド[5]
があるとします
それぞれに物品を入力していくのですが
Aフィールドに(はさみ、ものさし、はさみ、鉛筆、消しゴム)
Bフィールドに(はさみ、鉛筆、消しゴム)
Cフィールドに(はさみ、はさみ、鉛筆)
入力した際に
A集計物フィールド[5] 集計数フィールド[5]
はさみ 2
ものさし 1
鉛筆 1
消しゴム 1
とまとめたい
A、B、Cを合計フィールドにまとめたい
合計フィールド[5] 合計数フィールド[5]
はさみ 5
ものさし 1
鉛筆 3
消しゴム 2
みたいに集計したいのですが
どのようにしたらいいのでしょうか?
Offline
そのままでは無理です。
繰り返しフィールドを使っていることが間違いですので、そこを完全に作り替えましょう。
現在のテーブルにキーフィールド、グローバルフィールドで区分フィールドを3個作ります。別のテーブルを作り、そこにキーフィールド、区分フィールド、物品フィールドを作ります。
リレーションを、キーフィールドと、各区分ごとにグローバルフィールドからで、3個張ります。
そのそれぞれで、今の繰り返しフィールドの代わりに、ポータルで表示させておきます。
集計は、別テーブル側で行うといいでしょう。
Offline
レコードを跨がない、フィールド内配列値の個別集計だから、このままの構造で計算集計できます。
各繰り返し計算フィールドの式は、(計算結果は必要に応じて、テキスト or 数値 とします)
A集計物フィールド[5]
GetValue(UniqueValues(List(Aフィールド[1])); Get(計算式繰り返し位置番号))
B集計物フィールド[5]
GetValue(UniqueValues(List(Bフィールド[1])); Get(計算式繰り返し位置番号))
C集計物フィールド[5]
GetValue(UniqueValues(List(Cフィールド[1])); Get(計算式繰り返し位置番号))
A集計数フィールド[5]
Choose(IsEmpty(A集計物フィールド); ValueCount(FilterValues(List(Aフィールド[1]); A集計物フィールド)))
B集計数フィールド[5]
Choose(IsEmpty(B集計物フィールド); ValueCount(FilterValues(List(Bフィールド[1]); B集計物フィールド)))
C集計数フィールド[5]
Choose(IsEmpty(C集計物フィールド); ValueCount(FilterValues(List(Cフィールド[1]); C集計物フィールド)))
合計集計物フィールド[5]
GetValue(UniqueValues(List(List(Aフィールド[1]);List(Bフィールド[1]);List(Cフィールド[1]))); Get(計算式繰り返し位置番号))
合計集計数フィールド[5]
Choose(IsEmpty(合計集計物フィールド)
; ValueCount(FilterValues(List(List(Aフィールド[1]);List(Bフィールド[1]);List(Cフィールド[1])); 合計集計物フィールド))
)
Offline
アァ、複数レコードの集計ではない?
Offline
HiroさんShinさん
いつもありがとうございます
Hiroさんの方法でやりたいことが上手くできました
ありがとうございます
Offline
Pages: 1
[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 509.1 KiB (Peak: 515.98 KiB) ]