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

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

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

You are not logged in.

Announcement

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


#1 2018-02-05 11:49:53

Taichi
Member

レコード比較から差分を抽出

お世話になります。

2つのテーブルで、ある条件に満たしたレコードのシリアルから、
他のテーブルにそのキーが存在しないレコードだけを抽出するために
どのような手順やスプリクトを組めばよろいでしょうか?

テーブル:(2つのテーブル)「本社テーブル」と「工場テーブル」が存在します。


[ 本社TBL ]
シリアル    業務名           課名          作業名         日付 ・・・・

A001      業務A      第一部署     棚卸作業      20XX/XX/XX
A002      業務F      第四部署     棚卸作業      20XX/XX/XX
A003      業務D      第一部署     棚卸作業      20XX/XX/XX
A004      業務B      第一部署     棚卸作業      20XX/XX/XX
A005      業務C      第一部署     棚卸作業      20XX/XX/XX

[ 工場TBL ]
シリアル   測定項目1  測定項目2    日付・・・・・・・

A001       OK                NG       20XX/XX/XX
A002       OK                NG       20XX/XX/XX
A004       OK                NG       20XX/XX/XX

■抽出条件
「本社TBL」の課名=第一部署のもので、そのシリアルが「工場TBL」に存在するレコードだけを抽出。

【最終的に求めたい結果】
簡単にまとめると指定した期間内で「本社TBL」にあって「工場TBL」にないレコードを表示させたいです。
A003     業務D     第一部署    棚卸作業
A005     業務C     第一部署    棚卸作業


調べたところスプリクトで「関連レコードへ移動」が使えるような記事を見つけたのですが、
うまく希望する動きをしませんでした。もしご存知のかたがいらっしゃいましたら
ご教授いただけると幸いです。

Last edited by Taichi (2018-02-05 14:15:49)

Offline

#2 2018-02-05 13:09:43

チポ
Member

Re: レコード比較から差分を抽出

両テーブルをシリアルでリレーション。

手順
工場TBLで
期間で検索
関連レコードへ移動(対象レコードで照合)

本社TBLで
対象外を表示
「第一部署」and期間で絞り込み検索

これでいいのでは。

Offline

#3 2018-02-05 14:25:41

Taichi
Member

Re: レコード比較から差分を抽出

迅速対応ありがとうございます。

早速スプリクト化しました

1.レイアウト切替「工場TBL」
2.検索モード切替
3.フィールド設定[日付;”>=//“]
4.検索実行
5.関連レコードのみ表示;対象レコードの称号;デーブル「工場TBL」;
   使用するレイアウト「工場TBL」
6.レイアウト切替「本社TBL」
7.対象のみを表示

上記の流れで作成したのですが、
1回押すと全てのレコードが非表示になり
もう1度押すと全てのレコードが表示されてしまいます。

又、何度か試行錯誤しているうちに一度「本社TBL」にあって「工場TBL」
にないレコードを表示してくれたのですが、テストでダミーレコードを作成
してテストしたところ上記のようなレコード非表示か全表示に戻って
しまいました。

未熟で申し訳ありませんが、上記のスプリクトでよろしかったでしょうか?
よろしくお願いいたします。

Offline

#4 2018-02-05 14:46:01

チポ
Member

Re: レコード比較から差分を抽出

> 5.関連レコードのみ表示;対象レコードの称号;デーブル「工場TBL」;
   使用するレイアウト「工場TBL」

関連レコードへ移動
   取得元はリレーション先の本社TBL
   レイアウトは本社TBLのレイアウト
   関連レコードのみを表示・現在の対象レコード・・・
ですね。


> 7.対象のみを表示
  対象外のみを表示
です。

Offline

#5 2018-02-05 16:31:20

Taichi
Member

Re: レコード比較から差分を抽出

レスありがとうございます。

ご指摘いただいた箇所を修正して再度実行してみたのですが、
約10,000レコードに対して、400レコードほど表示されました。

表示された400レコード検証したのですが、「本社・工場TBL」の両方に
シリアルがあるレコードで、目的である「本社TBL」にあって「工場TBL」にない
差分のレコードが表示されませんでした。

Offline

#6 2018-02-05 16:59:09

チポ
Member

Re: レコード比較から差分を抽出

リレーションは正確でしょうか?

#3で書かれた、
4の次と
5の次

スクリプト一時停止
を入れてみて、その時点の対象レコードが正確か見てみたらいかがでしょう。

Offline

#7 2018-02-05 20:34:51

Taichi
Member

Re: レコード比較から差分を抽出

ありがとうございます。
一度じっくり見直して検証してみます。

Offline

#8 2018-02-14 16:17:21

Taichi
Member

Re: レコード比較から差分を抽出

お世話になります。

その後、再度手順を見直したところ範囲外のレコードが多いことことから
先に全レコードを比較し対象外を絞り出した後に必要な日付の期間分を
絞り出すスプリクトを組んだところ無事、必要な必要なレコードを抽出
することに成功しました。チポ様のアドバイスや関連レコードのみ表示が
キーになりました。

アドバイスありがとうございました。

Last edited by Taichi (2018-02-14 16:52:43)

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 581.95 KiB (Peak: 604.11 KiB) ]