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

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

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

You are not logged in.

Announcement

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


#1 2018-10-12 12:21:06

misakky
Member

Case関数の使い方

お世話になります。
Case関数の使い方で悩んでいます。

フィールド 種類 に次のような価があります。

長野産リンゴ紅玉
長野産リンゴふじ
青森産リンゴつがる
青森産リンゴ紅玉
山梨産ブドウマスカット
山梨産ブドウ巨峰
岡山産ブドウしえん


そして、ネットで調べて 異なるフォールドに

Case (
IsEmpty ( 種類 ) ; "---" ;
( 名称 ="*リンゴ*" ) ; "倉庫A" ;
( 名称 = "*ブドウ*") ; "倉庫B" ;

"倉庫C"

)


のようにして、収納する倉庫を表示するようにしたいのですが、すべて 倉庫C  になってしまうのです。

試しに

Case (
IsEmpty ( 種類 ) ; "---" ;
( 名称 ="長野産リンゴ紅玉" ) ; "倉庫A ";
( 名称 = "長野産リンゴふじ") ; "倉庫A ";

中略

"倉庫C"

)

のように、完全に位置するようにすると、倉庫A とか 倉庫B と表示する様になります。


いろいろと試して

Case (
IsEmpty ( 種類 ) ; "---" ;
( 名称 ="*リンゴ*" ) ;( "倉庫A" );
( 名称 = "*ブドウ*") ; ( "倉庫B") ;

"倉庫C"

)


のように()で囲ったりしても同様で悩んでおります。

IF関数も考えたのですが、条件が100近くあるのでCase関数で始めたのですが、上手く動かないので困っております。


良い方法がありましたら、ご教授ください。

お願いいたします。

Offline

#2 2018-10-12 13:20:25

チポ
Member

Re: Case関数の使い方

> ( 名称 ="*リンゴ*" ) ;( "倉庫A" );
間違いが二つ
  ()が不要です
   "*リンゴ*"  「*」は検索の演算子で、計算式では使えません。
  PatternCount ( 名称 ; ”リンゴ” )が目的に合致していますね。

しかし、
分岐が多いのなら、別テーブルでその組み合わせを作って、
それを参照する方が簡単でしょう。

Offline

#3 2018-10-12 13:23:18

Shin
Member

Re: Case関数の使い方

= は完全に一致するときに真を返しますので、"長野産リンゴ紅玉"="リンゴ" が偽になります。
また、その式の中で修飾子は使えません。
Case で分類したいのでしたら、
PatterCount ( 名称 ; "リンゴ" ) を使うか、Filter ( 名称 ; "リンゴ" ) を使って文字列を抜き出すか、でしょう。

ただ、計算式を組んでしまうと、倉庫が変わったときに計算式そのものを変更する必要があり、非常に面倒ですし、ファイルの安全面でも不安です。
ですから、別に商品と倉庫を管理するテーブルを作り、倉庫をルックアップする運用にされることを、強くお勧めします。
https://www.dropbox.com/s/2gbxhwypr3m72 … 7.zip?dl=0

Offline

#4 2018-10-12 16:29:52

misakky
Member

Re: Case関数の使い方

お世話になります。

アドバイス、ありがとうございます。

  PatternCount ( 名称 ; ”リンゴ” )

で、無事に動作をいたしました。

* が使えると思っていたので、勉強になりました。


また、別テーブルやルックアップのアドバイスもありがとうございます。

調べて、勉強してみます。

助かりました。

ありがとうございます。

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.007 seconds, 9 queries executed - Memory usage: 554.16 KiB (Peak: 581.33 KiB) ]