みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
いつもお世話になっております。
また、解らない事が出来ましたのでご質問させていただきます。
環境
WIN8.1
FM13アドバンス
テーブル
店舗
・店舗ID
・商品ID
・在庫数
在庫
・商品ID
・在庫数
店舗テーブルはほぼ毎日新規レコードで販売数と在庫数を管理しております。
商品IDごとに、在庫::在庫数フィールドに店舗::在庫数の直近の合計値を反映させたいのですが上手く行きません。
ご存知の方がおりましたらよろしくお願いします。
Offline
商品IDでリレーションし、在庫数の合計をだせば良いはずですが。
ただ、店舗テーブルでは、その直近の在庫数のみを保存しているのでしょうか。
Offline
ご対応ありがとうございます。
店舗テーブルでは、直近のレコードだけではなく過去のレコードも存在しています。
Shinさんの通りしますと、過去のレコードを含む合計値が出てきます。
これを直近のレコードの値だけ合計したいのです。
上手く説明できませんが、よろしくお願いします。
Offline
レコーdの情報として、作成日時などの情報は無いのですか
Offline
店舗Tで、店舗IDと商品IDで自己リレーションして、店舗T2側を日付?降順ソートして
計算フィールド=店舗T2::在庫数 / Count ( 店舗T2::店舗ID )を作って
その値を商品IDでリレーションした在庫TからSumする?
Offline
ご対応ありがとうございます。
Shinさん、作成日のフィールドはあります。説明不足ですいません。
旅人さん、自己リレーションは組みましたが、2行目と3行目がよく解りません。
2行目は店舗T2::在庫数 割る Count(店舗T2::店舗ID)とゆう意味ですか?
上記では上手く行かず教えていただいたリレーションを使って新しく作った計算フィールド=店舗T2::在庫数
とすると直近の在庫数を反映させる事が出来ました。
しかし、それでも上手く行きません。根本的に何が間違ってるか解りません。
お手数ですが詳しくご説明していただきたいです。
よろしくお願いします。
Offline
全レコードに店舗、商品ごとの最新の在庫が出たのでしたら
それを、店舗、商品ごとのレコード数で割ると1レコード
あたりの数になると思います。
Offline
ご対応ありがとうございます。
やりたい事は、店舗テーブルでは店舗それぞれで営業日ごとに閉店時に商品ごとの在庫数を日報であげていいます。
例:A店舗 商品ID1 在庫数 10 商品ID2 在庫数 8 日付2015/11/1
A店舗 商品ID1 在庫数 6商品ID2 在庫数 3 日付2015/11/10
B店舗 商品ID1 在庫数 5 商品ID2 在庫数 6 日付2015/11/3
B店舗 商品ID1 在庫数 8 商品ID2 在庫数 15 日付2015/11/5
在庫テーブルの商品ID1 在庫数(A店舗在庫数6+B店舗在庫数8=14
商品ID2 在庫数(A店舗在庫数3+B店舗在庫数15=18
最新の日付の値を元に以上の事を関数でやりたいのです。
よろしくお願いします。
Offline
店舗側に、店舗IDと商品IDで自己リレーションを張り、日付で降べきにソートしておきます。
計算フィールド[最新在庫]を作り、Case ( 日付 = リレーション::日付 ; 在庫数 ) としておきます。
このフィールドを、在庫テーブルから Sum() すれば良いでしょう。
Offline
こんなつもりでした。
http://pupld.net/21/151206/wc0g1k0213/index.cgi
店舗在庫.fmp12
Offline
ありがとうございます。
上手く行きました。
Case関数の条件は勉強になりました。
Offline
旅人さんもありがとうございます。
私の説明が悪いばかりで、お手数おかけしました。
また、何かありましたらよろしくお願いします
Offline
Pages: 1
[ Generated in 0.008 seconds, 9 queries executed - Memory usage: 524.56 KiB (Peak: 529.47 KiB) ]