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

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

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

You are not logged in.

Announcement

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


#1 2017-01-15 11:54:55

Korokun
Guest

変数を使ったポータル内検索について宜しくお願い致します。

Win8 、FM13Ad

   宜しくお願い致します。ほぼ初心者です。多の方と似たような質問で申し訳ありません。
(他のも拝見致しましたが、どうも良くわかりません・・・・・)

200~300文字程度の文章(内容は、専門的なコメントなどです。)が入ったフィールドのあるレコードが、2万件ほどあります。
この文章フィールドを、
    任意の検索キーワード($キーワード など)で検索して
                       ポータルに表示したいです。
しかしただ、1つのキーワードの検索結果の表示では無くて、
例えば$キーワード1、$キーワード2、$キーワード3 の3つで、
検索してそれぞれの結果を、1つのレイアウト上の3つのポータルに同時に表示して比較出来ればと思います。
($キーワード1 での結果をポータル1に、$キーワード2での結果をポータル2に、$キーワード3での結果を、ポータル3に)

  以前、ファイルメーカー コミュニティで、
     ”ポータル内を検索し、該当のみポータルに表示”のところで、
Hiro様が、
     定型的な検索で、検索キーワードだけ任意指定するもの。
     この場合は、キーワードフィールドを引数にした検索条件式をポータルフィルターの計算式に設定します。
     例えば、東京都内の得意先を表示する基本ポータルで、住所に「千代田」を含む得意先だけをフィルタリングして表示するなら、
     条件式は、(キーワード フィールドは「千代田」と入力)
        Case(
        IsEmpty(キーワードフィールド); 1;
         PatternCount(ポータルテーブル::住所; キーワードフィールド)
                                )

    と教示されておりまして、この様なことが応用できれば、可能では?と思っておりますが・・・・・???
    現在のわたくしには、不可能です。

どなたか、可能でしたらどうぞ宜しくお願い致します。

#2 2017-01-15 12:42:02

Hiro
Member

Re: 変数を使ったポータル内検索について宜しくお願い致します。

考え方は、その方法で行けると思います。
このフィルターポータルを3つ設置すれば良いわけですネ。

但し、今回は重たそうな処理事案なので、フィルター条件式を最適化した方が良いかな?
・キーワードが未入力は表示しない。全レコード表示は重たいので。
・PatternCountは全文照合なので、Positionに替えて最短照合で効率化を図る。
・詰まる所の改善式は、(第1ポータルのフィルター式)

   Position([X]ポータルテーブル::コメントフィールド; キーワード①フィールド; 1; 1)

Last edited by Hiro (2017-01-15 12:49:48)

Offline

#3 2017-01-15 16:09:20

シャチ
Member

Re: 変数を使ったポータル内検索について宜しくお願い致します。

いきなりポータルで絞り込むのではなく一般的な検索機能を使って検索をし
その結果をポータルに表示するということではダメなんでしょうか?
部分一致のリレーションは短い単語ならな可能ですが
長くなると、難しくなります。
それに、複雑な検索をする場合もあるかともいますが
そういった場合には検索をした上で、その結果をポータルに表示するということも一考かと思います。

私の提案は、
1:検索結果をポータル表示するためのタイムスタンプを入れるフィールドを作る
2:検索結果をポータル表示するためのキーフィールドを作る
3:検索した状態で 2のフィールドに タイムスタンプを書き込む
4:1のタイムスタプのフィールドにたいして上の3のフィールド値を使って全置換する
以上でポータルに表示されるようになります。

この方法は、
http://yahoo.jp/box/goXNmR
の中にある
ポータルフィルター事例・補足  V2.fmp12
に簡単な方法があ書かれています。
こんな方法もあるというレベルでご覧いただければ幸いです。

Last edited by シャチ (2017-01-19 21:43:26)

Offline

#4 2017-01-15 19:01:44

korokun
Guest

Re: 変数を使ったポータル内検索について宜しくお願い致します。

Hiro様

  早速の、ご連絡大変有り難うございます。
グローバルフィールドに、検索語を入れて、
Hiro様の、式をポータルフィールターに入れて、表示させてみました。
最初は、うまく表示されましたが、検索語を入れ直すと、ポータルにうまく表示されません。
(表示が、変わりません。)

ほぼ、素人で申し訳ありません。
どのようにしたら、宜しいでしょうか? もし可能でしたら、宜しくお願い申し上げます。

#5 2017-01-15 19:05:32

Korokun
Guest

Re: 変数を使ったポータル内検索について宜しくお願い致します。

シャチ様

ご連絡、大変有り難うございます。
ご指摘のような方法も有るのですね。勉強させて頂きます。
これより、ダウンロードしまして、勉強をと思います。

大変有り難うございました。

#6 2017-01-15 23:21:26

Hiro
Member

Re: 変数を使ったポータル内検索について宜しくお願い致します。

> #4 最初は、うまく表示されましたが、検索語を入れ直すと、
    ポータルにうまく表示されません。(表示が、変わりません。)

キーワードフィールドがグローバルフィールドのため索引が取れず、
式の更新再評価が自動発火しないためです。
そのため、OnObjectExitトリガで「ウインドウ内容の再表示」スクリプトを掛け、
強制的に式の更新再計算をするようにしてみて下さい。

Offline

#7 2017-01-16 21:54:10

korokun
Guest

Re: 変数を使ったポータル内検索について宜しくお願い致します。

Hiro様

  大変有り難うございました。
お陰様で、実装出来ました。
ただ、同じようにポータルを3つ配置すると、3つめは、かなり遅くなってしまします。
これを、回避するには、
シャチ様の方法を、3番目のポータルには導入した方がbetterでありましょうか?
お時間が有りますれば、どうぞ宜しくお願い申し上げます。

#8 2017-01-16 22:03:24

シャチ
Member

Re: 変数を使ったポータル内検索について宜しくお願い致します。

ポータルフィルターは、単一条件であればそんなに重くなることはないと思うのですが
条件が複雑になると、計算をすることになるので、重くなるかもしれません。
私の提案は、計算はつかわないのでそんなに重くなることはないかと思います。
現実には、お使いになる方がどう思われるかだと思います。
ポータル表示したあと処理で、集計などをするとなると面倒になる可能性が高いので
そういった場合は、私の提案の方が処理は楽だとは思います。
この点は、紹介した私のファイルを解凍した中にある
説明書をお読みいただくと、ポータルフィルターの苦労が分かってもらえるかもしれません。

Last edited by シャチ (2017-01-19 21:44:17)

Offline

#9 2017-01-16 22:40:32

korokun
Guest

Re: 変数を使ったポータル内検索について宜しくお願い致します。

シャチ様

早速のご連絡、大変有り難うございます。
現在、実装すべく奮闘中で有ります。とても難しいです!?
(ご苦労の程、お察し申し上げます。 私のような、初心者のために大変有り難う存じます。)
  また、分からないこと等、ご質問をと存じます。

今後とも、どうぞ宜しくお願い申し上げます。

#10 2017-01-16 22:58:53

Hiro
Member

Re: 変数を使ったポータル内検索について宜しくお願い致します。

貴方が要求する作業内容がそれだけ重い事をさせているという事かと!
この動作結果を受けて、今度は貴方の要求の方で改善する余地はありませんか?

シャチさんの方法も定石的一法ですが、「検索+全置換+ポータル表示」作業が必要なので速さの観点では実際どうでしょうか?
また、今回の3連のポータル表示で重複表示レコードがある場合の対策が面倒かな?

Offline

#11 2017-01-16 23:08:04

korokun
Guest

Re: 変数を使ったポータル内検索について宜しくお願い致します。

Hiro 様

ご連絡の程、大変有り難うございます。
ご指摘のこと、検討し改善して行きたいと存じます。
勉強させて頂きます。

今後ともご指導の程を何卒宜しくお願い申し上げます。

#12 2017-01-16 23:37:08

Hiro
Member

Re: 変数を使ったポータル内検索について宜しくお願い致します。

終わってますが、改善案の提案で、
2万件のレコードを幾つかの検索グループに分けることが可能なら、
今回必要な検索グループに絞り込んだポータルにフィルターを掛ければ大幅なスピード処理が可能です。
例えば、2万件を3グループに分けるだけでも、現状の1ポータルフィルター処理に要する時間で済みます。

Offline

#13 2017-01-17 00:45:34

korokun
Guest

Re: 変数を使ったポータル内検索について宜しくお願い致します。

Hiro様

ご連絡の程、大変有り難うございます。
常々他の、トピックにおきましても、
Hiro様の、懇切丁寧な対応に感服致しております。
(日々、Hiro様の投稿を楽しみに拝見致しております。)

この度の、
Hiro様の、新たなご提案を早速勉強させて頂きます。有り難うございます。
(何分、素人故に、理解が不十分でトンチンカンと思います。またご質問をと思います。・・・・申し訳ありません。)

今後とも、ご指導の程を宜しくお願い申し上げます。

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.006 seconds, 7 queries executed - Memory usage: 553 KiB (Peak: 573.91 KiB) ]