[FileMaker] 指定文字以降を削除する

FileMaker で指定文字以降を削除する方法のメモ。

環境:macOS Catalina 10.15.2、FileMaker Pro 18 Advanced

例えば、以下のようにするとする。

・テーブル名:Table
・対象のフィールド:fieldA
・変換後テキストを格納するフィールド:fieldB
・fieldA の ABC というテキスト以降を削除するとする(ABC も含めて削除)。
・fieldA フィールドのテキストの ABC 以降を削除し、fieldB フィールドへ格納する。

(1)Set Field スクリプトでターゲットフィールドを fieldB にする。

(2)Calculated result を以下のように設定する。

Let (
_pos_start = Position ( Table::fieldA ; "ABC" ; 1 ; 1 ) ;
Left ( Table::fieldA ; _pos_start - 1 )
)

簡単に説明する。

・Let 関数は最初に変数を宣言し、その後計算式を記入する。変数が複数ある場合は変数の宣言領域を [ ] で囲むが、今回のように変数が1つの場合は囲まなくてよい。変数は変数だと分かりやすいように、_abc としたり abc$ などと命名すると良い。
・Position 関数で指定文字列が始まる位置を特定する。Position ( [フィールド] ; "[指定文字列]" ; 1 ; 1 ) で、指定文字列の先頭の文字の位置を取得できる。
・Left 関数で Position 関数で特定した文字より一つ前の位置まで(-1 をしている)の文字列を抽出する。

参考:
Position
https://fmhelp.filemaker.com/help/13/fmp/ja/html/func_ref3.33.78.html#703102

Let
https://fmhelp.filemaker.com/help/13/fmp/ja/html/func_ref3.33.16.html

Like a Boss: Let関数について語ろう | Not Only FileMaker
https://notonlyfilemaker.com/2018/05/filemaker-let-function/

【FileMaker】文字列を取り出す - Qiita
https://qiita.com/tyuma/items/2dbafe09787e37395265

この記事が気に入ったらサポートをしてみませんか?