初心者のFileMaker pro Q&A (旧掲示板)

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 2017-12-19 02:05:34

よしよし
Member

紙データを効率よく入力する方法

売上と明細をポータルで入力します
売上テーブルには、
日付  店名   などがあり(IDなどは割愛)
明細には
商品名   個数   などがあります

手書きのものを元に入力するのですがそれは、

(手書き)
りんご▼
店名A   100
店名B   200
みかん▼
店名A  40
店名B  50

といった具合に商品名ごとにグループとして書いてあります
それぞれ店名、商品は10種類ほどです

レコードとしては

(伝票)
ID 001  店名A
(詳細)
りんご   100
みかん   40
__________________
(伝票)
ID 002  店名B
(詳細)
りんご   200
みかん   50

という形にしたいです
紙をみながら入力していき、上記の一対多のかたちにできれば
速く入力できるのですが、アドバイスおねがいします

紙データを店舗ごとに書き換えるしかないでしょうか?

Offline

#2 2017-12-19 08:55:39

Shin
Member

Re: 紙データを効率よく入力する方法

明細側のテーブルを、店舗で集計するだけです。
または、店舗テーブルから明細を見ればいいでしょう。

Last edited by Shin (2017-12-19 09:30:45)

Offline

#3 2017-12-19 09:15:51

チポ
Member

Re: 紙データを効率よく入力する方法

商品ごとのテーブルに明細のポータルを置いてそこへ入力すれば、
現在の手書きをベースにできますよね。

店舗ごとの集計はShinさんの通りですが、
店舗テーブルが必要かどうかは運用によるのでは。

Offline

#4 2017-12-19 15:18:36

よしよし
Member

Re: 紙データを効率よく入力する方法

テーブルやレコードのかたちとしては
1伝票に対して複数の詳細がリレーションされるかたちにしていです

普通の入力方法なら
1.店名を指定して伝票テーブルにレコードを作成
2.ポータルで詳細に入力

ですけど、紙のデータが先述の形式なので、
1.店名を指定して伝票テーブルにレコードを作成
2.ポータルで詳細に店名Aのりんごを入力
3.店名Bのりんごを入力
4.店名Aのみかんを入力…
と伝票テーブルをいちいち切り替えて入力しないといけません

連続して、各店舗のりんごだけを入力すると、通常の1対多のかたちで
レコードが保存されるようにしたいです

上記の紙データのみ、そのような形になっていて、
通常は、

店名
りんご   40
みかん   30

といったデータを入力するので
1.店名を入力
2.その店名のみのレコードを連続入力
といったかたちです

Offline

#5 2017-12-20 08:52:40

チポ
Member

Re: 紙データを効率よく入力する方法

> 1伝票に対して複数の詳細がリレーションされるかたちにしていです
これはそのままにして、

新たに、商品ごとを1レコードとするテーブルを作ります。
詳細テーブルとは、ユニークな値のフィールドでリレーションし、
詳細のポータルを商品テーブルに配置します。

商品テーブルで全レコードを対象外にして、
新たにレコードを作り商品を入力、ポータルへ詳細を入力。

これを全商品繰返して、全詳細レコードを作ったら、
  関連レコードへ移動(現在の対象レコードの全てのレコードを照合)
で、詳細テーブルで新たに作ったレコードだけが対象レコードとなりますから、
店舗でソート、伝票番号を入力、伝票テーブルのレコード作成、入力。

この一連はスクリプトで自動化できますよね。

Offline

#6 2017-12-20 08:55:48

Shin
Member

Re: 紙データを効率よく入力する方法

店名と商品名と数量を入力するのでしたら、明細テーブルをリスト表示して入力していけばいいのでは。簡単にするために、店舗名と商品名は、ラジオボタンで選択させると早いですよ。その際に、商品名を続けていれたいのでしたら、自動入力で直前の値を設定しておくといいです。
ちょっと気にかかるもは、紙伝票1枚で、IDが複数発生するのですか。それとも、単に店舗ごとの括りでIDを打っているのでしょうか。

Last edited by Shin (2017-12-20 14:02:50)

Offline

#7 2017-12-20 15:43:15

よしよし
Member

Re: 紙データを効率よく入力する方法

紙伝票一枚でIDは複数発生して、店名が変わるたびに1伝票という括りです

伝票テーブルには店舗名、それに対して1対多のかたちで
詳細テーブルに、レコードを追加したいです

しかし、先述のとおり紙データがあのようなかたちなので
伝票テーブルにレコードを作成して、それに対する詳細レコードを連続で入力する、という入力方法ができません

明細テーブルに直接入力するとなると、伝票テーブルに、1対多の1にあたる伝票テーブルにレコードが作成されませんよね

Offline

#8 2017-12-20 16:55:26

よしよし
Member

Re: 紙データを効率よく入力する方法

うまく伝えられないのですが

詳細テーブルに直接入力するとすると、
日付  店舗名  品名   個数
というフィールドに入力していき
伝票テーブルには
日付と店舗名を区切りとしたレコードをつくり
一対多の形にしたいということです

閲覧などは伝票テーブルで日毎などの期間で抽出したいです
後にデータをつかうときも、基本的には詳細データまではみません
伝票テーブルにある、詳細の合計値でことたります

いちいち詳細テーブルで集計や抽出するより、
伝票テーブルでやったほうがはやいでしょうし

Offline

#9 2017-12-20 22:31:42

Shin
Member

Re: 紙データを効率よく入力する方法

伝票テーブルの集計は、商品に関係ない個数の合計を出すのでしょうか。
閲覧は、日毎の店舗に関係ない個数の合計ですか。
商品毎の集計データは不要なんですか。

ちなみに、伝票テーブルの集計値をさらに集計するのは、明細を直接集計するよりは遅くなるでしょう。

Offline

#10 2017-12-21 01:50:49

よしよし
Member

Re: 紙データを効率よく入力する方法

伝票テーブルの集計は商品の合計です

一対多で商品毎の集計を、伝票テーブルに保存します
ポータルのフィールド(詳細テーブル)に変化があると、小計フィールドを
スクリプトで数字として別フィールドに保存させ、伝票テーブルを集計するときに速くするつもりです
商品毎の集計データは、よほどの分析をするとき以外は不要です

伝票テーブルに上記の詳細の合計さえあればいいです

#9のような入力は無理ですかね?

紙データの書き方を変えるしかないですかね

Offline

#11 2017-12-21 02:45:34

よしよし
Member

Re: 紙データを効率よく入力する方法

もしかすると
ポータル内ポータル、ができればよいのかもしれません
あまり情報はないみたいですが少し調べてみます

Offline

#12 2017-12-21 10:55:40

Shin
Member

Re: 紙データを効率よく入力する方法

> 一対多で商品毎の集計を、伝票テーブルに保存します
これって、まあまあ面倒な処理ですよ。
> ポータルのフィールド(詳細テーブル)に変化があると、
この検知は面倒ですし、過去のものに修正が入ると結構面倒です。その処理が後々には必ず非常に大きな物になり、動作のもたつきになります。
ポータル内のポータルは、サポートされていません。表示上で擬似的に作ることはできますが、非常に面倒です。
https://www.dropbox.com/s/8m7156sybqzz8 … 7.zip?dl=0

早く計算したいのはわかりますが、対象の明細レコード数は数十万件でしょうか。上の前提ですと、日に100件、年間3万件程度ですよね。その程度の規模で、集計時間はほとんどかからないレベルで、集計方法によって差が僅かに出てくる程度ですよ。
それより構造を簡単にした方が、後のメンテナンスの事も考えて、有利だと思いますが。
https://www.dropbox.com/s/u2zdtox8c2lwf … 7.zip?dl=0

それと、伝票テーブル側の IDについてのお答えをもらっていません。
> 詳細テーブルに直接入力するとすると、日付  店舗名  品名   個数 というフィールドに入力していき
> 伝票テーブルには、日付と店舗名を区切りとしたレコードをつくり
この手順ですと、IDを振るために伝票レコードを作りに行く作業と、そのIDを明細側に設定する作業が必要になります。IDの設定はルックアップでできそうですが、伝票レコードは自動で作るのは無理そうですので、詳細テーブルに入力した後にわざわざ手動で行なうか、トリガーを使ってレコードの確定時に処理を組み込むか、などを行なう必要があります。

Last edited by Shin (2017-12-22 14:21:07)

Offline

#13 2017-12-21 14:12:47

ててを
Member

Re: 紙データを効率よく入力する方法

入力について、こんな感じでしょうか
https://www.dropbox.com/s/99rdoseh7py4ucd/7370.zip?dl=0

Offline

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.007 seconds, 7 queries executed - Memory usage: 552.23 KiB (Peak: 573.13 KiB) ]