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

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

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

You are not logged in.

Announcement

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


#1 2016-02-23 09:07:42

jose
Member

case計算式の簡略化

環境:mac yosemite  filemaker 14 server, advance, Go 使用

時間フィールドの分によってかけ数を割り出す計算フィールドがあります。
計算式は現在以下のようになっています。

Case
(
時間フィールド < Time ( 18 ; 0 ; 0 ) ; 0 ;
時間フィールド < Time ( 18 ; 10 ; 0 ) ; 1 ;
時間フィールド < Time ( 18 ; 20 ; 0 ) ; 2 ;
時間フィールド < Time ( 18 ; 30 ; 0 ) ; 3 ;
時間フィールド < Time ( 18 ; 40 ; 0 ) ; 4 ;
時間フィールド < Time ( 18 ; 50 ; 0 ) ; 5 ;
時間フィールド < Time ( 19 ; 0 ; 0 ) ; 6 ;
時間フィールド < Time ( 19 ; 10 ; 0 ) ; 7 ;
時間フィールド < Time ( 19 ; 20 ; 0 ) ; 8 ;
時間フィールド < Time ( 19 ; 30 ; 0 ) ; 9 ;
時間フィールド < Time ( 19 ; 40 ; 0 ) ; 10 ;
時間フィールド < Time ( 19 ; 50 ; 0 ) ; 11 ;
時間フィールド < Time ( 20 ; 0 ; 0 ) ; 12 ;
)

ご覧の通り、式が長いのです。計算式の知識を深めたいので簡略化できる他のやり方がありましたら、どなたかご指導いただけないでしょうか

Offline

#2 2016-02-23 09:26:53

チポ
Member

Re: case計算式の簡略化

( 時間フィールド - 18 * 60 * 60 ) / 600
で求められますが、
18:00:00以前と
20:00:00以降の処理をしなければなりませんね。

Offline

#3 2016-02-23 10:02:18

Shin
Member

Re: case計算式の簡略化

細かい事ですが、
Int ( ( 時間フィールド - 18 * 60 * 60 ) / 600 )
または、
Div ( 時間フィールド - 18 * 60 * 60 ; 600 )
にした方が良いでしょうね。

Offline

#4 2016-02-23 10:23:56

calcer
Guest

Re: case計算式の簡略化

18:00:00以前は0で定義されてるが、20:00:00以降は空欄でいいのかな?
式の最後が;なので、長いというよりエラーになるはず。0の入れ忘れ?

#5 2016-02-24 21:06:57

jose
Member

Re: case計算式の簡略化

>チポさん、shinさん、calcerさん
いつもありがとうございます。計算式にそれなりの法則だったパターンがあれば、時間や日付フィールドをうまく数式の計算に戻すと計算式をシンプルにできるんですね。今までのアドバイスと今回のご指導を参照に、

Case
(
時間フィールド < Time ( 18 ; 0 ; 0 ) ; 0 ;
時間フィールド ≧ Time ( 21 ; 0 ; 0 ) ; 16 ;
Ceiling ( ( 時間フィールド - 18 * 60 * 60 ) / 600 )
)

で18:00~21:00までの10分毎のかけ数とそれ以前と以降の時間に関するかけ数を割り出すことができました。
いつもありがとうございます。

Offline

#6 2016-02-24 21:31:20

Shin
Member

Re: case計算式の簡略化

Min ( Max ( Div ( 時間フィールド - 18 * 60 * 60 ; 600 ) ; 0 ) ; 16 )
でもいいかも。(見通しは悪くなりますが)

Offline

#7 2016-02-29 21:19:29

jose
Member

Re: case計算式の簡略化

>shinさん
返信遅れてすいません。さらに簡略化できるんですね。いろいろ計算式を試すことができるようになったおかげで、最近では解説も腑に落ちるようになってきました。(見通しは悪くなりますが、等)
計算式奥が深くてなかなか難しいですが頑張って知識を広げたいと思います。いつもありがとうございます!

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.036 seconds, 9 queries executed - Memory usage: 508.13 KiB (Peak: 514.77 KiB) ]