第64回 関数について

おはようございます。こんにちは。こんばんは。
エヌ・ケイ・カスタマイズの泉です。

3週間前、『暑い日が続いています』と吐露していましたが、
気候変動のためか、梅雨みたいな天気が続いていて、いつもの夏のような「うだるような」暑さは感じません。
おかげでリモートワークも、わりと涼しく過ごせています。

今回は、関数について解説していきたいと思います。

エヌ・ケイ・カスタマイズに入職する前の職場で、
バリバリにプログラミング言語で開発していた私にとっては
「関数」
と聞くと、
「関数 = メソッド = 事前に準備されている便利な道具(式)」
みたいなイメージです。

ですが、FileMakerのようなノーコード、ローコードツールで開発する人にとっては、
少しとっつきにくい部分かもしれませんので、なるべく寄り添って解説したいと思います。

関数について

「関数」はあらかじめ定義された名前がついた特定の演算です。

引数としてさまざまな値を渡すとFileMaker Pro Advanced が結果を返します。
関数によって引数設定が不要なもの、2 つ以上あるもの、必須の引数とオプションの引数が
組み合わさっているもの、などさまざまです。

引数とは

関数に渡される情報のことを「引数」と呼びます。

Trim( フィールド )

の“ フィールド” を指定する部分が引数です。引数には、
・ 定数(フィールド参照値など)
・ 式
・ 他の関数
を使用します。
引数を囲むカッコの前後にスペースは、あってもなくてもかまいません。
例えば、Let 関数を見ます。関数の見方の基本としては、

・ 複数の引数が必要な場合、引数の間にセミコロン(;)などの区切り文字
・ オプションの引数は中カッコ { } で囲まれている
・ 省略記号(…)は、セミコロンで区切った引数をさらに追加できる
という感じです。

定数
決まった値、変化しない値です。
どこからその値を導いてくるかはわかっている(参照フィールドなど)、
そして計算式の実行中の値の内容はわからないけれど途中で変わることはない、
ということです。
逆に「変数」は、値が変化するものです。
計算式の実行中に値が変更されるものです。

戻り値
関数が与えられた引数を使って計算した計算結果を「戻り値」と呼びます。

戻り値のタイプ
戻り値は、データタイプを持ちます。

関数の例

構文に、どのように引数を指定するのか例を記述します。

Round ( 数値 ; 桁数 )

↓フィールド値を使った計算式の例

Round ( 検査値 ; 2 )

「検査値」という名の「数字」タイプのフィールドがあるとします。
その値を、小数点以下2桁の位に四捨五入するという引数を指定した場合の例です。
もしも「検査値」フィールドに「123.456」が入力されていたら「123.46」が計算結果となります。
この関数は戻り値のタイプは数値です

このように引数にフィールド参照を指定する場合「” “」などのカッコに入れて記述する必要はありません。
そのままフィールド名を記述します。数値を指定する場合も、そのまま数値を記述します。

↓数値を使った計算式の例

Round ( 123.456 ; 2) = 123.46

さらに別の例も記述します。

Position ( テキスト ; 検索テキスト ; 先頭文字位置 ; 回数 )

↓フィールド値を使った計算式の例

Position ( 会社名 ; “株” ; 1 ; 1 )

「会社名」という名の「テキスト」タイプフィールドがあるとします。
その値の、1文字目から探して、最初に「株」という文字がある位置を示します。
もしも「会社名」フィールドに「株式会社あいうえお」と入力されていたら
「1」が計算結果となります。この関数は戻り値のタイプは数値です。

引数に固定の文字列を指定する場合は、カッコが必要です。
ダブルクォーテーションマーク(” “)でくくります。

↓固定文字列を使った計算式の例

Position ( “株式会社あいうえお” ; “株” ; 1 ; 1 ) = 1

まとめ

あくまでも私の個人的な意見ですが

『どういった機能の関数があるか』を覚えておくだけで、
『構文』については完全に覚える必要はない

です。

『どういった機能の関数があるか』は覚えておくと、関数名がわからなくても
[計算式の指定] ダイアログの「関数パネル」で、なんとか検索することができますが、
覚えていないと、検索に時間がかかったり、他の関数を駆使して実装してしまったり、
最悪、機能の実装を断念することに繋がります。

また、『構文』(使い方)は、Clarisのヘルプや、偉大な先人達がサンプルを掲載していて、
すぐに確認できますので、完全に覚えていなくても大丈夫です。!!

「関数」はプログラミング色が強く、プログラミング経験のないユーザーには敷居が高いかもしれません。
「FileMakerはローコード、ノーコード開発ツール」
ですが、「関数」を使いこなせれば、FileMakerで出来ることが広がります。
苦手意識を持たず、まずは簡単な関数から使ってみてください。
(Let関数が使いこなせるようになると、もう免許皆伝ですw)

それでは、次回をお楽しみに!!

Follow me!