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

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

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

You are not logged in.

Announcement

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


#1 2016-10-18 18:23:42

前後不覚の初心者
Guest

重複のないリス抽出

OS:[windows10 ]FileMaker Ver:[pro15 ]
いつも大変興味深く、読ませていただいています。

さて今回以下のようなデータから、特定のデータリスト化する必要が生じています。

(元テーブル)
年、月、製品名、ロット、個数

(集計リストテーブル)
ヘッダ===
年(グローバル)
月(グローバル)
製品名(グローバル)
ボディ===
(ロット)(個数集計)

元テーブルより年、月、製品名がヘッダの年、月、製品名の全てが一致しているレコードから
ロットを集計リストテーブルに反映させれないかと思っています。

〇データのインポートで対応してみましたが、うまくいっていません。

お知恵を貸していただけませんでしょうか。

#2 2016-10-18 19:05:02

旅人
Member

Re: 重複のないリス抽出

同一製品名のロットの種類は何種類あるのですか。

Offline

#3 2016-10-18 19:21:52

前後不覚の初心者
Guest

Re: 重複のないリス抽出

20程度になります。

#4 2016-10-19 00:12:43

Shin
Member

Re: 重複のないリス抽出

元テーブルで、年、月、製品名で検索して、ロット番号をキーにして集計するだけ。

Offline

#5 2016-10-19 09:13:25

チポ
Member

Re: 重複のないリス抽出

さらに、、

小計パートを
年、月、製品名、ロット
と4つ作り、その順でソートすれば、
以後はノータッチで常に集計が表示されますよ。

Offline

#6 2016-10-19 09:16:34

旅人
Member

Re: 重複のないリス抽出

グローバルフィールドの値を変えて、別テーブルで集計表示したいのではないのかな。

Offline

#7 2016-10-19 10:57:18

前後不覚の初心者
Guest

Re: 重複のないリス抽出

書き方が悪かったですね。申し訳ありません。

趣旨としては、グローバルフィールドの値により、集計結果をもれなく出すということになります。

元テーブル
(年)(月)(製品名)(ロット)(個数)
(2016)(10)(製品A)(101-1)(100)
(2016)(10)(製品A)(101-2)(100)
(2016)(10)(製品B)(201-1)(100)
(2016)(10)(製品A)(101-1)(100)
(2016)(10)(製品B)(202-1)(100)

に対して
グローバルで2016.10.製品Aを選ぶと
101-1 200
101-2 100
グローバルで2016.10.製品Bを選ぶと
201-1 100
202-1  100

抽出してこれる形にしたいのです・・・

#8 2016-10-19 11:52:44

Hiro
Member

Re: 重複のないリス抽出

そうではなく、知りたいのは、
集計結果の表示方法は、
・a.自己テーブルでなく、b.別テーブルに表示したいのか?
・c.ポータル参照レコードでなく、d.実体レコードの動的一覧表示なのか?

恐らくご希望は、b.+d.かと思われますが、実は一番面倒です。
この場合、全件削除&クリーンインポートが一般的ですが、最近はバーチャルリストの手法もあります。

また、集計の方法は、集計レイアウト法とリレーション集計法とがあります。
・集計レイアウト法は簡便ですが、a.+d.のみに有効です。
・対して、リレーション集計法は多少面倒ですが、全ケースについて有効です。

Last edited by Hiro (2016-10-19 12:30:30)

Offline

#9 2016-10-19 11:56:28

チポ
Member

Re: 重複のないリス抽出

そうした後、
最終的に何をしたいのでしょう?

書かれたことなら、1テーブルで充分出来ます。
2テーブルにするメリットは全く感じませんが。。

Offline

#10 2016-10-19 12:24:38

旅人
Member

Re: 重複のないリス抽出

>特定のデータリスト化する必要が生じています。
リスト表示という意味なら違うけど
元データで年、月、製品名、ロットで自己リレーションすると
各レコードに年、月、製品名、ロットごとの合計個数が出ます。
これをポータルフィルタで重複しないようにしてポータル表示
するのが一番楽かも知れません。1、2テーブルどちらでも可。

Offline

#11 2016-10-19 12:57:13

前後不覚の初心者
Guest

Re: 重複のないリス抽出

ご推察の通り、希望はb+dです。

で、現状はインポートでなんとか対応できないか・・・という思いが非常に強いです。

グローバルフィールドの製品、年、月と一致するものだけをインポートする。

というやり方がうまくできませんでした。

2テーブルにする理由は特にないのですが、特定データだけをインポートするという
やり方が最初に思いついたためです。

#12 2016-10-19 13:14:38

旅人
Member

Re: 重複のないリス抽出

インポートして重複を無くする方法は、元データが増えるので
その都度インポートする必要があり結構面倒ですし、レコードが
増えるとインポートに時間もかかります。

ポータル表示を使ったサンプル。
リレーションが分かりやすいので別テーブルにしてみました。
年は無視、1月と2月しかありません。
(アップしたらファイル名が変になってます。)
http://pupld.net/21/161019/qms3hqgdjk/index.cgi   
示.fmp12

Offline

#13 2016-10-19 13:27:06

Shin
Member

Re: 重複のないリス抽出

グローバルフィールドで条件を設定して表示するならば,別テーブルにする必要性は無いでしょう。インポートとレコード削除の繰り返しは,ファイルのフラグメントを増加させ,トラブルの物になります。
ごく簡単な集計機能でのサンプルです。これで十分なのでは。
https://www.dropbox.com/s/w4disg6rnfkz4 … 7.zip?dl=0

Offline

#14 2016-10-19 13:38:24

Hiro
Member

Re: 重複のないリス抽出

別テーブルに実体レコードで動的一覧表示するためには、動的な仮設レコード作成(クリーン・インポートによる)が必須となります。

しかし、b.+d.必須のクリーン&インポートは、DB負荷も大きくまたフラグメント不良の原因となることもあり、
ど~せ一過性の仮設レコードのためになら、関連レコードでのポータル一覧参照(b.+c.:#10旅人さん案)
でも同じ効果が出せるので、b.+d.はお勧めできません。
それでも、どうしてもの場合は、バーチャルリスト法の方が良いかな?

Last edited by Hiro (2016-10-19 14:43:25)

Offline

#15 2016-10-21 19:11:34

前後不覚の初心者
Guest

Re: 重複のないリス抽出

ありがとうござました。

アップしていただいたDBを元に、改良を加えて完成しました。

ありがとうございました。

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.020 seconds, 7 queries executed - Memory usage: 530.69 KiB (Peak: 551.59 KiB) ]