過去の桐井戸端BBS (桐ver.9)
30351 レコードを確定したとき再計算をさせない方法はありますか matsui 2005/07/01-03:07
お世話になります。

レコードが確定すると自動的に再計算されますが、これを再計算させない方法はありますか。

レコード件数が多いうえ計算項目も多いためだと思うのですが、項目置換するのに非常に時間がかかります。
ただ「""」という未定義値に置換するのさえ数分かかってしまいます。
おそらく1レコードごとに再計算しているためじゃないかと推測しています。
何項目も置換するときは後でまとめて再計算させたいのです。

なにかアドバイスお願いします。

30355 Re:再計算をさせない方法はありますか うにん 2005/07/01-09:14
記事番号30351へのコメント

>何項目も置換するときは後でまとめて再計算させたいのです。

置換の計算式で
[A]="",[B]="",[C]=""
カンマで区切って複数一度に置換すれば後でまとめてする必要ありません。

30357 Re:再計算をさせない方法はありますか ONnoji 2005/07/01-09:25
記事番号30351へのコメント
matsuiさん

桐のバージョンはなんでしょうか?

桐ver.8 / 桐ver.9 / 桐ver.9-2004 それとも 桐ver.5 ???

ひょっとしてですが…
項目計算式に #表引き( )関数を使用していませんか?

もしも、#表引き( )関数で相手の表( .tbl )の索引を利用できない場合、
索引を利用できる場合と比べるとパフォーマンスは圧倒的に悪いですよ。


30359 Re:再計算をさせない方法はありますか アックン 2005/07/01-10:21
記事番号30351へのコメント
matsuiさん、こんにちは。

>おそらく1レコードごとに再計算しているためじゃないかと推測しています。
そのとおりで、項目置換すると表示中の全レコードを再計算します。
このとき、項目計算式を設定している項目はすべて再計算します。
一部の項目だけを再計算させることはできません。

再計算が遅い原因と対策について
a)削除行がたくさんあるときは、[表整理]をしてください。
b)項目計算式に表引き関数を設定しているときは、
式中に索引を設定してないときは、設定してください。

>ただ「""」という未定義値に置換するのさえ数分かかってしまいます。
レコード数はどのくらいあるのですか?
項目計算式を設定している項目の数は?
どのような式を書いていますか?

マシンの性能(CPUとメモリ)は?

そういった情報を提供してもらえると、推測しやすいですよ。

アックン(=^・^=)
30363 Re:再計算をさせない方法はありますか matsui 2005/07/01-15:03
記事番号30355へのコメント
うにんさんアドバイスありがとうございます。

>置換の計算式で
>[A]="",[B]="",[C]=""
>カンマで区切って複数一度に置換すれば後でまとめてする必要ありません。

カンマで区切る方法は知りませんでした。数項目のデータを消すときは
役に立ちそうですね。ありがとうございました。


30367 Re:再計算をさせない方法はありますか matsui 2005/07/01-15:43
記事番号30359へのコメント
ONnojiさん、アックンさんさんコメントありがとうございます。

>桐のバージョンはなんでしょうか?

桐ver.9です。

>項目計算式に #表引き( )関数を使用していませんか?

私も表引きは時間がかかるので併合でデータを引っ張ってくるようにしています。
その併合もすごい時間がかかってしまいます。索引も利用しています。

>マシンの性能(CPUとメモリ)は?

CPUはDuron 1GHz、メモリは512MBです。

実は競馬の予想に使っていまして、その馬の過去の数レース分を併合したり、
そのレースに出走する馬を様々な指数順に並び替えて順位を置換たりしています。
その日1日分だけならそれほど時間がかかりませんが、思いついた必勝法?の
計算式を過去のレースにあてはめて検証するのはすごい量になってしまうのです。
3年分で出走馬のデータが約13万件、また過去のレースの成績データが17万5千件で
その他のファイルも多数ありますし毎週どんどん増えていきます。
ファイルサイズも512MBを超えるときがあり、1年分や数ヶ月分に分けたり、
アンドゥを無効にしたり、表整理もこまめにやっています。
計算式は思いつきでいろいろやっているのでかなり複雑、かつ無駄な計算をしていると思います。
なにせまだまだ開発途中なもので。

複数の表から併合したり、複数の項目を並び替えて置換するのでとりあえず
データだけ併合や置換をして最後に再計算できたら効率的だと思ったのです。
桐9では手動で再計算なんて機能はないようですね。
ぜひ桐10ではファイルサイズの拡大と手動で再計算できるようにしてもらえると
効率がアップすると思います。


30372 Re:再計算をさせない方法はありますか 尾形 2005/07/01-16:26
記事番号30367へのコメント
すげぇ (@_@)
勝率はどうですか
そういうデータって価値がありそう

30375 Re:再計算をさせない方法はありますか matsui 2005/07/01-17:30
記事番号30372へのコメント
尾形さんへ

単勝の勝率はかなりいいです。
3連複、3連単はまだまだ絞り込めません。

今では桐の予想に頼って単勝ばかり買っています。

30378 Re:再計算をさせない方法はありますか アックン 2005/07/01-18:11
記事番号30367へのコメント
matsuiさん
表の項目計算式を設定しておかないで、
併合や並べ替えを行った後に、
一括処理で一気に置換すればどうですか。

一括処理のコマンド
置換 [A]="○○" , [B]=#○(○○) , [C]=[A]+[B] , ・・・

30391 Re:再計算をさせない方法はありますか matsui 2005/07/01-22:31
記事番号30378へのコメント
アックンさんへ

今もなるべく計算式のない表にデータを書き出したり、いろいろやっては
いるのですが、なにせ何となくの思いつきなどで表を作ったり計算式を
組み込んだりしているもので・・・

とりあえず明日からの競馬がんばります。

30747 Re:再計算をさせない方法はありますか V30 2005/08/07-10:25
記事番号30359へのコメント
>>おそらく1レコードごとに再計算しているためじゃないかと推測しています。
>そのとおりで、項目置換すると表示中の全レコードを再計算します。
>このとき、項目計算式を設定している項目はすべて再計算します。
>一部の項目だけを再計算させることはできません。

レコードで確定とか、再計算するにチェックは、その行だけ再計算だと思いますが。
例えば、挿入するとする。そのレコードが確定するとする。
そのレコードしか再計算しないはずですが。

戻る