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

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

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

You are not logged in.

Announcement

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


#1 2019-04-09 16:41:35

hiroshi
Guest

文字の置き換えについての

お世話になります。
FileMakerPro15を使用しています。
文字の置き換えについての質問です。

下記、「仮CD」というフィールドに"1"が入力されたら「本CD」を"AA"に、
同様に"AB"→"S"、"D"→"G"、"F"→"S"、"AD"→"U"というように文字の置き換えをしたいのですが、
入力されている文字に"D"含まれているせいなのか、"AD"を入力すると"U"ではなく、
Substituteで先に設定している"G"に置き換わってしまいます。

入力された文字、この例では2文字の"AD"を認識し、指定した文字"U"に確実に置き換えをするには
どのようにすればよいでしょうか?

Substitute (仮CD; ["1"; "AA"]; ["AB"; "S"]; ["D"; G"]; ["F"; "S"];["AD"; "U"])

よろしくお願いいたします。

#2 2019-04-09 16:56:44

チポ
Member

Re: 文字の置き換えについての

ADの変換をDより前にすればいいことでしょう。

Offline

#3 2019-04-09 17:08:16

Shin
Member

Re: 文字の置き換えについての

とりあえずは、順番を考えればいいでしょうが、置き換えがもっとあるのでしたら、全てコード化して、メインコード、サブコードで表示する、のような事をしないと、運用が難しくなりますよ。

Offline

#4 2019-04-09 19:40:37

Hiro
Member

Re: 文字の置き換えについての

無害なマーカ文字(例えば、Char(8203))をキーワードの前後に付けて、
完全一致照合・置換し、最後にそのマーカ自体も始末して、お終いです。
(※完全一致照合なら、置換数が増えても、順番を考る煩わしい問題もありません)

Let(
[
   #mk=Char(8203)
];
   Substitute(
      #mk & 仮CD & #mk
      ; [#mk&"1"&#mk; "AA"]
      ; [#mk&"AB"&#mk; "S"]
      ; [#mk&"D"&#mk; "G"]
      ; [#mk&"F"&#mk; "S"]
      ; [#mk&"AD"&#mk; "U"]
      ; [#mk; ""]
   )
)

Last edited by Hiro (2019-04-10 00:10:08)

Offline

#5 2019-04-10 09:15:28

hiroshi
Guest

Re: 文字の置き換えについての

お世話になります。
チポ様、shin様
おっしゃるとおり、置き換えは1000件以上あるため、
置き換えの順番を考慮した設定はきびしいです。調べましたが
999件までしか設定ができないようなので、カテゴリ毎に分けてsub設定するか
コード表などを作成して対応するしかなさそうですね。
表を作ってルックアップコピー?あたりが無難でしょうか。

hiro様
完全一致照合、8203、、、の方法、
ありがとうございます。
コピぺで幅の無い空白ができてしまうんですね。
勉強になりました。

#6 2019-04-10 11:43:56

Hiro
Member

Re: 文字の置き換えについての

今回事案で、機械化は「完全一致照合」がミソだから、
マス処理を想定するなら、完全一致処理である
「リレーション照合」を利用した処理に持ち込むのが、
最善でしょう。
そのためには、別途、変換対応表テーブルが必須ですネ。

Offline

#7 2019-04-12 19:38:08

hiroshi
Guest

Re: 文字の置き換えについての

リレーション照合、、、チャレンジしてみます。

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: 513.17 KiB (Peak: 517.71 KiB) ]