みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
初めて質問させていただきます。
よろしくお願いいたします。
商品購入数を管理したいと思っています。
商品数は1000近くあります。
商品にはコードがA~Gまでついていて種類分けされています。
そこで
テーブルA レイアウトAに 商品名とコード(商品名はユニーク)
テーブルB レイアウトBに 購入日
を書くようにしています。
これらを元に
テーブルA レイアウトCに リスト形式 横軸 「日にち(繰り返しフィールド31日分)」 縦軸 「商品名」 をつくり月合計を出せるようにしています。
商品名は ボタン でコードA~Gまで検索がかけられるようにしいます。
また月もボタンで引数 -1, +1 を持たせ変更できるようにしています。
現状テーブルB レイアウトBに購入日を入力すれば テーブルA レイアウトC の「日にち(繰り返しフィールド31日分)」 に自動的に購入数が入力され、月合計が計算できるようになっているのですが、これを直接 テーブルA レイアウトC の 「日にち(繰り返しフィールド31日分)」 に 数字を入力して計算できるようにしたいのですが、計算フィールドから変更したりすると うまくいきません。
どのようにすればよいか、ご教示いただけないでしょうか。
Last edited by Yuna (2015-06-09 14:58:44)
Offline
今どのようにしてテーブルAに表示しているのか分かりませんが
テーブルBを無くしたいということですか?
繰り返しの日にちは計算フィールドですよね。
これに数字を入力するとはどういうことでしょう。
Offline
>旅人様
説明不足で本当に申し訳ありません。
可能であるならばテーブルBはなくなっても全く問題ありません。
現状はテーブルBに購入日 購入数 が記入できるようになっており、
購入数を LIST(購入数)とし
テーブルAとテーブルBにリレーションをかけ、テーブルAレイアウトCの横軸 「日にち(繰り返しフィールド31日分)」 に計算 Lookup(LIST(購入数))で値を入れています。
「日にち(繰り返しフィールド31日分)」 が計算フィールドでないとうまく購入数を表示できないため
計算フィールドとしています。
そしてできるならば、「日にち(繰り返しフィールド31日分)」を計算フィールドではなくして、直接値が入力できるようにしたいのです。
商品数が1000を超えるため1レイアウトに全部書くことが不可能だと考えたため、商品テーブルAをつくり、リスト表示にしています。
Offline
>「日にち(繰り返しフィールド31日分)」
は1〜31とかが入るのではなく、購入数が入るという意味ですか?
Offline
>旅人様
>>「日にち(繰り返しフィールド31日分)」
は1〜31とかが入るのではなく、購入数が入るという意味ですか?
すみません。説明を間違っていました。 申し訳ありません。
日付 という1-31の繰り返しフィールドと
日別購入数 という1-31の繰り返しフィールドがあります。
日別購入数に購入数がLookup で入るようにしています。
Offline
テーブルBは1日付、1商品ということで重複は無いという事ですね。
日付繰り返しに直接数字を1〜31を入力したいようですが
計算式ではなく手入力にする意味があるのですか。
面倒になるだけと思いますけど。
Offline
テーブルBは
1商品の1購入を1レコード
テーブルAは
1商品のひと月分を1レコードとして、日ごとを横に表示してクロス集計したい。
でいいのでしょうか?
として、
テーブルAレイアウトCの横軸 「日にち(繰り返しフィールド31日分)」 に計算 Lookup(LIST(購入数))で値を入れています
この計算ができるのが疑問ですが、、
テーブルAの計算フィールドをやめたい。
がご希望なら、
スクリプトで入力にすればいいのでは。
Offline
テーブルA レイアウトCは
例として
4月 の購入数
日付 1 2 3 4 5 6 7 ・・・ 31 月合計
商品名A 購入数 0 0 1 2 0 6 5 ・・・ 0 30
商品名B 購入数 1 2 0 5 4 4 2 ・・・ 2 40
のようにリスト形式の表のようになっています。
テーブルB レイアウトBは
商品名
購入日
購入数
テーブルA レイアウトAには
商品名
コード
となっています。
テーブルB レイアウトBに 商品名 購入日 購入数を入れたら 計算式 LookUp でテーブルA レイアウトC に購入数が入力されるようになっています。
この購入数に直接数字を入力したいのです。表に直接入力するようにできないか。ということです。
ちなみに、テーブルB レイアウトBは1レコード1商品という形になっています。 同じ日に同じ商品が2レコードになることはありません。
Last edited by Yuna (2015-06-11 14:28:42)
Offline
入力できるように繰り返しフィールドでも配置したら良いのですが
テーブルAは商品マスタのようなものですよね。
数量を直接入力するようにすると、毎月全商品の1ヶ月分のレコードが
必要になるのではないですか?
Offline
旅人様
入力できるように繰り返しフィールドでも配置したら良いのですが
テーブルAは商品マスタのようなものですよね。
数量を直接入力するようにすると、毎月全商品の1ヶ月分のレコードが
必要になるのではないですか?
日付 1 2 3 4 5 6 7 ・・・ 31 月合計
商品名A 購入数 0 0 1 2 0 6 5 ・・・ 0 30
商品名B 購入数 1 2 0 5 4 4 2 ・・・ 2 40
この購入数も繰り返しフィールドです。
現状でも商品ごとに購入する日全てのレコードがある状態です。
これらのレコードをなくすことができるのであればありがたいです。
Offline
リレーションで、
テーブルBからテーブルAの購入数に入力できるようにしておきます。
フィールド設定で
ターゲットフィールドを
テーブルA::購入数 [ Day ( テーブルB::日付 ) ]
[]の中は繰り返し位置の指定です
計算結果を
テーブルB::購入数
テーブルBで該当月のレコードを対象レコードとして、
全てのレコードにLoopでまわします。
購入の無いレコードが無くても大丈夫ですね。
Offline
>チポ様
すいません。私の理解不足だったら申し訳ないのですが、
テーブルBからテーブルA のレイアウトC に入力ではなく
テーブルAレイアウトC からテーブルB に入力したいのです。
テーブルAレイアウトCの購入数(繰り返しフィールド)
に入力すると自動的にテーブルBに購入日、購入数、商品名が入力されるようにするといえばいいのかな・・・。
理想は商品名で検索ができる下のようなテーブルAレイアウトCの表がありさえすればいいのです。
〇月 の購入数
日付 1 2 3 4 5 6 7 ・・・ 31 月合計
商品名A 購入数 0 0 1 2 0 6 5 ・・・ 0 30
商品名B 購入数 1 2 0 5 4 4 2 ・・・ 2 40
・
・
・
商品名Z
Last edited by Yuna (2015-06-12 14:56:25)
Offline
あまり分かっていなかったんですが、
まったく分からなくなりました。
今まで書かれた質問よ読み返してみてください。
テーブル構成の説明と、
ご希望の書き直した方がいいのでは。
・・
テーブル構成の説明にレイアウトはほとんど意味が無いですよ
Offline
私も分からなくなった・・・・
>理想は商品名で検索ができる下のようなテーブルAレイアウトCの表がありさえすればいいのです。
今のテーブルAでも検索できますよね。
>テーブルAレイアウトCの購入数(繰り返しフィールド)
>に入力すると自動的にテーブルBに購入日、購入数、商品名が入力されるようにする
繰り返しではなくポータルに入力すると
できますけど。
Offline
説明が不十分で本当に申し訳ありません。
まず下のような表を作ることがベースとなっています。
〇月 の購入数
日付 1 2 3 4 5 6 7 ・・・ 31 月合計 年合計
商品名A 購入数 0 0 1 2 0 6 5 ・・・ 0 30 150
商品名B 購入数 1 2 0 5 4 4 2 ・・・ 2 40 250
・
・
・
商品名Z 購入数
ここで商品数が1000以上あるため1000個1レコード上に書くと見難いと判断し
商品マスタをつくり、リスト形式で表示させ商品それぞれにあるコードで検索をかけて表示できるようにしました。
また1レコードで1~12月全ての表示を出来るように、スプリクトで引数-1 +1 をもたせボタンにスプリクトを設定しました。
ここからが問題で
当然 表の購入数 に直接入力した後、月をボタンで変更しても数字が残ったままになります。
そのため
別テーブルをつくり
購入日、個数、商品 フィールドを作り
リレーションを張り、LookUpで月ごとに表に商品数を表示できるようにしました。
しかしこれでは
わざわざ別テーブルに購入日、個数、商品を入力した後 表に移動して確認という形になってしまい、やや使いづらいのです。
表だけで全ての入力が可能にするにはどのようにすればいいのか教示していただきたいのです。
Last edited by Yuna (2015-06-12 21:58:50)
Offline
マスタのレイアウトで当月の数量を入力するわけですから
過去のデータの保存も必要ということでしたら、別テーブル
にそれを保存する必要が出てくるわけで、マスタにその別テ
ーブルのポータルを置けばできますよ。
Offline
商品マスタで一覧を表示と考えるから面倒なのでは。
商品 & ひと月
ごとに1レコードとするテーブルを作り、
毎月のレコードを蓄積していく。
と考えたらいかがでしょう。
Offline
>旅人様
別テーブルの使用数,日付,商品名を それぞれ商品マスタテーブルの使用数(繰り返しフィール)、日付、商品数のポータルにするということですか?
>チポ様
その方法で、表のように表示可能なのでしょうか?
Offline
やることは現状の商品マスタと同じことですよ。
商品マスタで、毎月書き換えるのを、
書き換えではなく、新規レコードとする。
ということです。
Offline
ポータル入力は例えばこんな感じ。
http://pupld.net/28/150615/v28614579g/index.cgi
表に入力.fmp12
ファイル名が「に入力」に変わるみたい。
結構面倒なので8日分しか無いです。検証も不十分。
Offline
>チポ様
私の知識不足でも申し訳ないのですが
リスト表示にするとレコードは商品で増えていきますよね?
どうやって月でレコードを増やすのでしょうか.
>旅人様
誠に申し訳ないのですが FMP11 なのです。
Offline
あら、残念。11持っていないので作れないです。
10はあるけどポータルフィルタが無いし、ちょっと文字では説明困難。
面倒だからやめといた方がいいかも。
Offline
リスト表示にするとレコードは商品で増えていきますよね?
どうやって月でレコードを増やすのでしょうか
どうやって、
とは、方法ではないですよね?
たとえば、
6月で全商品の1000レコードが有るとします。
7月分として、新たに1000レコード作るんです。
これはスクリプトで自動化できますよね。
Offline
1000種類あって全品目を毎日購入するわけではないので
0を入れる必要があり、私のではダメです。
Offline
>チポ様
やっと意味がわかりました。
理解力不足で申し訳ありませんでした。
その方法で作成させていただきたいと思います。
ありがとうございました。
>旅人様
たくさんの返信、そして、わざわざサンプルまでありがとうございました。
Offline
Pages: 1
[ Generated in 0.015 seconds, 7 queries executed - Memory usage: 579.6 KiB (Peak: 616.51 KiB) ]