みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
すみません、基本的なことかもしれませんが、教えてください。
ポータルにあるデータが多すぎて困るので、20件以内に抑えたいのですが、
何か良い方法はありますでしょうか?
選別して標示したいのでしたら,ポータルフィルターを使えばいいでしょう。
Offline
count(ポータルテーブル::フィールドA)<20とポータルフィルターを設定したら、1件も出てこなくなりました
やりかたがまずいでしょうか?
関連明細テーブル側に非保存のGet(レコード番号)の計算フィールドを作って
これでフィルタしてみては?
Offline
明細テーブルで自己リレーションを
現在のキー = 現在のキー
and
レコードID >= レコードID (シリアル番号など、レコード順になれば何でも)
として、このカウントを取るフィールドが20以下。
でいいでしょう。
これはレコードの古い順20が表示されます。
新しい方を表示にするのなら、照合を
レコードID <= レコードID
と逆向きにすればいいですね。
しかし、、
> ポータルにあるデータが多すぎて困る
何が困るのでしょう?
Offline
ありがとうございます
方法については理解できました
ポータル表示件数が多いと処理が重くなりませんか?
別に重くならないと思いますが。
ただ、それの利用の仕方では重くなるケースもあるでしょうが
まずは気にしなくてもいいかと思います。
Last edited by シャチ (2017-01-19 21:37:13)
Offline
遅くなるとすれば、ポータルの中でソートをしているときくらいでしょうか。確かに関連ファイルの中の5万レコードの対象をソートしてポータルに表示するには、10秒ほどかかります。(恐らくインデックスの転送時間)そのレベルですか。
Offline
数百行ですが、たまに固まって数秒かかります
ソートは、仕様上必要です
環境が書いてないけど使用環境にもよりけりだし
ソートキーが計算で非保存だとそうなることもあるかも
その辺りの見直しも必要かもしれませねんね
私の環境では、セキュリティソフトに邪魔されてまともぬ動かないってこともありました。
今は外してますが。。
Last edited by シャチ (2017-01-19 21:37:35)
Offline
ほかの要因を疑ってみましたか?
固まるのがどの場合なのか分かりませんが、
ポータルを削除したレイアウト、
ポータルだけのレイアウト
などで切り分けてみたらいかがでしょう。
Offline
シャチさんとチポさんが指摘されているので余計なお世話っぽくてスンマセン。
ポータルに配置しているフィールドも見直しが必要だと思いますよ。
ポータルに索引ありのフィールドを1個だけ配置したとき
ポータルのソートを設定しないとき
なんてのも比較してみては如何でしょう。
書かれていませんが条件付き書式や[次の場合にオブジェクトを非表示]が設定されている場合は
それらの条件式の中に出てくるフィールドもパフォーマンスに影響します。
いまさらですがバージョンと環境書きましょう。
Offline
計算が非保存のものがあると
ソートキーだけでなくても
ソートするとその都度計算するんで
時間かかりますよ
Offline
勘違いされてたら言い方悪くて申し訳ない。
シャチさん、チポさん、んで私の挙げたものをひとつずつ潰していかないかんという意味です。
間違ってるとかそういう意味ではないです。
Offline
いえいえ かんちがいって・・・
私のは、私の発言の補足です
私の方が勘違いさせたみたい
ごめんなさい
Last edited by シャチ (2017-01-19 21:28:51)
Offline
ソートが必要なら、ソートした後で上から20行ってことですか。
現在のリレーションを必要なソートにして、
LeftValues(List(ポータルテーブルの主キー);20)
を照合フィールドにしたリレーションでポータルを表示する、かな。
皆様
ありがとうございます。
すべて試してみます。
ソートキーの問題の様に思います。
そのソートキーが長文テキスト,とかで無いのでしたら,一度,その対象ファイルを最適化してみては如何でしょう。
Offline
Pages: 1
[ Generated in 0.005 seconds, 8 queries executed - Memory usage: 532.7 KiB (Peak: 553.23 KiB) ]