繰り返しフィールドを使ったCount関数の挙動

皆さまこんにちは! よしです。

2022年に入社した新人でございます。
FileMakerは入社して初めて触り、日々勉強中です。
よろしくお願いします。

今回は、繰り返しフィールドを使ったCount関数の挙動は、想像以上に理解に苦しみましたので、深く掘り下げて調べてみました。

結論を言いますと

Count関数を繰り返しフィールドと非・繰り返しフィールドが混在する状態で使うと、思い通りの結果を得ることはできないケースがあります。

正常に動作させるためには、、、
計算タイプのフィールドを使う必要があることが分かりました。

今後の開発の参考にしていただければ幸いです。

では早速やっていきましょう!

繰り返しフィールドとCount関数のおさらい

Count関数

まず初めに、Count関数について説明したいと思います。

Count関数は、フィールド内の空白を除く有効な値の数を返します。
構文はCount ( フィールド {; フィールド…} )です。

引用:https://help.claris.com/ja/pro-help/content/count.html?Highlight=count

繰り返しフィールド

繰り返しフィールドとは、
通常のフィールドを繰り返しフィールドに設定すると、1つのフィールドに複数のデータを保存することができます。

最大繰り返し数の設定(後述)を「5」すると、画面上では次の画像のようになります。

このように、一つのフィールドに複数の値を入力することができます。

繰り返しフィールドの設定のやり方

①レイアウトモードにします。(Ctrl+L)
②ファイル→管理→データベースの手順でデータベース管理を開きます。(Ctrl+shift+D)
③繰り返しフィールドにしたいフィールドを選択し、ダブルクリックします。
④データの格納タブを選択します
⑤繰り返しの項目で、最大繰り返し数を2以上にします。

②レイアウトモードで、設定したフィールドをクリックし、インスペクションのデータタブを押します。

下記のオプション「繰り返しを表示」があります。ここでは、レイアウトで表示する繰り返しの開始番号と終了番号)を設定することができます。

ちなみに、ここで、 「2  上限値 5 「(5 定義済み)」とすると

繰り返し番号2〜5のデータが表示されます。(右下の図)

以上で、おさらい終了です。

いよいよ本題です。

繰り返しフィールドを使ったCount関数の挙動

フィールド定義は、以下のとおりです。

結果用フィールドには、

・すべての参照フィールドが空の場合は評価しない
・フィールドに既存の値が存在する場合は置き換えない

の二つの項目のチェックが外してあります。

フィールド定義した状態

ブラウズモードにし、
フィールド1からフィールド3まで、順番に数値を入力してみます。

フィールド1〜3の[1]の列には値「1」が3つあります。
4つの結果用のフィールドどれでも、「3」と表示されます。(赤枠線内)
その他の列も、結果用フィールドに適切な値が入ってるように見えます。

ところが、次の操作をおこなうとちょっと結果がおかしいのです。

下の画像をご覧ください。

ケース1:フィールド1の値を全て消して、入れ直してみたら変化がありました。

列[2]が計算タイプと自動入力オプションのフィールドのカウント結果が不一致

ケース2:フィールド2の値を全て消して、入れ直してみたら変化がありました。

列[2],[3],[4]が計算タイプと自動入力オプションのフィールドのカウント結果が不一致

ケース3:フィールド3の値を全て消して、入れ直してみましたが変化はありませんでした。

すべての結果が合致

まとめますと、、、

変化があった(結果が期待通りでない)箇所に共通しているのが、計算タイプではないテキストタイプや数字タイプのフィールドということです。

フィールド1の値を入れ直した時 → 変化あり(不一致)
フィールド2の値を入れ直した時 → 変化あり(不一致)
フィールド3の値を入れ直した時 → 変化なし(合致)

このことから、計算タイプと数字・テキストのタイプでは動きが違うことが分かりました。

結論

非・繰り返しフィールドが混ざったCount関数を、正常に動作させるためには、、、
計算タイプのフィールドを使う必要があります。

おまけ

Count関数以外でも同様のことが起きたりしないのか。
読んでいて、そう思った人もいると思います。

私が、実際に試し同様の動きだったものは、集計関数のSum関数List関数です。

テキスト、数字型の非・繰り返しフィールドが混ざったCount関数を使用する際は十分注意しましょう。

よし

こんにちは。 私は、よしと言います。 2022年4月に入社した新人でございます。 覚えていただけると幸いです。 FileMaker初心者です。 趣味は、映画を見ることやゲームをすることが好きです。 自作PCを作ったりもしてます。 好きな食べ物は、チョコ、ハンバーガー、ピザです。

ロゴ:Claris Partner PLATINUM
Claris パートナーの中でも最上位のPLATINUMレベルメンバーとして、Claris FileMaker を活用したソリューションを提供いたします。
FileMaker 、ファイルメーカー、 FileMaker Cloud 、 FileMaker Go およびファイルフォルダロゴは、
Claris International Inc. (旧 FileMaker, Inc.)の米国および/またはその他の国における登録商標です。
アイコン:ページトップへ