- 締切済み
ファイルメーカーで質問です
ファイルメーカー8.0v2をMacOS10.5.8で使用してます。 初心者ですが本を見ながらハガキのアンケートの集計フォームを作成しております。 ハガキ1枚につき1つのレコードを作り、いくつかの質問を入力しており、 年齢のフィールドに値一覧で 20才~29才 30才~39才 40才~49才 50才~59才 とポッアップメニューから 入力するようにしています。 20才~29才の人は====15人 30才~39才の人は====26人 40才~49才の人は====38人 50才~59才の人は====10人などと 関数等を使って自動的に集計して表示する方法はないものでしょうか? 値一覧で入力しているのでうまくいきません。よろしくお願いします。
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- chieffish
- ベストアンサー率44% (1149/2554)
あちらの掲示板の方法で解決したのですか? 繰り返しフィールドにするとグローバルフィールドもリレーションも 年代の数だけ要るということも無いのですが・・・ グローバルフィールドは簡単に言うと全レコードに共通した同一の値を 持てるフィールドです。 今回の場合は 元テーブル 関連テーブル 年代グローバル = 年代フィールド でリレーションして関連テーブルのレコード数をカウントするのに使っ たわけですね。索引が持てないので逆方向の集計はできませんが。 ver.8なら全レコードに渡ってスクリプトで計算するときの変数代わりに も使えるので重宝します。用途は広いです。
- chieffish
- ベストアンサー率44% (1149/2554)
Get ( ファイル名 ) もGet ( 計算式繰り返し位置番号 )も何も入力しません。 関数をそのまま式に入れます。 GetValue( ValueListItems ( Get ( ファイル名 ) ; "年齢の値一覧名" ) ; Get ( 計算式繰り返し位置番号 ) ) ValueListItems ( Get ( ファイル名 ) ; "年齢の値一覧名" ) でそのファイルの年齢一覧を改行リストで取得し GetValue( そのリスト; Get ( 計算式繰り返し位置番号 ) ) でリストの1行目を繰り返しの1行目、2行目を繰り返しの2行目に入れる という式です。
お礼
chieffishさんありがとうございます。 なんとか形にすることが出来ました。 初心者にも的確に教えていただきありがとうございました。 今後ともよろしくお願いします。
- chieffish
- ベストアンサー率44% (1149/2554)
どのようにして集計しているのか、まだよく判ってませんが、ポップアップも チェックボックスも同じ値一覧ですから同じだと思いますけど・・・ まとめて表示下糸言うことなら年齢の場合 1.年齢フィールドで自己リレーションする。 2.年齢のカウントという計算フィールドを作る。 式は=Count(自己リレーションテーブル2::年齢フィールド) 3.これで各レコードごとに集計値が出ます。 4.年齢見出しという繰り返し計算フィールド(結果はテキスト)を作る。 式は=GetValue( ValueListItems ( Get ( ファイル名 ) ; "年齢の値一覧名" ) ; Get ( 計算式繰り返し位置番号 ) ) 繰り返し数4で非保存 5.この繰り返しフィールドをヘッダに置いてを水平に並べると、20才~29才、30才~39才・・・が入ります。 6.年齢見出しと年齢フィールドで新規に自己リレーションする。 元テーブル 自己リレーションテーブル3 年齢見出し= 年齢フィールド 7.年齢集計という計算フィールドを作る。 式は=Lookup ( Extend (自己リレーションテーブル3::年齢のカウント ); 0 ) 繰り返し数4で非保存。 これも5で作った繰り返しの下に並べる。 8.と、リアルタイムで集計値が計算されます。
補足
アリガトウございます。 4.の(ファイル名)にはこの書類のファイル名『アンケート』と入れたのですが 「この引数はGet関数の無効な引数です」と出ますがどこかおかしいのでしょうか? ( 計算式繰り返し位置番号 ) とはこの場合何を入力すればよろしいのですか? 初心者で申し訳ありません。
- chieffish
- ベストアンサー率44% (1149/2554)
集計方法はいろいろありますので・・・ 今、質問Aはどのようにして集計しているのですか?
補足
chieffishさんありがとうございます。 質問Aの■部分はチェックボックスにして、そのフィールドを集計でカウントしています。 ★のところは、値一覧からプルダウンです。
- chieffish
- ベストアンサー率44% (1149/2554)
どこにどのように表示したいかで色んな方法があります。 初心者向きは、 1.年齢のカウントという集計フィールドを作る。 2.そのテーブルで別レイアウトを作って次のように配置 ヘッダ__________________________________ 年齢フィールド 年齢のカウント 年齢をソート対象とする小計パート_______________ フッタ__________________________________ ボディは削除 3.年齢フィールドでソートしてブレビューモードにする。
お礼
chieffishさんありがとうございます。 このような感じで考えているのですが… ハガキ1枚につき、1レコードで作っています レイアウトを切り替えて、下のような集計一覧表を自動で表示させたいと思っています。 質問Aの■部分はチェックボックスの集計でうまく表示できるのですが… 年齢欄の★は値一覧からプルダウンメーニュで選ぶようにしているので、集計がうまくいきません。 ________________________________ アンケート集計表 トータル○○名の回答がありました ________________________________ 20~29才 ★名 30~39才 ★名 40~49才 ★名 ________________________________ 質問A どのくらいの頻度で? ときどき ■名 1週間に1回 ■名 1ヶ月に1回 ■名 ________________________________ 質問B どなたと? 友達と ■名 夫婦で ■名 家族で ■名 ________________________________ なにぶん初心者ですので、よろしくご教授願います。
お礼
グローバルフィールドをうまく活用すれば、範囲が広がりそうです。 ありがとうございました。