ここから本文です

解決済みのQ&A

Filemakerで、フィールドが空欄になっているレコードの数を表示したい。

fric3tion6さん

Filemakerで、フィールドが空欄になっているレコードの数を表示したい。

Filemaker Pro 7を使用しています。
50人くらい顧客のデータ(レコード)のうち、あるフィールド(たとえば入金確認日)が空欄になっているレコードの数を表示したい時はどうすればよいのでしょうか。
Count関数などを考えましたがうまくできません。
よろしくお願いいたします。

この質問は、活躍中のチエリアンに回答をリクエストしました。

  • 質問日時:
    2010/10/7 16:29:44
  • 解決日時:
    2010/10/14 16:01:38
  • 閲覧数:
    1,682
    回答数:
    1
  • お礼:
    知恵コイン
    100枚

ベストアンサーに選ばれた回答

filenotfound987さん

単純に空欄を検索するときは入金確認日フィールドで = だけ入れて検索。

ブラウズ中にダイナミックに集計させるには.....自己リレーションとCount関数の組み合わせという方法【も】あります。
そのときは、入金確認日がEmptyなら1、そうでなければ0という数字扱いのカウント用のフィールドを作っておくと楽(フィールドX)。
顧客テーブルに自己リレーションkeyフィールドを計算フィールドのグローバル保存で式を1で数字として作成。
リレーション画面で顧客データの別名=顧客2テーブルを作り、そこから顧客テーブル間でリレーション。
リレーション式は顧客2テーブルの自己key=顧客テーブルフィールドX。
更に顧客テーブルにカウントフィールドを計算で
コンテキスト=顧客2
Count(顧客::フィールドX)
非保存
として作成で、カウントフィールドをレイアウトに置けばカウントされるでしょう。

入金日フィールドに入力し、フィールドXの値が1から0に変わっても同時にカウントが変わらず、
カウントフィールドにマウスを入れたりウィンドウで隠したりした後に変わるときがあります。
そのときは入金フィールド変化でカウントフィールドを再計算させれば良いので、
カウントフィールドの式を
if(入金確認日;Count(顧客::フィールドX);Count(顧客::フィールドX))
のように強制計算させれば良いかと思います。
最近は再計算させる関数がありますがVer7でどうか判りませんのでこの式を例にしました。

このままでは顧客レコード全部を対象に空欄をカウントするので、
期でカウント対象を区切ったりする場合は自己リレーションにそういう条件を加えて調整します。

  • 違反報告
  • 編集日時:2010/10/7 20:28:09
  • 回答日時:2010/10/7 18:09:29

質問した人からのお礼

  • ありがとうございます。
    とても難解ですが、取り組んでみたいと思います。
    このたびはありがとうございました。
  • コメント日時:2010/10/14 16:01:38

グレード

Q&Aをキーワードで検索:

総合Q&Aランキング

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。

知恵コレに追加する

閉じる

知恵コレクションをするID/ニックネームを選択し、「追加する」ボタンを押してください。
※知恵コレクションに追加された質問や知恵ノートは選択されたID/ニックネームのMy知恵袋で確認できます。

ほかのID/ニックネームで利用登録する