初心者のFileMaker pro Q&A (旧掲示板)

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 2018-02-27 04:15:04

でみお
Member

自己リレーションを使った計算フィールドの合計を出したい

こんばんわ。いつも参考にさせていただいてます。
良い題名が思い浮かばなく分かりづらいかったかもしれませんがよろしくお願いします。
利用環境はWin7でFM-Adv12です


請求書作成をしております。
フィールドは日付、顧客ID、数量、金額、請求日、エリアコードなどがあります
エリアコードとは北海道なら01、青森なら02などと数字で地区を管理しています。
同日、同内容で複数枚の伝票が発生する事もあります。
1伝票につき1案件のみです。

これを「顧客ID:顧客ID and 請求日:請求日」の自己リレーションにて顧客ごとの同日請求日の金額等を纏めての請求書発行までは出来ております。
ヘッダーに顧客名、合計請求金額等を記載し、ボディーに各伝票をリスト表示させたものです。


今回、経理からエリア毎の一覧が欲しいとの要望で集計表を作り出しました。
「エリアコードと請求日」で検索し、各詳細は要らないのでボディなしの小計ソート対象にてリスト表示までは出来ました

この表示されているリストの金額の総計(縦計)がどうしても出せません。
合計したい参照元が自己リレーションを使った計算フィールド(=Sum(自己リレーション::金額))だからでしょうか?
集計フィールドを作ったりGetsummaryを試してみたりしましたが上手くいきませんでした。
「顧客ID:顧客ID and エリアコード:エリアコード」の自己リレーションを張って別に合計を求めるしかないのでしょうか?
印刷が出来れば良いです。


こういう場合にはどういう風に考えたら良いのでしょうか?


どうぞよろしくお願い致します。




2018/2/28 A商事 15000
2018/2/28 B商事 20000
------------
         35000 ←これを出したいです

Offline

#2 2018-02-27 08:52:59

Shin
Member

Re: 自己リレーションを使った計算フィールドの合計を出したい

明細が各一件なので必要ない、ということでしょうね。
エリアで集計する機能を作ってしまうのが簡単でしょう。
金額の合計を出す集計フィールドを作り、エリアをキーとする小計パートを持たせたレイアウトを作ります。それでエリアでソートするだけです。ボディーパートは不要でしたら削除しましょう。

請求書は、同じ手法でも作ることができますよ。

Offline

#3 2018-02-27 09:19:23

チポ
Member

Re: 自己リレーションを使った計算フィールドの合計を出したい

> 合計したい参照元が自己リレーションを使った計算フィールド(=Sum(自己リレーション::金額))だからでしょうか
そうですね、
各明細ごとの合計が各明細レコードにあるのに、それを合計することになっちゃいますよね。

金額を合計する集計フィールドの配置でいいでしょう。

そもそも,集計レイアウトを使うのなら、
リレーションの集計ではなく、集計フィールドを使って集計する方が簡単でしょう。

Offline

#4 2018-02-27 11:24:51

でみお
Member

Re: 自己リレーションを使った計算フィールドの合計を出したい

Shinさん、チポさん早速のご返信ありがとうございます。
お二人のお答えで自分の説明力不足を感じたので長くなるとは思いますが再度説明いたします。
上手く伝わらない表現ですみません。今度は上手く伝わると良いのですが・・・



※※伝票詳細テーブル
日付・顧客ID・金額・請求日・エリアコードのフィールドがあります。
(例)
2/01・001(A商事)・4000・2/28・01
2/01・002(B商事)・7000・2/28・01
2/01・001(A商事)・3000・2/28・01
2/10・003(C商事)・2000・2/28・02
2/13・004(D商事)・1000・2/28・02
2/15・001(A商事)・4000・2/28・01
2/16・002(B商事)・6000・2/28・01
2/20・001(A商事)・4000・2/28・01
2/25・002(B商事)・7000・2/28・01


※※上記テーブルに「顧客ID:顧客ID and 請求日:請求日」の自己リレーションをかけて
計算フィールド(=Sum(自己リレーション::金額))にて各顧客IDごとの請求金額を求めています
この請求金額等を請求書の印刷レイアウトのヘッダー部分で使っています。
(例)
-----ヘッダー-----
A商事御中
ご請求金額 ¥15000
-----ボディ-----
2/01・4000
2/01・3000
2/15・4000
2/20・4000
-----おわり-----


※※上記伝票詳細テーブルから2/28締めのエリアコード01の一覧とその合計を出したい
顧客IDをキーとしたボディ無しの小計パートにて表示させました
下に合計(縦計)した1枚を印刷したいのです
(例)最初の投稿で一番最後に書いたものです
2/28・001(A商事)・15000
2/28・002(B商事)・20000
--------------
          35000 ←これを出したいです



やはり自己リレーションでなく集計フィールドを使い各請求先毎の合計金額等を計算すべきなのでしょうか?

拙い文章で分かりづらい部分があるとは思いますがどうぞよろしくお願いします。

Offline

#5 2018-02-27 13:14:16

チポ
Member

Re: 自己リレーションを使った計算フィールドの合計を出したい

> 経理からエリア毎の一覧が欲しい
エリアごと、かつ、日付けごとの集計ですか?

ならば、
> 「顧客ID:顧客ID and エリアコード:エリアコード」の自己リレーションを張って
これはどういうことでしょうか?


請求書をリレーションで作るのはいいとしても、
集計表にするのなら集計フィールドと小計パートの集計レイアウトが簡単でしょう。

Offline

#6 2018-02-27 14:34:44

Shin
Member

Re: 自己リレーションを使った計算フィールドの合計を出したい

全部、集計機能で作ってしまった方が簡単でしょう。
https://www.dropbox.com/s/6hbpj3fr4hupk … 7.zip?dl=0

Offline

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.005 seconds, 7 queries executed - Memory usage: 525.05 KiB (Peak: 529.95 KiB) ]