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

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

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

You are not logged in.

Announcement

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


#1 2015-07-13 16:02:22

判定
Guest

基準と比較して判定

FM、GoともV12です。
基準と公差と実測のフィールドがあります。
実測に入力すると基準と公差を比較して
公差内は      〇
公差外は      ×
実測未入力 は 未入力
と表示させたいと思います。

ところが公差は 「±10」又は「+10-10」又は「+10」又は「-10」に分かれます。
比較判断できる計算式を教えて下さい。

#2 2015-07-13 16:19:15

barikan
Guest

Re: 基準と比較して判定

Let ( [
差 = 実測 - 基準 ;
結果 = Case (
実測 = "" ; "未入力" ;
公差 = "±10" or 公差 = "+10-10" ; Abs ( 差 ) ≤ 10 ;
公差 = "+10" ; 0 ≤ 差 and 差 ≤ 10 ;
公差 = "-10" ; -10 ≤ 差 and 差 ≤ 0 ;
)
] ;

Case (
結果 = True ; "◯" ;
結果 = False ; "×" ;
結果

)

)

#3 2015-07-13 17:59:33

チポ
Member

Re: 基準と比較して判定

公差の値は固定ではないのでしょう?


+は
  Case ( PatternCount ( 公差 ; "±" ) ; GetAsNumber ( 公差 ) ;
       PatternCount ( 公差 ; "+" ) ; GetAsNumber ( GetValue ( Substitute ( 公差 ; "-" ; ¶ ) ; 1 ) ) ; 0 )

-は
  Case ( PatternCount ( 公差 ; "±" ) ; GetAsNumber ( 公差 ) ;
       PatternCount ( 公差 ; "-" ) ; GetValue ( Substitute ( 公差 ; "-" ; ¶ ) ; 2 ) ; 0 )


+ - は半角としています。

Offline

#4 2015-07-15 16:04:00

判定
Guest

Re: 基準と比較して判定

チポ wrote:

公差の値は固定ではないのでしょう?


+は
  Case ( PatternCount ( 公差 ; "±" ) ; GetAsNumber ( 公差 ) ;
       PatternCount ( 公差 ; "+" ) ; GetAsNumber ( GetValue ( Substitute ( 公差 ; "-" ; ¶ ) ; 1 ) ) ; 0 )

-は
  Case ( PatternCount ( 公差 ; "±" ) ; GetAsNumber ( 公差 ) ;
       PatternCount ( 公差 ; "-" ) ; GetValue ( Substitute ( 公差 ; "-" ; ¶ ) ; 2 ) ; 0 )


+ - は半角としています。


ご指摘のように公差も基準も固定ではありません。
こちらの式はどの様に使うのでしょうか。
理解不足で申し訳ありません。

#5 2015-07-15 16:53:19

チポ
Member

Re: 基準と比較して判定

前記の
  +を上限
  -を下限
とします。


実測 <= 基準 + 上限
and
実測 >= 基準 - 下限
これが真なら公差内です。

Offline

#6 2015-07-16 09:57:08

判定
Guest

Re: 基準と比較して判定

チポ wrote:

前記の
  +を上限
  -を下限
とします。

実測 <= 基準 + 上限
and
実測 >= 基準 - 下限
これが真なら公差内です。


判定フィールドの式を、この様にしました。
実測が公差内は「1」、公差外は「0」で正しく表示するのですが、
公差が+〇や+〇-〇の場合は、公差内であっても判定が「0」になります。

実測 ≤ 基準 +
Case ( PatternCount ( 公差 ;"±" ) ;
GetAsNumber ( 公差 );
PatternCount ( 公差 ;" + ") ;
GetAsNumber (GetValue ( Substitute ( 公差; "-"; ¶) ;1));0)
and
実測 ≥ 基準  -
Case ( PatternCount ( 公差 ;"±" ) ;
GetAsNumber ( 公差 );
PatternCount ( 公差 ;" - " ) ;
GetValue ( Substitute ( 公差; "-"; ¶) ;2);0)

#7 2015-07-16 10:18:00

チポ
Member

Re: 基準と比較して判定

書かれた通りの式ならば、

" + "
" - "

前後にスペースが入っているのが原因かも。

後は問題なさそうですが、、

Offline

#8 2015-07-16 11:12:56

判定
Guest

Re: 基準と比較して判定

チポ wrote:

書かれた通りの式ならば、

" + "
" - "

前後にスペースが入っているのが原因かも。

後は問題なさそうですが、、

チポ様
有難うございます。
判定フィールドの計算式にスペースを入れたつもりはないのですが、削除すると1又は0の表示がでました。

最終的には、分かりやすくするために 未入力,〇,× を表示させたいと考えています。
判定表示フィールドを作成し、この様な式で良いのでしょうか。
但し、実測が空白の場合も0表示がでるので困っています。

Case ( 判定 =""; "未入力";判定 ="1"; "〇" ;判定 ="0";"×")

#9 2015-07-16 11:33:19

チポ
Member

Re: 基準と比較して判定

計算式の指定窓の演算子のボタンで入力すると
演算子の前後に半角スペースが付きます。


実測に入力がない時は計算させないようにすればいいですね

  Case ( IsEmpty ( 実測 ) ; "" ; 判定式 )
一例です。


Case ( 判定 =""; "未入力";判定 ="1"; "〇" ;判定 ="0";"×")

間違いではないですけれど、判定は数値ですから

  Case ( 判定 = "" ; "未入力" ; 判定 = 1 ; "〇" ; 判定 = 0 ; "×" )
でいいでしょう。

Offline

#10 2015-07-16 15:39:16

判定
Guest

Re: 基準と比較して判定

チポ様
何度も有難う御座います。
お蔭さまで完成しました。

判定式フィールド 数字
Case ( IsEmpty ( 実測 ) ; "" ;
(
実測 ≤ 基準+ Case ( PatternCount ( 公差 ;"±" ) ;
GetAsNumber ( 公差 );
PatternCount ( 公差 ;"+") ;
GetAsNumber (GetValue ( Substitute ( 公差; "-"; ¶) ;1));0)
and
実測 ≥ 基準- Case ( PatternCount ( 公差 ;"±" ) ;
GetAsNumber ( 公差 );
PatternCount ( 公差 ;"-" ) ;
GetValue ( Substitute ( 公差; "-"; ¶) ;2);0)
))

判定フィールド テキスト
Case ( 実測 = "" ; "未入力" ; 判定式= 1 ; "〇" ; 判定式= 0 ; "×" )

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.004 seconds, 9 queries executed - Memory usage: 520.37 KiB (Peak: 524.91 KiB) ]