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

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

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

You are not logged in.

Announcement

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


#1 2018-04-19 16:44:36

coochan
Member

以前の質問の続き 差集合について

以前質問した続きというか応用で躓いてます。

https://fm-aid.com/bbs2/viewtopic.php?id=7252

Hiro wrote:

質問の真意が錯綜している様なので、
集合の考え方で命題定義するのが宜しいかと!

求める命題は、
【差集合】 A−B ・・・ 集合A から 集合B を引いた集合
・集合Aは、テーブルAの対象レコードの電話番号セット
・集合Bは、外部FMテーブルBの全レコードの電話番号セット

レコード値を一塊のレコード値セット=集合と捉えると、
DB構成やDB処理の大幅な簡素化、効率化が可能となります。

そんな集合的考え方に基づく「ボタン一発処理」のシンプル作例が先のサンプルです。
●「差集合.zip」(内包:ファイルA.fp7、ファイルB.fp7)  → https://yahoo.jp/box/cf64Uv
※サンプルでは、
・外部FMテーブルBをファイルAに仮想T.O.設定して取り込んで、
・あたかも自己内テーブルと同様に扱えるようにしています。
・また、ファイルBを開いておく必要性もありません。

Hiro様が作って下さったサンプルで問題なく利用できてますが、
サンプルではファイルA(電話番号ファイル)とファイルB(排除番号ファイル)が別になっているのを作って下さったのですが、

ファイルを一緒にして テーブルA(電話番号)、テーブルB(排除番号)とし同じようなスクリプトを作って試みたのですがうまくいきません。

どこが間違ってるかわかりません。
ご教授お願い致します。


OS:[win10]
FileMaker Ver:[Pro11]
FileMaker Server 11も利用
現在 コールシステムでファイルメーカーを利用してます。

Offline

#2 2018-04-20 12:54:56

Hiro
Member

Re: 以前の質問の続き 差集合について

coochan wrote:

以前質問した続きというか応用で躓いてます。
https://fm-aid.com/bbs2/viewtopic.php?id=7252

Hiro wrote:

そんな集合的考え方に基づく「ボタン一発処理」のシンプル作例が先のサンプルです。
●「差集合.zip」(内包:ファイルA.fp7、ファイルB.fp7)  → https://yahoo.jp/box/cf64Uv
※サンプルでは、
・外部FMテーブルBをファイルAに仮想T.O.設定して取り込んで、
・あたかも自己内テーブルと同様に扱えるようにしています。

・また、ファイルBを開いておく必要性もありません。

Hiro様が作って下さったサンプルで問題なく利用できてますが、
サンプルではファイルA(電話番号ファイル)とファイルB(排除番号ファイル)が別になっているのを作って下さったのですが、
ファイルを一緒にして テーブルA(電話番号)、テーブルB(排除番号)とし同じようなスクリプトを作って試みたのですがうまくいきません。

『外部FMテーブルBをファイルAに「仮想T.O.」設定して取り込んで』の必要がなくなったので、
単純に、テーブルBを自己ファイルA内に「実体テーブル」として設定するだけです。
また、訂正オブジェクト名が、旧名称を継承していれば、スクリプト内容の修正は必要ないでしょう。

Last edited by Hiro (2018-04-20 13:00:09)

Offline

#3 2018-04-20 16:24:29

coochan
Member

Re: 以前の質問の続き 差集合について

Hiro様ご返信ありがとうございます。
内容修正いらないと思ってたのですが、
スクリプト実行すると
青い○のようなものがずっとくるくるまわっている状態
です。
どこが間違っているかわかりません。。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
排除番号一覧 グローバル
対象番号一覧 グローバル

【リレーション】
テーブルA::排除番号一覧≠テーブルA2::電話番号
テーブルA::対象番号一覧=テーブルA2::電話番号
【値一覧】
排除番号一覧 フィールド値 フィールド:「アポ禁::電話番号」
【スクリプト】
・フィールド内容の全置換[ダイアログなし;新規::対象番号一覧;
Let(
[
$lst=List($lst; 新規::電話番号)
];
Case(Get(レコード番号)=Get(対象レコード数); $lst)
)]
・フィールド設定[新規::排除番号一覧;ValueListItems(Get(ファイル名); "排除番号一覧")]
・関連レコードへ移動[関連レコードだけを表示;テーブル:「新規2」;使用するレイアウト:<現在のレイアウト>]
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

としているのですが、間違ってますでしょうか?
よろしくお願い致します。

Last edited by coochan (2018-04-20 16:25:15)


OS:[win10]
FileMaker Ver:[Pro11]
FileMaker Server 11も利用
現在 コールシステムでファイルメーカーを利用してます。

Offline

#4 2018-04-20 21:44:06

Hiro
Member

Re: 以前の質問の続き 差集合について

文書説明面倒なので、修正版サンプルをアップしましたので、ご覧ください。

●修正サンプル「差集合.fp7」→ https://yahoo.jp/box/6vAUbU

Offline

#5 2018-04-21 17:24:09

coochan
Member

Re: 以前の質問の続き 差集合について

サンプルありがとうございます。

[電話番号]-[排除番号]=[現状の架電番号一覧(テーブルA2::電話番号)]になっているかと思いますが、
【架電リスト抽出】スクリプトを押すと
[電話番号(テーブルA::電話番号)]が整理されるようには出来ないでしょうか?

こっちの都合で申し訳ございませんが、それの方が使い勝手がよくて。。

よろしくお願い致します。


OS:[win10]
FileMaker Ver:[Pro11]
FileMaker Server 11も利用
現在 コールシステムでファイルメーカーを利用してます。

Offline

#6 2018-04-21 22:58:34

Hiro
Member

Re: 以前の質問の続き 差集合について

スクリプト末尾の、現状は無効にしてある //「関連レコードへ移動」
ステップを、単に有効に復帰すれば良いですよ!

この件は、注意コメントをサンプルの2か所に記載してあるのですが......‼

Offline

#7 2018-04-22 09:32:11

coochan
Member

Re: 以前の質問の続き 差集合について

Hiro様 ありがとうございます。
Hiroさまのサンプルですともちろんですが全く問題なく作動します。

サンプルを元に自分のFMに当て込むと出来ません。。。

まず
排除番号一覧に値がありません。

スクリプト
・全置換
・フィールド設定
・関連レコードへ移動
3つに分けてそれぞれで検証しました。

・全置換 → できてます。
・フィールド設定 → 青い○がくるくる回ってる。※おそらくここが間違ってる?
・関連レコードへ移動 → 移動はするが排除番号に値がないため対象番号がない。

何が間違っているかわかりません。
よろしくお願い致します!!


OS:[win10]
FileMaker Ver:[Pro11]
FileMaker Server 11も利用
現在 コールシステムでファイルメーカーを利用してます。

Offline

#8 2018-04-22 12:21:52

Hiro
Member

Re: 以前の質問の続き 差集合について

> フィールド設定[新規::排除番号一覧;ValueListItems(Get(ファイル名); "排除番号一覧")]  ※おそらくここが間違ってる?
この関連要素を切り分けてそれぞれ動作検証して診てください。
・フィールド指定「新規::排除番号一覧」は正しいか?
・新テーブルB::電話番号の値一覧「排除番号一覧」は動作しているか?新テーブルBの設定は正しいか?
・ValueListItems関数の設定内容は正しいか?

Offline

#9 2018-04-23 00:35:06

coochan
Member

Re: 以前の質問の続き 差集合について

検証しました。
結果、排除番号が53万件あって
それを読み込むのに非常に時間がかかってただけでした。。。

時間にすると14分。
これ一瞬にする短縮方法ありませんでしょうか?
非効率すぎて実用化が難しそうです。
よろしくお願い致します


OS:[win10]
FileMaker Ver:[Pro11]
FileMaker Server 11も利用
現在 コールシステムでファイルメーカーを利用してます。

Offline

#10 2018-05-02 17:40:28

coochan
Member

Re: 以前の質問の続き 差集合について

上記の件ですが、難しそうでしょうか?
よろしくお願い致します。


OS:[win10]
FileMaker Ver:[Pro11]
FileMaker Server 11も利用
現在 コールシステムでファイルメーカーを利用してます。

Offline

#11 2018-05-03 02:48:56

Hiro
Member

Re: 以前の質問の続き 差集合について

#9 coochan wrote:

検証しました。
結果、排除番号が53万件あって
それを読み込むのに非常に時間がかかってただけでした。。。
時間にすると14分。
これ一瞬にする短縮方法ありませんでしょうか?

こんな根本的問題を、こんな気楽に後出しされても!!言葉がありません!

マス・レコード処理を意図した新規作案サンプルをアップしましたので、
設定説明代わりに、ご覧ください。非常にシンプルな作りです。
●新規サンプル「差集合v2.fp7」→ https://yahoo.jp/box/PeccsR

Offline

#12 2018-05-03 11:04:31

Shin
Member

Re: 以前の質問の続き 差集合について

そのブラックリストの更新は、どのくらいのペースであるのですか。ホワイトリストを作り、その更新に合わせて更新していけば、ごく簡単な話です。

Offline

#13 2018-05-04 16:46:29

coochan
Member

Re: 以前の質問の続き 差集合について

Hiro様
サンプルありがとうございます。
以前よりは速くなりました!
電話番号テーブルの番号が多いとやはり少し時間かかりますね。

でも使えそうです!!
ありがとうございました!!

Shin様
鼻っからホワイトリストを作る手事ですね!
ただ、毎日更新するので少し手間かもしれません。
貴重なご意見ありがとうございます!


OS:[win10]
FileMaker Ver:[Pro11]
FileMaker Server 11も利用
現在 コールシステムでファイルメーカーを利用してます。

Offline

#14 2018-05-05 11:31:35

Shin
Member

Re: 以前の質問の続き 差集合について

単純な絞り込み検索でいけそうです。
https://www.dropbox.com/s/e79shyv1p0bnd … 7.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.009 seconds, 9 queries executed - Memory usage: 610.41 KiB (Peak: 627.32 KiB) ]