開発ブログ

繰り返しフィールドを使った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を作ったりもしてます。 好きな食べ物は、チョコ、ハンバーガー、ピザです。

業務効率化のことなどお気軽にご相談ください

お問い合わせ

お問い合わせ

導入に関するお悩みや
ご不明点お応えいたします

相談する

お見積り

お見積り

お客様の状況に合わせて
最適なプランをご提案いたします

お見積りを依頼

資料ダウンロード

資料請求

FileMaker とサポータスの魅力が
分かる資料セットをダウンロード

資料をダウンロード