みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
ExecuteSQL関数でこのようなことが可能でしょうか。
環境:FM14 adv Win7 Pro 64
Aテーブルにレコードが全部で100レコードあるとします。
この全レコードから、「検索」と「レコードの対象外に」などを使い ランダムに50レコードだけを対象レコードとして表示します。
この対象レコードだけの Aテーブル内のあるフィールドの改行区切りリストをExecuteSQL関数をつかって表示する方法はありますでしょうか。
集計フィールドの「一覧」を使用すれば簡単ですが、レコード数が膨大になると計算に時間がかかりますので
ExecuteSQL関数で計算できないものかと思い投稿しました。
ご存じの方がいらっしゃいましたら、よろしくお願い致します。
Offline
対象レコードは現在のウィンドウの情報なので、SQLでは参照できません。
ご回答ありがとうございました。
Offline
解決済みになっていますが...
FileMaker で対象レコードから特定のフィールドの値を改行区切りで取得する場合
集計フィールドの一覧が最もパフォーマンスが高い手段となります。
数十万レコードを一覧で取得する場合は書かれている通り時間がかかりますが
数十万レコードの中から数万レコードを取得する場合は対象レコード数に比例して時間は伸びますが数秒です。
数十万レコードの中から数十レコードに至ってはほぼ一瞬で取得されます。
レコード数が少ないにもかかわらず異常に時間が掛かる場合、取得対象のフィールドに原因があります(非保存など)
Offline
解決済みになっていますが...
FileMaker で対象レコードから特定のフィールドの値を改行区切りで取得する場合
集計フィールドの一覧が最もパフォーマンスが高い手段となります。数十万レコードを一覧で取得する場合は書かれている通り時間がかかりますが
数十万レコードの中から数万レコードを取得する場合は対象レコード数に比例して時間は伸びますが数秒です。
数十万レコードの中から数十レコードに至ってはほぼ一瞬で取得されます。レコード数が少ないにもかかわらず異常に時間が掛かる場合、取得対象のフィールドに原因があります(非保存など)
Mozさん ご回答ありがとうございます。大変勉強になりました。
ついでで申し訳ございませが、このような条件下で「一覧」ではなく、
対象フィールドで「合計」を求めたい場合は、どちらのほうが早くなるのでしょうか。
よろしくお願い致します。
Offline
対象レコードの間違いですかね?
最初にscripterさんも書いて下さっていますが対象レコードという条件が ExecuteSQL には不適です。
集計フィールドと ExecuteSQL で集計を求める場合でも集計フィールドのほうが早いでしょう。
Offline
一覧の集計フィールドを使うより、エクスポートした方が早いらしいですが、本当かな。
そのテストは確かファイルを作成する案件だったんで、リストをFM内で使うにはまたインポートしなくてはいけませんが。
Mozさん
「対象レコードの間違いですかね?」
間違えました。
ありがとうございました。
scripterさん
ありがとうございました。
Offline
Pages: 1
[ Generated in 0.005 seconds, 7 queries executed - Memory usage: 512.05 KiB (Peak: 516.59 KiB) ]