みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
以下の前提で質問させて下さい。
■実績データー
年 月 項目 金額 属性
15 4 パン 1000 洋食
15 4 お米 2000 和食
16 2 お米 2500 和食
16 3 パン 1200 洋食
16 3 お米 2200 和食
■属性テーブル
項目 属性
パン 洋食
お米 和食
■集計ポータル
年と属性でリレーション
15年で和食分をリスト化
年 月 項目 金額 属性
15 4 お米 2000 和食
上記の「集計ポータル」の様に集計が出来ます。
この場合、実績データの属性に値として「洋食」や「和食」が入力されている必要があります。
困っているのは、
この属性を「属性テーブル」との関連レコードで持たせている場合です。
フィールド定義では、「非保存」と表示され、索引もできず
当然集計ポータルに表示させる事が出来ません。これは理解出来ています。
が。。。
出来る様にしたいのです。
これが出来れば、属性テーブルで、洋食の値を和食にかえると、一気に実績データの属性の値を変える事ができ便利です。
今は、再ルックアップで対応していますが、
データが多くなると時間がかかり困っています。
何か、良い方法はないでしょうか?
よろしくお願いします。
>属性テーブルで、洋食の値を和食にかえると
そもそもこれを変えることの意味がわからない。
Offline
意味といいますと?
例がよくなかったかもしれません。。
機能的に、この様な事をしたいのですが、難しいでしょうか?
意味はわからないけど、ポータルフィルタにすれば簡単です。
非保存で集計したいということなんで、実用的な性能かどうかは、データ量によるでしょう。
読み直したら
「再ルックアップで対応していますが、データが多くなると時間がかかり」
て書いてますね。それだとどうやっても無理な気がしますが。
変更した属性だけを再ルックアップしてますか?
年で絞り込んだ分だけを再ルックアップ相当の計算することになるんで、そこで十分少なくなればポータルフィルタでOKかもしれない...
集計ポータルに項目の値一覧 List(属性::項目)を作って、年とそれをリレーションにすればいいのでは。
値一覧 List(属性::項目)では、非保存ですので、ポータルが組めるでしょうか?
理解が間違っている様な気もしますので、もう少し詳しく教えて頂けないでしょうか?
例が悪かったので例を変えます。
事業はお弁当の宅配事業です。
県内を10人の宅配担当者が毎日商品を顧客に届けています。
事業は順調で、顧客が増えて行き、配達担当者と配達区域や担当顧客が頻繁に変わります。
その為、代金回収の管理が問題になっています。
未収金になっている顧客は管理出来ますが、配達担当者毎に未収金になっている顧客を抽出したいのです。
顧客名、担当者、未収金額が書かれたDBを元に、
各担当者毎に未収金分をリスト化しています。
しかい、担当顧客が変わる為に、未収金DBの担当者を頻繁に変える必要があるのです。
これは再ルックアップしていますがその作業を省きたいのです。
担当者が変われば、自動的に未収金DBの担当者も変えたいのです。
データーが無限に増える為、再ルックアップしていると将来大変な時間がかかる事も恐れています。
よろしくお願いします。
>データーが無限に増える為、再ルックアップしていると将来
未収金のだけ再ルックアップすればいいのでは。
非保存は参照側なので問題ありません。
>顧客名、担当者、未収金額が書かれたDBを元に
ちょっと違うでしょう。
顧客テーブル
顧客 担当者
売上(請求?)テーブル
日付 顧客 金額 未収 集計用に年月
集計テーブル
年月 担当者
集計::担当者=顧客::担当者 のリレーションで集計テーブルに 顧客達「List(顧客::顧客)」を作る
集計::年月=売上::年月 AND 集計::顧客達=売上::顧客 のリレーションでポータル表示
未収もリレーション条件に入れるか、ポータルフィルタにする。
ありがとうございます。試してみます。
ファイル構造・運用法が分りませんが。。
顧客テーブルで、
顧客の担当者が変わるたびに、
その担当者を書き換えるのはいかがなものでしょう。
変更の日付を持たせて、新規レコードとするのが普通でしょう。
顧客テーブルが、顧客ごとのマスタになるのなら、
これは別のテーブルになりますね。
また、
1売上ごとに集金するのと、
月ぎめのような、集計後の集金とでもその扱いが変わるのでは。
Offline
もう少し具体的に書きます。
以下の様なDBがあったとします。
■顧客DB
顧客名 担当者
山田 田中
斉藤 田中
田辺 田中
近藤 山下
木下 山下
橋本 山下
■未収金DB
顧客名 未収金額 日付 担当者
山田 1000円 2月 田中
斉藤 1200円 3月 田中
田辺 800円 3月 田中
近藤 1300円 3月 山下
木下 700円 3月 山下
橋本 800円 2月 山下
これを、担当者別で集計させると以下の様になります。
■未収金管理表
・担当者 田中
顧客名 未収金額 日付
山田 1000円 2月
斉藤 1200円 3月
田辺 800円 3月
・担当者 山下
近藤 1300円 3月
木下 700円 3月
橋本 800円 2月
・・・・・・・・・・
この時
顧客DBを以下の様に変えたとき
■顧客DB
顧客名 担当者
山田 山下
斉藤 山下
田辺 田中
近藤 山下
木下 山下
橋本 山下
自動的に以下の様な集計画面を作りたいのです。
・担当者 田中
顧客名 未収金額 日付
田辺 800円 3月
・担当者 山下
山田 1000円 2月
斉藤 1200円 3月
近藤 1300円 3月
木下 700円 3月
橋本 800円 2月
理由は、お金を回収する責任は、
販売した担当ではなく、現時点の顧客担当が集金義務をおわせているからです。
よろしくお願いします。
未収金管理表テーブルを1担当者ごとに1レコードとして、
顧客DBの担当者とリレーションします。
このリレーションを使い、未収金管理表で、
List関数で
担当する顧客のリストが得られます。
このリストと、未収金DBの顧客とでリレーションし、
未収金管理表のレイアウトにこのリレーションのポータルを置けば、
担当者ごとの未収金顧客のリストが表示できます。
前にも書きましたが、
顧客DBの、担当者の書き換えは考えた方がいいと思いますよ。
Offline
未収金テーブルの顧客名と、担当者テーブルの顧客名をリレーションして、未収金テーブルの中で、担当者テーブル::担当者 をキーとして集計するだけで良いのでは。
未収金テーブルの担当者を書き換える必要は有りませんよ。
Offline
チボさん
なるほど、ありがとうございます。試してみます。
顧客DBには、顧客IDをキーにして契約書や営業日報が紐づいていて、営業担当が変わったからといって顧客IDを作る事が出来ないんです。
私の作り方に問題があるのかもしれないですね。。。
Shinさん
>未収金テーブルの中で、担当者テーブル::担当者 をキーとして集計するだけで良いのでは。
これは、未収金テーブルの中に、関連フィールドとして、担当者テーブルを設置してリレーションを組むという事でしょうか?
非保存になって出来ないと思ってました。
試してみます。
ありがとうございます。
Pages: 1
[ Generated in 0.005 seconds, 9 queries executed - Memory usage: 551.55 KiB (Peak: 572.09 KiB) ]