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

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

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

You are not logged in.

Announcement

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


#1 2013-12-17 14:43:59

watanabe
Guest

金種の表示方法について

いつもお世話になってます。以前のサイト時から使わせてもらってます。
知恵を貸してください。

win7 FM pro12 です

やりたいことはタイトルのことなのですが、旅費を銀行から引出す時に金種を使用します。
1万何枚、五千枚とか1円単位まで処理はできました。

月締めで処理をするので、同じ人が数レコードあり、小計パートで出張者Noでソートして
集計タイプフィールドで小計は出せました。

その小計の金種が出せません。

例えば、

watanabe:1回300円の出張が5回。金種は千円1枚、五百円1枚となってほしいのに、百円15枚。
tanaka    :1回300円の出張が3回。金種は五百円1枚、百円4枚となってほしいのに、百円9枚。

合計金種が  万円  五千円  千円  五百円  百円  五十円  十円  五円  一円       合計
                 0       0      1       2       5      0       0      0     0       2400円

となる方法があればどうしたらいいでしょうか。宜しくお願いします。

#2 2013-12-17 15:03:45

global
Guest

Re: 金種の表示方法について

計算に使ってる金額のフィールドを合計する集計フィールドは作りましたか。それを合計金額という名前だとすると
GetSummary(合計金額;出張者No)
を金種計算の式の金額と入れ替えます。

レコードごとの金種(とその合計)は使わないので入れ替えでいいでしょう。

#3 2013-12-17 16:15:09

チポ
Member

Re: 金種の表示方法について

出張者個々ごとの金種と、その月締め合計も欲しいんですよね。

今のテーブルでの処理は面倒ですね。


1出張者&1締め月を1レコード
とする別テーブルで集計したらいかがでしょう。

Offline

#4 2013-12-17 17:35:24

Listist
Guest

Re: 金種の表示方法について

繰り返しフィールドでやってみた。

出張者No    数字   
金額    数字   
金額の合計    集計    = 金額合計
合計の金種    計算 [9]    非保存、 = Let ( [
gaku = List ( 10000 ; 5000 ; 1000 ; 500 ; 100 ; 50 ; 10 ; 5 ; 1 ) ;
n = Get ( 計算式繰り返し位置番号 ) ;
p = GetValue ( gaku ; n ) ;
Pu = GetValue ( gaku ; n - 1 )
] ;
Case ( n = 1 ; Div ( GetSummary ( 金額の合計[1] ; 出張者No[1] ) ; p ) ; Div ( Mod ( GetSummary ( 金額の合計[1] ; 出張者No[1] ) ; pu ) ; p ) )
)
出張者Noのカウント    集計    = 出張者Noカウント
金種の総計用    計算 [9]    非保存、 = 合計の金種 / GetSummary ( 出張者Noのカウント[1] ; 出張者No[1] )
金種の総計    集計 [9]    = 金種の総計用合計

#5 2013-12-18 11:16:18

watanabe
Guest

Re: 金種の表示方法について

globalさん,ちぽさん,lististさんありがとうございます。

GetSummary(合計金額;出張者No)を使用してできました。最近悩んでいたことが一瞬で解決しました。ありがとうございます。
繰り返しフィールドを使用すると金種フィールドがひとつで良くなるのですね!!!


出張者Noのカウント    集計    = 出張者Noカウント
金種の総計用    計算 [9]    非保存、 = 合計の金種 / GetSummary ( 出張者Noのカウント[1] ; 出張者No[1] )
金種の総計    集計 [9]    = 金種の総計用合計

上の総計用の式で集計[9]設定方法が分からないのですがどこで設定できますか。

チポさんの言われるように別テーブルで集計した方がいいでしょうか

出張者個々の金種とその月締め合計の金種の、合計の金種は後部統計で出せればいいレベルです。
出金の時に必要なので、最終的に全体の合計としては必要ないです。

今のレイアウトは
ヘッダ--------------------------------
出張者No       万  五千  千  五百  百  五十  十  五  一    手渡計     
小計ソート (出張No)--------------------------------
出張者No     金種1~9                                            手渡計
  100            1    1    1     1    1    1    1    1   1      16,161                               
  101            1          1          1          1         1     11,111                               

後部統計--------------------------------
                金種総計                                           手渡計


金種総計繰り返しができれば完成です。宜しくお願いします。

#6 2013-12-18 11:32:33

Listist
Guest

Re: 金種の表示方法について

フィールドオプションの一番下にある「繰り返しの集計」を「個別」にします。

#7 2013-12-18 12:34:45

watanabe
Guest

Re: 金種の表示方法について

できました!!
個別と全体の使い方を知りませんでした。
まだまだ知らないことばっかりです。
また、宜しくお願いします。ありがとうございました。

#8 2013-12-18 17:09:02

watanabe
Guest

Re: 金種の表示方法について

もうひとつお願いします。
銀行は五千以下の金種合計枚数が50枚以上になると手数料がかかるので、50枚で収まるように調整します。

繰り返しフィールドで計算していても五千以下の枚数の合計を表示することはできますか。

66,666が1名の場合
万・五千・千・五百・百・五十・十・五・一・合計枚数
6・1・1・1・1・1・1・1・1・「8」

66,666が10名の場合
万・五千・千・五百・百・五十・十・五・一・合計枚数
60・10・10・10・10・10・10・10・10・「80」(総計金種)を
66・1・1・0・0・10・10・10・10・「42」(調整金種)のように調整したいのですが、

調整金種は五千以下のフィールドを作ってその枚数を合計(sum)すればできますよね。

問題は総計金種「80」はどのように出すかなのですが、繰り返しフィールドの式でなぜできているかわからないまま
できてしまっているので頭が働いていません。。。宜しくお願いします。

#9 2013-12-18 20:09:29

himaganee
Guest

Re: 金種の表示方法について

金種の総計の全部    集計    = 金種の総計用合計
というのをオプション「全体の合計」で作ると9種類の合計枚数になるので、一万の分を引いて
金種の総計の5千以下    計算    非保存、 =  GetSummary ( 金種の総計の全部 ; 金種の総計の全部 ) - GetSummary ( 金種の総計[1] ; 金種の総計[1] )
で五千以下の8種類の合計枚数「80」になる。

自動調整は再帰的になるので難しいですね。
それに、調整してしまうと各個人に支給不可能になります。手持ちのを使ったり別途両替とかですか。

#10 2013-12-19 15:36:19

Listist
Guest

Re: 金種の表示方法について

金種調整後 数字[9] グローバル というフィールドを追加して、調整するスクリプト

変数を設定 [$n; 値:1]
Loop
 フィールド設定 [金種::金種調整後[$n]; 金種::金種の総計[$n]]
 変数を設定 [$n; 値:$n + 1]
 Exit Loop If [$n = 10]
End Loop
変数を設定 [$n; 値:2]
Loop
 変数を設定 [$over; 値:Sum ( 金種::金種調整後 ) - 金種::金種調整後[1] - 50]
 Exit Loop If [$over <= 0]
 変数を設定 [$b; 値:Case ( Mod ( $n ; 2 ) ; 5 ; 2 )]
 If [金種::金種調整後[$n] >= $b]
  フィールド設定 [金種::金種調整後[$n - 1]; 金種::金種調整後[$n - 1] + Div ( 金種::金種調整後[$n] ; $b )]
  フィールド設定 [金種::金種調整後[$n]; Mod ( 金種::金種調整後[$n] ; $b )]
  変数を設定 [$n; 値:Max ( 2 ; $n - 1 )]
 Else
  変数を設定 [$n; 値:$n + 1]
 End If
End Loop

50枚はセーフなのか?と、額面ごとに全額調整してしまうので過剰になる場合が(例でも42になってるから、まあいいか)

#11 2013-12-20 12:35:23

wataneb
Guest

Re: 金種の表示方法について

himaganeeさん

himaganee wrote:

金種の総計の全部    集計    = 金種の総計用合計
というのをオプション「全体の合計」で作ると9種類の合計枚数になるので、一万の分を引いて
金種の総計の5千以下    計算    非保存、 =  GetSummary ( 金種の総計の全部 ; 金種の総計の全部 ) - GetSummary ( 金種の総計[1] ; 金種の総計[1] )
で五千以下の8種類の合計枚数「80」になる。

自動調整は再帰的になるので難しいですね。
それに、調整してしまうと各個人に支給不可能になります。手持ちのを使ったり別途両替とかですか。

GetSummary ( 金種の総計の全部 ; 金種の総計の全部 ) - GetSummary ( 金種の総計[1] ; 金種の総計[1] )
の金種の総計の全部と金種の総計[1]は同じですか。

金種の総計の5千以下  計算   非保存、 =  GetSummary ( 支給金種総計 ; 支給金種総計 ) - GetSummary ( 支給金種総計[1] ; 支給金種総計[1] )

という意味かと思い差し込んでみても「0」のままでした。

ちなみに調整して下ろした後に銀行の両替機で正金種に両替します。

#12 2013-12-20 13:14:12

himaganee
Guest

Re: 金種の表示方法について

金種の総計の全部 は新しく作る繰り返しでない集計フィールドです。
金種の総計[1] は前に作った総計パートの繰り返しの集計フィールドの繰り返し1(1万円のとこ)を参照してます。
[1]は省略可能でしたね。逆に言うと、
GetSummary ( 金種の総計 ; 金種の総計 )
で出るのが繰り返し番号1だけの合計だったので、「金種の総計の全部」を作りました。金種の総計(総計パートに表示する繰り返し9)の数字の合計値が出ます。
GetSummary ( 金種の総計[2] ; 金種の総計[2])+GetSummary ( 金種の総計[3] ; 金種の総計[3])~~~でもいいのかな。長くてやですね。

すでにやってるようですが、フィールド名がわけわからなくなってきてますので自分で意味がわかるように付けてください。

スクリプトがでたので、数字フィールドにしてそっちで計算してもいいかな。

>ちなみに調整して下ろした後に銀行の両替機で正金種に両替します。
うわあ。

#13 2013-12-20 15:46:26

watanabe
Guest

Re: 金種の表示方法について

Lististさん、himaganeeさんできました。

スクリプトは勝手に金種調整してくれるんですね!!!びっくりしました!
調整後の五千以下の合計枚数は

金種の総計の5千以下 2 計算   非保存  = Sum ( 金種調整後 ) - 金種調整後
でできました。

himaganeeさんの金種の総計の5千以下は支給金種総計のところで使用させていただきました。

ありがとうございました。

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: 554.18 KiB (Peak: 574.72 KiB) ]