はじめに

テーブル中のフィールド最大値を計算する」や「レコード中のフィールド最大値を計算する」など、同一フィールドの場合は最大値を取得する方法があります。

しかし、複数のフィールドの場合はこれらの「やること」が使えないので、最大値を取得するには工夫が必要です。

 

今回のカスタマイズで出来ること

3つの日付フィールドの値を変えると、その中の最大の日付を文字列にコピーします。



追加先アプリには以下のフィールドを作成しました

フィールド名

フィールドコード

フィールドタイプ

日付1

日付_1

日付

日付2

日付_2

日付

日付3

日付_3

日付

最大の日付

最大の日付

日付


Customineの設定

設定はこのようになります。

シンプルですね。

 

解説

まず、「max 関数」で最大値を求めます。ただし「max 関数」は数値しか扱えないので、「format 関数」を使って日付をunix時間に変換します。

 

format(日付_1,"x")

 

それらの変換後の値を配列として「max 関数」に渡します。見た目には分かりづらいですが、[] 内に3つの値があります。

 

max([format(日付_1,"x"), format(日付_2, "x"), format(日付_3, "x")])

 

こうすることで、最大の日のunix時間が取得できます。

 

最後に「format 関数」を使ってunix時間から日付に変換してから「フィールドに値をセットする」で日付フィールドにセットします。

 

まとめ

今回のように「関数」をつかうことで「やること」では出来ないことも実現することが出来ます。

今回は日付でしたが、日時でも同じことが可能です。

 

また、最大ではなく最小も「min 関数」を使うことで可能です。

 

色々な「関数」がありますので、リンク先もご確認ください。