みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
こんにちは。
テーブルAと文章を打ち込んだフィールドがあります。
ここに任意のキーワード500のうち、
どのワードがヒットしているのかを知りたいと考えています。
例えば、
1.まず、テーブルBにkeywordというフィールドを作成し、そこに500キーワードを登録。
2.テーブルAに検索結果を返すための計算式「gaitoukekka」を作成。
patterncount関数と変数を組み合わせて、同フィールドに該当したキーワードを
「aaa,bbb,ccc」などとカンマ区切りで列記する。
というような事は可能でしょうか。
キーワードが少なければ簡単なのですが、複数でしかもあとから変更の可能性もあるので
レコードとして管理したいと考えております。
環境は、winxp、FM11です。
よろしくお願いします。
文章とキーワードをXリレーション
GetValue ( List ( B::キーワード ); Get ( 計算式繰り返し位置番号 ) )
という繰り返し500の計算フィールドを作って、これで文章をpatterncountする
繰り返しフィールドを作る。
Sbstitute ( FilterValue ( Substitute ( テーブルA::フィールド ;[ " " ; ¶ ];[ "," ; ¶ ] ) ; List ( テーブルB::keyword) ) ; ¶ ; "," )
で行けそう。(検証していません)
Offline
Bに計算フィールド(非保存)Case(PatternCount($t;キーワード);キーワード)
文章とキーワードをXリレーション
Let($t=テキスト;Substitute(List(B::計算);¶;","))
これも非保存なので、保存するにはEvaluateを使う。(計算に時間がかかるので、Aにレコードが大量にある状態で定義するのは要注意。)
Traveller様
回答ありがとうございます。
関数リファレンスを調べてはいるのですが、
一度も繰り返しフィールドを使った経験が無いため
今ひとつどのような仕組みを作ろうとしているか分かりません。
もしよろしければご解説頂けますでしょうか。
サンプルです。
余計なおまけを付け足してしまった。
http://pupld.net/21/140529/x4kchilamx/index.cgi
検索語句.fp7
Pages: 1
[ Generated in 0.004 seconds, 8 queries executed - Memory usage: 512.52 KiB (Peak: 517.42 KiB) ]