FileMakerのスクリプト内でListとSortValueとGetValueを使って複数の変数から最小値を取得する

Published on

背景

FileMakerで医療情報データベースを作成していると、「患者さんの最も最初に行った治療をリストアップして」と言われることがままあります。 テーブルが1つなら簡単ですが、「処方」と「手術」と「内視鏡検査」のようなテーブルが別な場合が少々めんどくさい。

SQLを書いても良いですがFileMakerの知識で完結しないので、事務方管理のスクリプトに採用はしづらいです。

そんな時よく使うのが以下の関数の組み合わせです。
前提としてテーブルごとの初回日は取得済みとします。

GetValue ( SortValues ( List ("2025/4/1" ; "2025/5/15"; "2025/3/18") ; 3 ) , 1 )

使う関数

  • GetValue
  • SortValues
  • List

1. List関数

List ("2025/4/1" ; "2025/5/15"; "2025/3/18")

List関数は、複数の値を連結してリスト(改行区切りのテキスト)を作成します。FileMakerでは、複数の値を保持する際に改行文字(¶)で区切る方法がよく使われます。

この例では、“2025/4/1”, “2025/5/15”, “2025/3/18” の3つの日付を連結して以下のようなリストを作成します

2025/4/1¶
2025/5/15¶
2025/3/18

Claris FileMaker Pro ヘルプ > リファレンス > 関数リファレンス > 統計関数 > List

2. SortValues関数

SortValues ( List ("2025/4/1" ; "2025/5/15"; "2025/3/18") ; 3 )

SortValues関数は、リストの値を特定の順序で並べ替えます。

  • 第1引数:並べ替えるリスト
  • 第2引数:並べ替えのオプション

第2引数の値によって並べ替えの方法が決まります。 この例では、リスト内のデータが日付のデータなので「3」を指定しています。List関数で作成したリスト2025/4/1¶2025/5/15¶2025/3/18を第2引数の指定に従って並べ替えるので、このようになります。

2025/3/18¶
2025/4/1¶
2025/5/15

Claris FileMaker Pro ヘルプ > リファレンス > 関数リファレンス > テキスト関数 > SortValues

3. GetValue関数

GetValue ( SortValues ( List ("2025/4/1" ; "2025/5/15"; "2025/3/18") ; 3 ) , 1 )

GetValue関数は、リスト内の特定の位置にある値を取得します。

  • 第1引数:値を取得するリスト
  • 第2引数:取得する値の位置(1が最初の値)

この例では、SortValues関数で並べ替えられたリストの「1」行目の値を取得します。

2025/3/18

Claris FileMaker Pro ヘルプ > リファレンス > 関数リファレンス > テキスト関数 > GetValue

まとめ

FileMakerのリスト関連の関数を使うことで、複数の値を効率的に処理することができます。今回紹介した式は、リストを作成し、それを並べ替え、特定の位置の値を抽出するという一連の処理を一行で行う例です。

実際の業務で使用する際は、FileMakerの公式ドキュメントや最新のリファレンスを参照し、各関数の詳細な仕様や使用例を確認することをお勧めします。