みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
お世話になります。
現在、1日から31日までのフィールドを作成し、それぞれのフィールドに数字を入力しています。
この数字を毎週、月から土までの期間だけ集計したいのですが、計算式がわからないため、どうかお教えください。
またイメージしにくいかと思い画像を添付しようと思ったのですが、imgタグの使い方さえわからず画像挿入できませんでした...(泣)
そちらの使い方も教えて頂けると画像を載せられるので、ぜひお願いいたします。
よろしくお願いします。
現状はひと月を1レコードで、日付分31個のフィールドが有るんですよね?
月をまたぐ週の集計はどのように?
いち日を1レコードとする別テーブルを作って処理すべきことではないかな。
Offline
チポさまコメントありがとうございます。
まずスペック記載しておりませんでしたので、ここで記載させて頂きます。
ファイルメーカー10を使用しています。
現在おっしゃる通り、1レコード31日分のフィールドを作成しております。この数字は40名ほどの利用者が居り、利用した日は1を入力しているようになっています。月ー土の間で各利用者につき利用した日は1が入力されるため、月ー土の数字を集計し、合計40に達したかどうか確認のために今回の集計フィールドを作成したい、ということです。
現在、月をまたぐ度にファイルを作成しなおし、H28・1月分、H28・2月分、H28・3月分と新しいファイルとして使用しています。
月をまたぐ場合は、例えば今年の2月ー3月であれば、2月29日月曜日の数のみ表示、3月1日ー5日の火ー土の数を集計したいと考えています。
現状の構造では、計算フィールドで集計は無理でしょう。
スクリプトでフィールドをひとつひとつ見て行くことになるのでは。
Offline
1日1レコードの構造なら、非常に簡単ですがね。
https://fm-aid.com/bbs2/viewtopic.php?id=4012
とよく似た話題だと思います。入力は、そのスレッドのサンプルが参考になると思います。
Offline
各フィールドに対応した日付フィールドを7で割った整数部分のみのフィールド(31個必要でしょうね)を作ります。
別に、上で得られた数字を持つテーブルを作り、31個の各フィールドにリレーションを張ります。ファイルがいくつかあるのでしたら、それぞれに同じリレーションを張っていきます。(かなり膨大な作業量になるかも)そのリレーションを通して合計すれば、集計できるかもしれませんね。
Offline
皆様いろいろと考えていただきありがとうございます!
Shinさんの言われているフィールド作りをしようとしてみましたが、FMや関数初心者の私には到底無理でした、泣
1日1レコードに作り直すか、検討したいと思います。
ありがとうございました!
あの後いろいろやってみたところ、
1日ごとの集計フィールドを作り、(日計1、日計2...)
それらをcase関数で組んでみたら思っていた関数ができました!
一応、下に一例を載せておきます。
Case (
PatternCount ( DayNameJ ( 日付 ) ; "月" ) = 1; 日計1 + 日計2 + 日計3 + 日計4 + 日計5 + 日計6 ;
PatternCount ( DayNameJ ( 日付 ) ; "火" ) = 1 ; 日計1 + 日計2 + 日計3 + 日計4 + 日計5 ;
PatternCount ( DayNameJ ( 日付 ) ; "水" ) = 1 ; 日計1 + 日計2 + 日計3 + 日計4 ;
PatternCount ( DayNameJ ( 日付 ) ; "木" ) = 1 ; 日計1 + 日計2 + 日計3 ;
PatternCount ( DayNameJ ( 日付 ) ; "金" ) = 1 ; 日計1 + 日計2 ;
PatternCount ( DayNameJ ( 日付 ) ; "土" ) = 1 ; 日計1 ;
)
Pages: 1
[ Generated in 0.005 seconds, 9 queries executed - Memory usage: 516.21 KiB (Peak: 521.12 KiB) ]