みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
いつもお世話になっています。
FMS15、FMP15、Win7(Macも)の環境です。
現在19000レコードあるデータをリスト形式で表示させているのですがスクロール中に何度も止まります。
リレーションで他のテーブルから引っ張っているフィールドもあったので、作り直して数字及びテキストに
変更して、データ更新時にスクリプトで値を書き換える方法に変えました。
多少はマシになったものの、まだまだ動きが悪く改善したいのですが全く原因がつかめない状態です。
データの内容は下記の内容で下記が1レコードに入っています。レイアウト変更のスクリプト時に
登録日でソートしています。
登録日→日付(索引設定済)
管理番号→同テーブル内での計算(日付&連番)
部署→同テーブル内での計算(数字で入力した部署IDに対してcase関数で日本語表示)
区分→同テーブル内での計算(数字で入力した区分IDに対してcase関数で日本語表示)
顧客名→テキスト(顧客ID選択時にスクリプトで顧客名を挿入)
ステータス→同テーブル内での計算(数字で入力したステータスIDに対してcase関数で日本語表示)
商品名→テキスト
型番→テキスト
金額→数字
備考→テキスト
担当1→計算(社員ID(数字)でリレーションしている社員マスタから名前)※非保存
担当2→計算(社員ID(数字)でリレーションしている社員マスタから名前)※非保存
これだけの情報では難しいかと思いますが
何か原因となるような事が予測出来ますでしょうか?
Last edited by nori (2017-04-05 21:43:40)
Offline
データの置き換えをされたようですが、
結果的に非保存のものがあ理、計算式も絡んでいるので
大きな改善は見られないのではないかと思います。
閲覧寿都にあたってのデータは、完全にテキストや数字に置き換えてやらないと
もしくはなんらかの形で索引を作ってやらないと
都度計算に入ったりするので、どうしてもスクリールには時間がかかったりします。
ということで
表示しているフィールドの状態をじっくり見直す必要があるかもしれませんね。
計算フィールドをテキストや数字にして
入力値の自動化を使うのも一考かもしれません。
Offline
シーラカンス様
ありがとうございます。
同一テーブル内の計算式は計算結果を保持している認識だったのですが、スクロールで表示される際に
再計算しているのでしょうか?
また、レイアウトには配置しておりませんが同一テーブル内に集計用の計算フィールドも多数あるのですが、
レイアウトに入れていないフィールドの計算も裏で行なっているのでしょうか?
宜しければご教示頂けると助かります。
Offline
> 部署→同テーブル内での計算(数字で入力した部署IDに対してcase関数で日本語表示)
同テーブル
と書かれていますが、一つのレコード内で完結しているのでしょうか?
他のレコードを参照しているのならそれが同テーブルか、
他のテーブル、他のファイルのテーブルかは同じようなものでしょう。
「部署」ですからそんなことは無いでしょうが、、
これが他のレコードの同じフィールドを参照している様な場合、
参照の連鎖でとても大きな計算をすることになります。
Offline
チポ様
お世話になります
わかりにくい表現で申し訳ありません。
元々は別のテーブルとリレーションさせていたのですが、動きをよくする為に同一レコード内で完結させてあります。
部署も頻繁に変動する数ではないので同一レコード内でも問題ないレベルでしたので
それと大変お恥ずかしい話ですが、自己解決致しました。
シーラカンス様のご指摘通り1つ1つのフィールドを見直した所、条件付書式の条件に他テーブルのリレーションを
使った計算式(IsEmpty)が含まれておりました。初歩的な部分を見落としておりました申し訳ありません。
また何かあれば質問させて頂きますのでよろしくお願い致します。
Last edited by nori (2017-04-06 09:56:46)
Offline
その程度の規模で遅くなるのは,通常は有りませんね。条件付書式についてはその式の内容によっては時間がかかるかもしれませんが,それ以外は単に参照しているだけですので,影響はごくわずかだと思います。
一度,全部のファイルを最適化保存をして、置き換えてみてください。劇的に改善する可能性があります。
それと、19000レコードを一覧させる必要があるか,検討してみられれば良いのでは。最新の物の一部に表示で良いのでは。
Last edited by Shin (2017-04-06 10:57:20)
Offline
Shin様
お世話になります
アドバイスありがとうございます。最適化保存というものをやった事がないのですが下記の内容で相違なかったでしょうか?
ファイル本体がFMSにある場合は「名前を付けて保存」が選択出来ないので、一旦FMSのファイルを閉じてファイルを
ローカルに落とし、FMPで開いて最適化保存してFMSに戻す という流れでしょうか?
もし手順が違う場合は教えて頂けると助かります。
http://www.filemaker.com/help/12/fmp/jp … .40.4.html
Offline
作業手順としてはそれがいいです。ファイルを戻す時には、アップロードするのでしたら不要ですが、コピペするのでしたら、ファイルのアクセス権の設定を確認する事を忘れずに。
が、私は面倒なので、FMS と別に FM をインストールしておいて、FMS を閉じておいて、そのサーバー機の中でやってしまったり、リモートからそのディスクを一時的にマウントできる様に設定変更して、外部のアプリケーションから行ったりしています。この場合も、ファイルのアクセス権の設定を確認する事を忘れずに。
Last edited by Shin (2017-04-07 10:20:34)
Offline
Shin様
ありがとうございます。今晩やってみます
Offline
Pages: 1
[ Generated in 0.006 seconds, 10 queries executed - Memory usage: 567.83 KiB (Peak: 573.08 KiB) ]