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

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

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

You are not logged in.

Announcement

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


#1 2020-03-10 18:12:11

あっぷる
Member

FileMakerは入力されているされていないの判断。入力されていない場合は固定キーワードを追加。

いつも大変お世話になっております。
前回は助けていただき本当にありがとうございました。
ほんとどれくらい勉強すれば使えるようになるか。。。。先が不安です。


作業環境
Mac OS hightSerria 10.13.6
FileMaker 18 Pro advance

質問なのですが、
商品サイズのフィールドにダブルカッコつきの文字が入っていれば、そのまま。
入っていなければダブルカッコをつけた「《製品サイズ》」と固定のキーワードをいれたいのですが、
FileMakerでなんとかなるものだのでしょうか?

【現状】
------------------------------------------------------------------------------
商品サイズ
-------------------------------------------------------------------------------
《机サイズ》1200×600、《椅子サイズ》600×600×1200
500×250、60×30
2500×3500
《詳細サイズ》2400×2400


【完成イメージ】
------------------------------------------------------------------------------
商品サイズ
-------------------------------------------------------------------------------
《机サイズ》1200×600、《椅子サイズ》600×600×1200
《製品サイズ》500×250、《製品サイズ》60×30
《製品サイズ》2500×3500
《詳細サイズ》2400×2400


すみませんがよろしくお願いいたします。

Offline

#2 2020-03-10 20:03:57

Hiro
Member

Re: FileMakerは入力されているされていないの判断。入力されていない場合は固定キーワードを追加。

v18だけど、従前のループ計算式で求める方法、
【 ※下式の計算手順 】
「1項ごと切り分け」→「《》文字の項内含有を精査」→「なければ《固定句》を補足」→「以上を最終項まで繰り返す」→「全分割項を統合」

Let(
[
   $txt=Substitute(商品サイズフィールド; [¶;"\¶¶"];["、";"、¶"]);
   $i=0;
   $res="";
   $LOOP=
         "Case(
               $i=ValueCount($txt)
               ; $res         
               ; Let([
                     $i=$i+1;
                     #itm=GetValue($txt; $i);
                     #itm=Choose(PatternCount(#itm;""《""); ""《製品サイズ》"") & #itm;
                     $res=List($res; #itm)
                  ]; Evaluate($LOOP))
         )"
];
   Substitute(Evaluate($LOOP); [¶;""];["\¶";¶])
)

Offline

#3 2020-03-11 10:24:14

あっぷる
Member

Re: FileMakerは入力されているされていないの判断。入力されていない場合は固定キーワードを追加。

Hiro様

ありがとうございました。
希望通りの結果が帰ってきました。
自分のスキルでは思いつけないし書けません。
もっと勉強して参ります。

この度は本当にありがとうございました。

Offline

#4 2020-03-11 13:19:55

himaganee
Guest

Re: FileMakerは入力されているされていないの判断。入力されていない場合は固定キーワードを追加。

終わってますが ループをしない計算式を考えました。
「改行と”、”の次の文字が”《”でない場合は、固定文字列を挿入」

Let( [
src = "《机サイズ》1200×600、《椅子サイズ》600×600×1200¶500×250、60×30¶2500×3500¶《詳細サイズ》2400×2400" ;
src = ¶ & src ;
esc = Substitute ( src ; [ "¶《" ; Char(1) ] ; [ "、《" ; Char(2) ] ) ;
add = Substitute ( esc ; [ "¶" ; "¶《製品サイズ》" ] ; [ "、" ; "、《製品サイズ》" ] ) ;
res = Substitute ( add ; [ Char(1) ; "¶《" ] ; [ Char(2) ; "、《" ] )
] ;
Replace ( res ; 1 ; 1 ; "" )
)

余分な改行や”、”がある場合は、前処理が必要ですね。

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.005 seconds, 9 queries executed - Memory usage: 554.73 KiB (Peak: 582.92 KiB) ]