みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
伝票テーブル、詳細テーブルにわかれているとして、
伝票テーブルに詳細の小計を計算するフィールドがあるとします
伝票テーブルに取引先や詳細の合計金額などが入ると思います
取引先ごとの売上または、商品ごとの金額を集計するときに、
伝票テーブルを使って詳細の小計を合計するのと、
伝票テーブルを使わず
詳細テーブルのみを使って合計をするのでは、処理速度に違いはありますか?
伝票テーブルで行っても結局詳細テーブルに各金額を見に行くので
詳細テーブルでやったほうが速いような気がするのですがどうでしょうか?
レコードの入力はすべてExcelからのインポートなので
ファイルメーカー上で入力しません
ですから、伝票テーブルはなくてもいいのかな、と思っています
もしファイルメーカーで入力するとこになっても、
新規レコード作成時にフィールド設定で前回入力した値をいれるようにすれば
連続して同じ日付、取引先で入力できますし
FMP16 WIN10です
Offline
伝票テーブルが1件の受注、詳細テーブルがその明細として個々の商品や個数、だとして。
金額のみというか、詳細テーブルのみで欲しい情報がきちんと表現できるなら、
詳細テーブルだけで希望は満たせるでしょう。
動作速度としては、結局何らかの集計の演算は必要で、この程度の違いでは大差ないと思います。
ただし、"新規レコード作成時にフィールド設定で前回入力した値をいれるようにすれば"は、
FileMaker含むRDBMSでは悪い設計の代表とされる未正規化状態です。
伝票側で本来持つべき情報まで個々の詳細テーブルに持たせるため、
書き換えや、伝票単位の情報の集計などに不要な手間がかかります。
入力がExcelということは、その時点で未正規化の状態でしょうから、
それを敢えてFileMakerで伝票テーブルでまとめ上げるのは手間かも知れません。
ただ自分が作るなら、詳細テーブルから自動で伝票テーブルを作るよう、
インポート処理とセットで用意すると思います。
Offline
1伝票に対して1つの売上しか存在しないので、
実質的に一つの詳細レコードが1伝票、というイメージになります
ご指摘のように、詳細から伝票を作るとしたら、
1つのレコードの情報をふたつのテーブルにまたがって格納することになってしまいます(取引先や日付は伝票テーブルで、売上内容は明細テーブルなど)
ファイルメーカーはクエリがないのでテーブルをまたいた集計やレポート表示は苦手だと思います
この観点から、テーブルは1つのほうがいいのかな、と思いますがいかがでしょうか?
Offline
実質的に一つの詳細レコードが1伝票ならば、1テーブルのみで処理できるでしょう。それが最も早くて楽です。
1伝票に対して複数明細、というのが普通ですので、この場合には2テーブルに分ける必要があるでしょう。その場合でも、クエリーが無くても、集計の機能を使って、他のテーブルを参照していても、十分な速度で実行可能ですよ。
Offline
Pages: 1
[ Generated in 0.018 seconds, 7 queries executed - Memory usage: 509.03 KiB (Peak: 515.92 KiB) ]