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

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

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

You are not logged in.

Announcement

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


#1 2013-10-15 13:18:12

なり
Member

2つ基準がある合否判定

今回相談させていただくのはフィールドの計算で次のような合否判定をしたいと思っています。

①偏芯基準  1±0.5
②偏芯基準  1mmMAX
合否判定で上記のような2つ基準が入ってくる可能性があります。
その場合に下記のような計算式を入れましたが受け付けられませんでした。

どこが悪いのか、それともこのような二つの基準を入れ込むのは無理なのか教えていただけませんか?
宜しくお願いします。

Let([if Right(偏芯基準 ; 1) = "X" ; A3= Substitute (偏芯基準 ; "mmMAX" ; "" ) ; A= Substitute ( 偏芯基準; ["±" ; ¶ ]) ; A1 = GetValue (A ; 1) ;
A2= GetValue (A ; 2) ; B = 偏芯値 ] ; Case ( A1- A2 ) ≤ B and  B ≤ (A1+A2) or  B ≤ A3 ; "○" ; "X" ))

Offline

#2 2013-10-15 13:44:37

concat
Guest

Re: 2つ基準がある合否判定

Case(
Case(
Right(偏芯基準 ; 1) = "X" ; 偏芯値 ≤ Substitute (偏芯基準 ; "mmMAX" ; "" ) ;
Let([
A= Substitute ( 偏芯基準; ["±" ; ¶ ]) ;
A1 = GetValue (A ; 1) ;
A2 = GetValue (A ; 2) ;
B = 偏芯値 ] ;
A1- A2 ≤ B and  B ≤ A1+A2
) ) ; "○" ; "X" )

#3 2013-10-15 13:45:13

traveler
Guest

Re: 2つ基準がある合否判定

Let関数の構文が間違ってるのでは?
変数指定が無いみたいだから。

#4 2013-10-15 14:33:37

なり
Member

Re: 2つ基準がある合否判定

travelar様
concat様

ありがとうございます。試してみます。

Offline

#5 2013-10-15 15:10:44

Shin
Member

Re: 2つ基準がある合否判定

その基準は、or での基準? それとも and の基準?

基準値内、という判定をするより、基準値外、という判定をする方が式は単純になりますね。

Let(
[
 A = Substitute ( 偏芯基準 ; ["±" ; ¶ ]) ;
 A1 = GetValue ( A ; 1 ) - GetValue ( A ; 2 ) ;
 A2 = GetValue ( A ; 1 ) + GetValue ( A ; 2 ) ;
 A3 = Substitute ( 偏芯基準 ; "mmMAX" ; "" ) ;
 B = 偏芯値 
] ;
 Case ( 
  Right(偏芯基準 ; 1) = "X" and 偏芯値 > A3 ; "X" ;
  偏芯値 < A1 ; "X" ;
  偏芯値 > A2 ; "X" ;
  "○" 
)

Offline

#6 2013-10-16 10:58:26

なり1
Guest

Re: 2つ基準がある合否判定

Shin様

ありがとうございました。解決できました。

ただ
Case( Right(偏芯基準;1= "X" and B > A3; "X";
B < A1 ;  "X";
B > A2 ;  "X";
"〇" ))

テキストだと1番目の条件が満たされると2,3番目の条件が合致しても
1番目の結果が返されると書かれていますが今回の計算式では
2番や3番目の結果が返されました。

したがって
Case( Right(偏芯基準;1) = "X" and B > A3; "X";
Right(偏芯基準;1) ≠  "X" and B < A1 ;  "X";
Right(偏芯基準;1) ≠  "X" and B > A2 ;  "X";
"〇" ))
のように変更しました。

#7 2013-10-16 19:03:31

Shin
Member

Re: 2つ基準がある合否判定

1行書き忘れていました。

Let(
[
 A = Substitute ( 偏芯基準 ; ["±" ; ¶ ]) ;
 A1 = GetValue ( A ; 1 ) - GetValue ( A ; 2 ) ;
 A2 = GetValue ( A ; 1 ) + GetValue ( A ; 2 ) ;
 A3 = Substitute ( 偏芯基準 ; "mmMAX" ; "" ) ;
 B = 偏芯値 
] ;
 Case ( 
  Right(偏芯基準 ; 1) = "X" and 偏芯値 > A3 ; "X" ;
  Right(偏芯基準 ; 1) = "X" ; "○" ;
  偏芯値 < A1 ; "X" ;
  偏芯値 > A2 ; "X" ;
  "○" 
)

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.030 seconds, 10 queries executed - Memory usage: 513.1 KiB (Peak: 517.64 KiB) ]