みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
いつも大変お世話になっております。
前回は助けていただき本当にありがとうございました。
ほんとどれくらい勉強すれば使えるようになるか。。。。先が不安です。
作業環境
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
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
Hiro様
ありがとうございました。
希望通りの結果が帰ってきました。
自分のスキルでは思いつけないし書けません。
もっと勉強して参ります。
この度は本当にありがとうございました。
Offline
終わってますが ループをしない計算式を考えました。
「改行と”、”の次の文字が”《”でない場合は、固定文字列を挿入」
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 ; "" )
)
余分な改行や”、”がある場合は、前処理が必要ですね。
[ Generated in 0.005 seconds, 9 queries executed - Memory usage: 559.76 KiB (Peak: 588.82 KiB) ]