プロが教えるわが家の防犯対策術!

ひとつのレイアウトに、名前、年齢、住所などのフィールドがあります。レコード一枚が顧客情報の一覧になります。

その情報を一つのレイアウトに集計したデータで表示させたいのですが、うまくいきません。

たとえば、20歳~30歳までの顧客は何人いるか?
〇○県の顧客は何人いるか?

エクセルではIF関数を使って一つのセルに計算出来たのですが、
ファイルメーカだと集計フィールドのカウントを利用して全体の数は計算できるのですが、
条件付きの集計ができません。

検索を掛けて一回一回やっていくのには手間がかかるので一つのレイアウトとしてまとめたいのです。


質問の説明が下手で伝わりにくいかもしれませんがよろしくお願い致します。

仕様はPRO9.0です。

A 回答 (2件)

グローバルフィールドとのリレーションをすると良いのでは?


例えば
グローバルフィールドA = フィールド(都道府県)
グローバルフィールドB 以上 フィールド(年齢)
グローバルフィールドC 以下 フィールド(年齢)
こんなリレーションを作ると
グローバルフィールドを変えるだけで
ポータルの条件が変更されて条件に合うポータルが表示できます

okigaru.info

参考URL:http://www.okigaru.info/
    • good
    • 0

一般的には小計パートで集計するかリレーションで集計になるかと思います。


>〇○県の顧客は何人いるか?
県をソート対象とする小計パートに県フィールドと顧客をカウントする集計フィールド
を置いて、県でソートしてプレビューモードにします。

別テーブルに県フィールドを作り「県」でリレーションして、計算フィールド
Count(リレーション::顧客名)を作って、県フィールドに県名を入れる。
    • good
    • 3

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QファイルメーカーでCountifの様な方法ありますか?

はじめまして
初めての質問です。

環境はWinXP ファイルメーカーpro7です。
テーブル「社員名簿」のレコードからテーブル「在籍人数」にcountifの様な方法で、値を返せればと思っています。

まず、社員名簿というテーブルがあります。
フィールドが
「エリア」(値一覧で選択、[東日本、中部、西日本、本社])
「部署」(値一覧で選択、[管理本部、事業本部、CS、BS]など)
「雇用形態」(値一覧で選択、[正社員、試験社員、契約社員]など)
「職責」(値一覧で選択、[部長、マネージャー、一般]など)
「性別」(男・女)
などです。

在籍人数テーブルは表の様に表すのが希望です。
例えば
「東日本」の「CS」部で「正社員」のうちの「一般」社員で「男」を
社員名簿履歴からカウントするフィールドを作成
上記のような感じで部署や雇用形態が違うフィールドをいくつも作成して最終的には合計人数を出したいのです。

エクセル的な考えでcountifを使用するつもりだったのですが、使えない事がわかり・・・。

ファイルメーカー初心者なので、なかなかいい方法が思いつかず困っています。

ぜひ、アドバイスお待ちしております。

はじめまして
初めての質問です。

環境はWinXP ファイルメーカーpro7です。
テーブル「社員名簿」のレコードからテーブル「在籍人数」にcountifの様な方法で、値を返せればと思っています。

まず、社員名簿というテーブルがあります。
フィールドが
「エリア」(値一覧で選択、[東日本、中部、西日本、本社])
「部署」(値一覧で選択、[管理本部、事業本部、CS、BS]など)
「雇用形態」(値一覧で選択、[正社員、試験社員、契約社員]など)
「職責」(値一覧で選択、[部長、マネージャー、一般]など...続きを読む

Aベストアンサー

集計結果を表にする時のレイアウトの自由度を考えると関連テーブルからリレーションを使った
計算がいいかも知れません。

在籍人数テーブルに社員名簿テーブルにあるフィールドを全部作ります。社員名簿テーブルには
重複のない社員IDなどというフィールドも必要です。

例えば、社員名簿テーブルと在籍人数テーブルの「エリア」と「部署」と「雇用形態」の3フィー
ルドとも等しいというリレーションを作って、とCount(社員名簿テーブル::社員IDフィールド)と
いう計算フィールドを定義します。

在籍人数テーブルの「エリア」と「部署」と「雇用形態」の各フィールドにそれぞれ「東日本」
「CS」「正社員」と入力するとその人数が出ます。

Qファイルメーカーでの集計

毎日部署ごとにで作業日報をとっており、その時間をつけています。

各項目の小計時間が、全体の合計になるようにフィールド設定しています。
現在毎日の合計時間はでているのですが、毎月の合計がでていません。

現レイアウトを複製し、合計時間をSUM関数でやってみたところ、検索した期間での合計にはならず全体の合計のままになっています。

例えば、4月分の合計(4月1日~30日)の合計をだずにはどのようにすればいいでしょうか。

Aベストアンサー

簡単なのはリレーション集計です。
別テーブルからの場合、元テーブルの日付から年月を取り出します。例201204とか。
別テーブルに部署とこの年月フィールドを作り、元テーブルとリレーション。
別テーブルにSum(元テーブル::時間)の計算フィールドを作って、部署と年月を入力
すると出ます。もちろん別でブルでは無く元テーブルの自己リレーションでも可能。

QFileMakerのcase関数の作り方

合計20個の条件(条件1~条件20)を詰め込んだ「case関数」を書いてみたところ、正常に結果を返してきてくれたのは最初の2つ(条件1、条件2)だけで、条件3以降は全て条件2の結果を返してきます。なぜでしょうか??
数十個に及ぶcase関数は、そもそも無理なのでしょうか? 記号の入れ方のコツをご指南ください。

Aベストアンサー

Case文の書き方が間違ってますね。
2行目以降も、計算式の内容が必要です。

あと、計算式は見やすいように以下のような表記にした方がいいですよ。
Case(
希望到着年月="2014年8";"August, 2014";
希望到着年月="2014年9";"September, 2014";
希望到着年月="2014年10";"October, 2014";
あとは同様に~~
)

QFileMakerで、フィールドの値が空欄だった時に0を返す計算式

ファイルメーカーで、フィールドの値が空欄だった場合に
数値の0を返し、"空欄ではなかった時はそのままの値を返す"
計算式を教えてください。

IsEmptyを使ってみたのですがうまく行きませんでした。

FileMaker Pro7を使っています。
よろしくお願いします。

Aベストアンサー

結果=Case(IsEmpty(そのフィールド);0;そのフィールド)

Qファイルメーカ 検索実行せずに該当するレコード数を知りたい

FM7です。

条件に合致したレコード数を知るために、現在は検索実行をした後に
Get(対象レコード数)
として求めていますが、検索実行をせずに知ることは出来ますか?

テーブルA
顧客-----地区名-----担当者
テーブルB
担当者---顧客数(計算 If テーブルAの担当者 = テーブルBの担当者 then 担当する顧客の数)

のような感じになると、ありがたいのですが。

Aベストアンサー

テーブルAとBを担当者でリレーションしてあってAは1レコードに顧
客一人と思っていいでしょうか。

ウチは5.5ですが、リレーション名が「担当」として
count(担当::顧客)
で出来てますよ。7でも同じだと思います。

Qファイルメーカーでの集計表示について。

どなたか下記の件お分かりになる方いらっしゃればご回答をいただけますでしょうか。
環境はfilemaker pro11 win7proです。

日付・曜日・売上というフィールドに過去1年間ためたデータがあります。
これを集計表示用のレイアウト等で、

横軸:曜日
縦軸:1~3月・4月~6月・7月~9月・10月~12月

というような集計表示をしたりできますでしょうか。

よろしくお願いいたします。

Aベストアンサー

多分「曜日」のリレーションが出来てないのでしょう。
完全に同じでないとリレーションしない。
○「日曜日」
×「日」「日曜」

サンプルをアップしてありますので、解析してください。
リンク先「売上.fp7」「売上.zip」どちらも同じものです

参考URL:http://briefcase.yahoo.co.jp/bc/nyrky004/lst?&.dir=/88ed/6a0a

Qファイルメーカーでフィールド内のユニークな値の合計

ファイルメーカー Pro8.5を利用しています。
使用OS:Windows XP Professional

フィールドに入っているユニークな値の数を求める方法を
知りたいです。

例えば、このようなデータがあるとします。

たまご
りんご
りんご
たまご
みかん
たまご
みかん




上記の例でいくと、現在該当のレコード一覧には3種類の商品が
あるので、「3」という数字を返してくれるフィールドを作りたいです。

集計フィールドのカウントを使ってみましたが、当然ながら「7」になります。

市販マニュアルの関数一覧を一通り探したのですが、
それらしき関数を見つける事が出来ませんでした。


それでは何卒宜しくお願い申し上げます。

Aベストアンサー

スクリプトの場合
1.品名合計という集計フィールドを作る。内容は品名のカウント/現在の/品名差ソートで集計を再開
2.変換という数字フィールドを作る
3.種類という集計フィールドを作る。内容は変換の合計
4.スクリプトを作る。
 ・ソート/品名でソート
 ・フィールド内容の全置換/計算結果/変換フィールドを「品名合計=1」という計算式で置換
 ・ソート解除
検索後に4のスクリプトを動かせば「種類」フィールドに出ます。
そのままでは種類フィールドの内容(値)が残ってしまうのが難点です。

Qファイルメーカーで検索条件のみを集計

初めての質問です。
FileMaker Pro.11です。
テーブル「報告書」のレコードからテーブル「分類別集計」にcountifの様な方法で、値を返せればと思っています。

他の情報サイトを見た所、自己リレーションを使用しての関数:countで、対象のレコード数の合計を計算することができるのは分かったのですが、これを、検索結果だけの対象レコード数を出すことは可能でしょうか?


フィールド 名前 日付 分類
レコード1  田中 2011/11/11 事故
レコード2  佐藤 2011/11/13 事故
レコード3  田中 2011/11/13 その他
レコード4  田中 2011/11/14 事故
といったものを「2011/11/13...2011/11/14」で検索かけ
フィールド 名前 事故 その他
レコード1  田中 1   1
レコード2  佐藤 1

といった形に集計かけたいです。
説明不足だと思いますがご協力下さい。

Aベストアンサー

>自己リレーションを使用しての関数:countで、対象のレコード数の合計を計算する
>ことができるのは分かったのですが、

でしたら
開始日と終了日のグローバル日付フィールドを作って
リレーションの照合フィールドに加えて複合キーにす
るといいです。検索も要らなくなります。

QFilemakerのIF関数の関数式

FilemakerのIF関数の正しい関数式の作り方について教えてください。


Aが、「BまたはC」の条件を満たす場合は45を、満たさない場合は60を表示させるIF関数として、以下の関数式を作成・入力しましたが、うまく結果が出ません。どこが間違っているのか教えてください。困ってます(T-T)
ちなみにB、Cは全角文字という想定で“”をつけています。
If ( A=”B” or “C”; 45; 60 )

Aベストアンサー

ifで作るより、caseで作った方が楽だと思います。
case(
A=”B”;45;
A=”C”;45;
60)
で大丈夫です。

Qファイルメーカーで該当件数を表示させるには?

初心者で申し訳ありません。
検索をかけて出てた該当件数をフィールドに表示するにはどうすればいいのでしょうか?
計算フィールドで
Status(対象レコード数)
と指定したのですが、「指定された定数はステータスフラグではありません」と表示されてしまいます。

Aベストアンサー

Status (対象レコード数)

で、合っています。

タイプミスしていませんか?

しいて注意を添えれば、
索引オプションで、
「計算結果を保存せず必要時に計算する。」に
チェックを入れることぐらいです。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング