みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
いつもお世話になっています。
WIN7 FM18 、FMは仕事のすきま時間勉強中です。
ログイン後、メニューページに現在の在会人数表を掲載したいと思っています。
現在のデータは、
テーブル 顧客管理 フィールド 顧客番号
在会区分コード
地区コード
顧客区分コード
在会区分マスター 1在会 2退会
地区マスター 1東京 2東北 3関西
顧客区分マスター 1永久 2登録 3臨時
データ 顧客番号 氏名 在会 地区 顧客区分(ポータル)
1 佐藤 1 1 月日 2
月日 1→人によって途中で123に変わる
2 田中 1 2 月日 3
今日現在の在会人数
地区/顧客 永久 登録 臨時
東京 人数 人数 人数
東北
関西
アドバイス、ご教授よろしくお願いします。
Offline
所謂「クロス集計」問題です。
初めてなら、過去ログを当たって下見してみると良いかも。
Offline
顧客区分を履歴として別テーブルに持たせておくと、退会するまでは在会ですので、顧客区分に、退会 という区分を入れてしまうと、すっきりします。
現在の状態は、リレーションで最新レコードを参照すれば得られます。
その状態をクロス集計するだけです。検索すれば、色々と参考スレッドが出てきます。
Offline
いつもありがとうございます。
過去ログやサンプルなどいろいろ拝見して、解読していますが
集計は一番難しいように思います。
Shin様
顧客区分はポータルで月日と永久、登録、臨時といろいろ一人に対して変化します。
在会区分は退会、在会でどちらか、地区もどれか一つです。
テーブルの顧客管理を顧客管理1、顧客管理2とリレーションを作成して
顧客管理の中に集計の計算式で良いと思うのですが、過去ログなどで
色々方法がありすぎて、どれがよいのかわからなくなってきています。
アドバイス、ご教授よろしくお願いします。
Offline
在会区分が退会で、顧客区分を入力する意味がありますか、ということです。(退会した方で、永久区分を入力することはないでしょう)
区分割りは今のままでもいいですが、会員状態の入力は、永久、登録、臨時、退会 という区分で拓一にしておき、それを2個の区分に反映させると、1元管理になります。
クロス集計は、様々な方法があり、大きく分けて、集計で行う方法と、リレーションを使う方法、SQLでデータを取得する方法があります。作る人の好みです。
上の考え方を入れた簡単なサンプル(集計機能を利用)
https://www.dropbox.com/s/11cwp2qrp7y88 … 2.zip?dl=0
Last edited by Shin (2020-02-20 17:10:26)
Offline
いつもありがとうございます。
やはりクロス集計の方法は、色々あるのですね。難しいです。
説明不足でごめんなさい。
今回の集計は、在会の人の顧客区分の人数になります。
本当にいつもいつもサンプルをありがとうございます。
これから解読します。わからないことがありましたら、休み明けに質問します。
アドバイス、ご教授よろしくお願いします。
Offline
> 今回の集計は、在会の人の顧客区分の人数になります。
を求めるために、同じ区分内に退会があると、それを無視するだけでいいので、集計が楽なんです。
Offline
いつもありがとうございます。
解読しましたが、いくつかわからなかったのでお願いします。
顧客区分に退会を含めて、顧客状態と顧客区分、在会区分が連動しなければいけないのでしょうか。
顧客区分のポータルは現状は顧客区分歴として月日、顧客区分コード、顧客区分名称からもう一行上にレイアウト変更が必要でしょうか。
現在の顧客管理は
在会区分 1 在会←1在会2退会の単独項目
地区区分 1 東京←1東京2東北3関西の単独項目
顧客区分ポータル月日ソート新しい月日1永年←顧客区分ポータルだけ履歴があります。
古い月日 2登録
アドバイス、ご教授よろしくお願いします。
Offline
今の区分ですと、退会者も顧客区分を持ち続けますね。つまり、登録会員で退会者が存在することになります。この状態の是非です。
現実の状態を考えると、在会者は入会時から顧客区分を持ちますが、退会者は顧客区分を持たないのが普通だと思います。
ついでに、退会の履歴を残せます。(今の構造では入会履歴しか持たせられません)
Last edited by Shin (2020-02-17 14:34:38)
Offline
いつもありがとうございます。
今の顧客管理の作りは、退会者でも顧客区分と地区区分を持っています。
退会のとき、在会区分を、1在会から2退会に変更し、
退会情報として、退会年月日、退会理由、退会後の連絡先のみを入力して、データ入力を最小限にしています。
今の作り方だと集計が困難になるのでしょうか。
アドバイス、ご教授よろしくお願いします。
Offline
> 退会情報として、退会年月日、退会理由、退会後の連絡先のみを入力して、データ入力を最小限にしています。
退会以降の顧客区分情報は、意味を持っていますか。あるとして、退会後に顧客区分を変更することがありますか。
> 今の作り方だと集計が困難になるのでしょうか。
困難ではないですが、顧客ごとに退会状況をチェックするか、顧客を在会・退会に分離して処理する必要が出てきますので、一手間も二手間も増えます。
Offline
いつもありがとうございます。
>退会後に顧客区分を変更することがありますか。
退会後に変更はありません。
> 顧客ごとに退会状況をチェックするか、顧客を在会・退会に分離して処理する必要が出てきますので、一手間も二手間も増えます。
ご教示いただけると嬉しいです。
アドバイス、ご教授よろしくお願いします。
Offline
会員一人毎に紙のカードで管理している状況を想定してください。ファイルは、どの区分で何冊用意しますか。4冊?12冊?6冊?18冊?
Last edited by Shin (2020-02-18 08:50:34)
Offline
いつもありがとうございます。
ファイルは、在会か退会の2冊になり、在会ファイルのインデックスで地区別になります。
退会は退会日順になっています。
よろしくお願いします。
Offline
横から、、
最初のご質問に沿った、別テーブルでクロス集計する方法を、
別テーブルでグローバルフィールドを四つ作り、
一つには、在会のコードを入力
後の三つにはそれぞれ顧客区分コードを入力します。
さらに、
地区コード用のフィールドを作り、元のテーブルとリレーション
地区コード = 地区コード
and
在会グローバル(1在会) = 在会区分コード
and
顧客区分グローバル(1永久) = 顧客区分コード
集計用の計算フィールドを作り、計算式
Count ( 元のテーブル::顧客番号 )
レコードを必要分作り、それぞれに地区コードを入力します。
これで、各地区の、「永久」の集計ができます。
同様に顧客区分ごとの設定をします。
その際のリレーションは、元のテーブルを複製します。
決して別テーブルを複製しては行けません。
これは区分が3種と少数なので取れる方法ですが、
種類が多くなると現実的ではなくなりますね。
Offline
> ファイルは、在会か退会の2冊になり、在会ファイルのインデックスで地区別になります。
会費徴収(登録会員の更新、臨時会員の期限確認)という作業が発生すると思いますが、それでカードを区分けする機会の方が多くないですか。
私の合理的と思う考え方とは全く異なるようですので、サンプルファイルを含めて全てお忘れください。
Last edited by Shin (2020-02-19 16:53:48)
Offline
いつもありがとうございます。
チポ様
ありがとうございます。これから挑戦してみます。
Shin様
ありがとうございます。
会費徴収や期限確認など、そこまでFileMakerで作成できる技術がないため、紙台帳の中身がPCで登録・閲覧程度のものになっています。
Excelで顧客人数表を別に作成していたため、顧客管理の登録人数を表にできれば思いました。
Excel在会人数表 地区/区分 東京 東北 関西 九州 計
永久 10 5 1 1 17
登録 1 1 1 1 4
臨時 0 0 1 1 2
計 11 6 3 3 23
アドバイス、ご教授よろしくお願いします。
Last edited by naonao2005 (2020-02-20 09:48:21)
Offline
いつもありがとうございます。
Shin様
サンプルファイルありがとうございます。これから解読します。
最終的にどこまで機能追加するのか、今もあれこれ模索しながら、新しい機能追加するといままで大丈夫だったのが動きがおかしくなったり、悩んでいます。
後々のことを考えるとあまり複雑にしないほうが良いとも思っています。
メニューページはレイアウト名で関連づけられているテーブルがログインになっています。
FileMakerホームページの無料サンプルで病床管理・看護経過記録システム【SPACE】にメニュー画面にベット数の表があったので参考にしました。
チポ様
あれこれやってみましたがまだ解読できていません。
引き続き模索してみます。
よろしくお願いします。
Offline
いつもありがとうございます。
Shin様
サンプルファイルを解読していますが、ラジオボタンがどうしても引っかかっています。
在会区分(地区、顧客区分も同じ)が今は、顧客管理フィールド内の在会区分コードと在会区分マスターの在会区分名称とリレーションになっています。
在会コード1を入力すると名称欄に在会となります。
ラジオボタンを利用していないので、ラジオボタンではない方法を模索していましたが、そもそもラジオボタンでないと計算できないのか、よくわからなくなってきました。
アドバイス、ご教授よろしくお願いします。
Offline
いつもお世話になっています。
サンプルでいただいたポータルはそのままラジオボタンで配置
そのほかは、コードと名称をリレーションしていますが、コードはポータルのラジオボタンの変更をすぐに表示しますが
名称は一度システムを終了して、再度立ち上げると正しい名称が表示されます。
なぜでしょう。
アドバイス、ご教授よろしくお願いします。
Offline
計算フィールドを、保存しているからでしょう。
Offline
いつもありがとうございます。
テーブル顧客管理
フィールド 顧客区分 計算 非保存、=Choose ( 在会履歴::顧客状態 ; "" ; 1 ; 2 ; 3 ; "" )
テーブル顧客区分マスター
フィールド 区分code 数字 索引設定済
リレーション顧客管理の顧客区分と顧客区分マスターの区分code
レイアウト 顧客管理::顧客区分 顧客区分マスター::顧客区分
レイアウトの顧客管理::顧客区分が変わっても顧客区分マスター::顧客区分が変更しません。
計算フィールドを、保存しているとお返事をいただきましたが、いろいろな箇所を解読しましたがよくわかりませんでした。
過去ログやいろいろ調べましたが、計算フィールドとリレーションできないとか、スクリプトが必要とか出てきて色々試しましたが、お手上げ状態です。
ご教示いただければ幸いです。よろしくお願いします。
Offline
スクリプトを作成してみました。
ポータルの一番上の在会履歴
在会履歴::顧客状態にスクリプトトリガOnObjectModifyに下記のスクリプトを設定しました。
If[顧客管理::在会区分=1]
フィールド設定[在会区分マスター::在会区分;"在会"]
If[顧客管理::顧客区分=1]
フィールド設定[顧客区分マスター::顧客区分;"永久"]
If[顧客管理::顧客区分=2]
フィールド設定[顧客区分マスター::顧客区分;"登録"]
If[顧客管理::顧客区分=3]
フィールド設定[顧客区分マスター::顧客区分;"臨時"]
End If
Else If[顧客管理::在会区分=2]
フィールド設定[在会区分マスター::在会区分;"退会"]
End If
レイアウトの顧客管理::顧客区分が変わっても顧客区分マスター::顧客区分が変更するようになりましたが
退会がはいった後に永久を入れても表示されません。
一度閉じると表示されます。
ご教示いただければ幸いです。よろしくお願いします。
Offline
Pages: 1
[ Generated in 0.007 seconds, 7 queries executed - Memory usage: 628.32 KiB (Peak: 661.23 KiB) ]