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

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

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

You are not logged in.

Announcement

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


#1 2015-06-27 07:11:30

TAKE2
Guest

計算式を短くしたい

FM11利用です。

( フィールドA = "S" and フィールドT = "20:00” )
+
( フィールドA = "S" and フィールドT = "20:30” )
+
( フィールドA = "S" and フィールドT = "21:00” )
+
( フィールドA = "A" and フィールドT = "20:00” )
+
( フィールドA = "A" and フィールドT = "20:30” )
+
( フィールドA = "A" and フィールドT = "21:00” )
+
( フィールドA = "B" and フィールドT = "20:00” )
+
( フィールドA = "B" and フィールドT = "20:30” )
+
( フィールドA = "B" and フィールドT = "21:00” )
+
( フィールドA = "C" and フィールドT = "20:00” )
+
( フィールドA = "C" and フィールドT = "20:30” )
+
( フィールドA = "C" and フィールドT = "21:00” )

という式を短くしたいのですが、どうしたらいいでしょうか?

よろしくお願いします。

#2 2015-06-27 07:56:35

Moz
Member

Re: 計算式を短くしたい

フィールドA と フィールドT は Let を使えば何度も参照しなくてよくなりますが、この計算式の目的は何でしょう?
括弧内の式を満たしたら 1 が返るので 1 を足すか 0 を足すかだと思いますが......。

Last edited by Moz (2015-06-27 07:56:54)

Offline

#3 2015-06-27 08:58:11

wader
Member

Re: 計算式を短くしたい

+でなくORなら変形できますがねえ。
Tは30分単位の値しかないという条件?

Offline

#4 2015-06-27 09:45:17

チポ
Member

Re: 計算式を短くしたい

書かれた式は、1行ずつ見て、
2行以上真になることは有りえませんから、
必ず1か0しか返しませんよね。

0を返すのは、書かれた値にならない場合ですから、

Case ( フィールドA = "S" or フィールドA = "A" or フィールドA = "B" or フィールドA = "C" ) *
Case ( フィールドT = "20:00" or フィールドT = "20:30" or フィールドT = "21:00" )

でいいんじゃないかな。

Offline

#5 2015-06-27 10:12:19

wader
Member

Re: 計算式を短くしたい

>2行以上真になることは有りえません
あ、そこまで考えませんでしたが、それならORと一緒ですね。
チポさんのは*を使ってますが、ANDにすれば論理式の変形です。
FM関数でさらに書き換えると、前半は値が1文字なので
Case ( フィールドA = Filter ( フィールドA ; "ABC" ) ) *

Offline

#6 2015-06-29 11:58:55

チポ
Member

Re: 計算式を短くしたい

式おかしかったです。


単に
  ( フィールドA = "S" or フィールドA = "A" or フィールドA = "B" or フィールドA = "C" ) *
  ( フィールドT = "20:00" or フィールドT = "20:30" or フィールドT = "21:00" )

こうすべきでした。


waderさんのをお借りすれば
  PatternCount ( "SABC" ; フィールドA ) and
  PatternCount ( "20:00¶20:30¶21:00" ; フィールドT )

これでいいですね。


フィールドTが時刻フィールドだと問題かな。

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, 9 queries executed - Memory usage: 511.05 KiB (Peak: 518.13 KiB) ]