FileMaker

お役立ちブログ

Let,Caseを用いた計算式

先週お話ししたLetと条件分岐のできるCase関数を用いた計算式について、ご紹介します。

Caseについては基本的な内容について過去記事で紹介しておりますのでご参照ください。

https://kawai-j.co.jp/filemaker/12944/case/

例えば、会員管理のシステム内で、リスト上に会員更新日の表示を行いたい例について記載してみます。

次回更新日は会員毎の更新タイプによって異なり、更新日フィールドを用いて表現するとします。

これは、CaseとLetを用いて、以下のように表現することができます。

Let (

[

~day = 会員::更新日 ;

~type = 会員::更新タイプ

] ;

Case (

~type = “3ヶ月” ;  Date ( Month ( ~day ) + 3  ; Day( ~day ) ; Year ( ~day ) ) ;

~type = “6ヶ月” ;  Date ( Month ( ~day ) + 6  ; Day( ~day ) ; Year ( ~day ) ) ;

~type = “1年” ;  Date ( Month ( ~day )  ; Day( ~day ) ; Year ( ~day )  + 1 ) ;

~type = “2年” ;  Date ( Month ( ~day )  ; Day( ~day ) ; Year ( ~day ) + 2 ) ;

~type = “3年” ;  Date ( Month ( ~day )  ; Day( ~day ) ; Year ( ~day ) + 3 )

)

Letを用いず表現すると、

Case (

会員::更新タイプ = “3ヶ月” ;  Date ( Month ( 会員::更新日 ) + 3  ; Day( 会員::更新日 ) ; Year ( 会員::更新日 ) ) ; …..

と、1行が長くなるのに加えて、使用するフィールドが変更した場合に、何箇所も訂正を行わなければいけない状態になってしまいます。

Letを活用することで、値の定義を冒頭で行うことができるため、修正も[ ]内を変えるだけで可能となります。

計算式も便利な関数で綺麗に整理して、活用していきましょう!

その他の記事

関数 SortValues について

SortValuesは、指定の値一覧をソートしてくれる関数です。テキスト順、日付順など、希望の順序で値を取り出すことができます。

IsEmpty について

IsEmpty は、フィールド内が空欄、またはエラーが発生した場合は真(1)を返す関数で、様々なシーンで便利に使うことができます。

Loop機能 について②

今回は、前回に引き続きLoopについて、便利に活用するにあたって、ValueCount関数、GetValue関数を用いたいと思います。