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

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

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

You are not logged in.

Announcement

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


#1 2013-09-24 16:51:30

RiN
Guest

特定テキストをもとに指定テキストに変換するには?

お世話になっております。
(Windows7 FM12です。)

初歩的な事かと思うのですが、過去ログで探すことが出来なかったので質問させてください。

カラーというフィールドに「ブルー」や「レッド」という文字が含まれていた場合
カラー英語フィールドに「Blue」や「Red」を返したい場合はどのような計算式にしたら良いでしょうか?
カラーフィールドには「ダークブルー」や「ライトレッド」というものもある為
Substituteを使い、["ブルー";"Blue"]にすると「ダークBlue」や「ライトRed」となってしまうので
中々うまくいきません。

この場合はどうしたら良いでしょうか?
ご教授お願い致します。

#2 2013-09-24 16:57:42

旅人
Member

Re: 特定テキストをもとに指定テキストに変換するには?

Substituteは左から順に書き換えるのでダークブルーを式の最初に書く・・・
色数が多かったら別テーブルにしたほうが楽?

Offline

#3 2013-09-24 18:17:30

RiN
Guest

Re: 特定テキストをもとに指定テキストに変換するには?

旅人さん
返信ありがとうございます。
結構細かく色分けされていて、ブルー系・レッド系・ブラウン系....
とあり、今後も○○ブルーと増える可能性もあるので、「ブルー」を含む場合といった感じで
計算式を作りたいです。
完全一致で置き換えをするしか方法は無いでしょうか?

#4 2013-09-24 19:11:10

Shin
Member

Re: 特定テキストをもとに指定テキストに変換するには?

マスター化したほうがいいかも。
その単語をIMの辞書にしておいて、ふりがな機能を使って読み込む、という裏技も。

Offline

#5 2013-09-24 19:26:54

旅人
Member

Re: 特定テキストをもとに指定テキストに変換するには?

やっぱり、カラーとカラー英語の2フィールドを持つテーブルを作った方が
いいですよ。照合もカラーIDとかにしたほうがいいのかな。

Offline

#6 2013-09-24 23:39:25

チポ
Member

Re: 特定テキストをもとに指定テキストに変換するには?

Filter
で判定できるでしょう。

ブルーレッド
なんてないですよね?

Offline

#7 2013-09-25 12:24:14

RiN
Guest

Re: 特定テキストをもとに指定テキストに変換するには?

皆さんご返信ありがとうございます。
入力の手間を考えると現在のドロップダウンリスト形式は外せないですし、
2フィールドも今後を考えると使い勝手が悪くなってしまいますので難しいです・・・。

チポさんの言うFilterを使ってみましたが、例えば Fliter( カラー ; "ブルー" )
とするとカラーフィールドに「ブリリアントブルー」というものがあると、結果が「ブブルー」になってしまいます。
文字列完全一致でフィルターを掛ける方法などありますでしょうか?
中々ムヅカシイです(-_-;)

#8 2013-09-25 13:11:47

チポ
Member

Re: 特定テキストをもとに指定テキストに変換するには?

Filter ("ブルー" ; カラー) =  "ブルー"
この真偽でいいかと思ったんですが、
カラーの内容によってはマズい場合も考えられました ;;;

PatternCount
が1以上かの判定の方がいいか。。

Offline

#9 2013-09-25 13:28:57

RiN
Guest

Re: 特定テキストをもとに指定テキストに変換するには?

思った以上に計算式が難しくなりそうですし、初心者の私には今回は
Substituteで完全一致のものを書き並べて変換していく方法を取ることにしました。

みなさんどうもありがとうございました。m(_ _)m

#10 2013-09-25 16:22:00

RiN
Guest

Re: 特定テキストをもとに指定テキストに変換するには?

Filterを何とかうまく使えないかと、試行錯誤した所、

Filter ( Substitute ( カラー ; [ "ブルー" ; "Blue" ] ; [ "レッド" ; "Red" ] ) ; "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" )

とし、「ダークブルー」→「ダークBlue」→フィルターで英字のみ残すというやり方で「Blue」とすることが出来ました。
ヒントがあったおかげで出来ました。
ありがとうございましたm(_ _)m

また質問することがあると思いますが、その節は宜しくお願い致します。

#11 2013-09-25 16:41:22

typist
Guest

Re: 特定テキストをもとに指定テキストに変換するには?

文字列が含まれてるかどうかは、PositionとかPatternCountでわかります。
Case (
PatternCount  ( カラー ; "ブルー" ) ; "Blue" ;
PatternCount  ( カラー ; "レッド" ) ; "Red" ;
"" )

ブルーレッド
なんてないですよね?

というとこが肝心。
末尾だけ見るとか?

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.007 seconds, 10 queries executed - Memory usage: 523.77 KiB (Peak: 528.3 KiB) ]