PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
7189 99/07/19 10:05:16 RE(2):PB5.0.02: タブラ形式のDWにおけるデータ重複チェック -> Find関数で By kagi
7176 99/07/16 15:21:59 RE(1):PB5.0.02: タブラ形式のDWにおけるデータ重複チェック -> Find関数で By Taka
7175 99/07/16 14:25:11 PB5.0.02: タブラ形式のDWにおけるデータ重複チェック方法について By kagi

カテゴリ:スクリプトの記述
日付:1999年07月16日 15:21 発信者:Taka
題名:RE(1):PB5.0.02: タブラ形式のDWにおけるデータ重複チェック -> Find関数で

kagiさん、こんにちは。

>タブラ形式のDWで、表示されているレコードの重複チェック方法で悩んでいます。
>現在、表示されている先頭のレコードから順番に他のレコードとLoop文を用いて
>重複チェックを行っていますが、処理速度がデータ件数に依存する為、レコード
>件数が多い場合、かなり処理が遅くなってしまいます。

>処理速度を速する方法を知っている方がいましたら教えて下さい!!

「処理速度を速する」というよりは、ロジックの問題だと思います。

マルチライン形式の入力において、他の行で同じ値があるかどうかをチェックするには、
Find関数を使うと良いです。この関数は、バッファの中から指定した条件式に該当する行番号を返します。
(パフォーマンスも早いです)

なお、自分の行はチェックしなくて良い場合なら、Find関数を2回実行する必要があるので注意しましょう。
1回目…最初?現在の行?1までを検索
2回目…現在の行+1?最後までを検索

チェックしたい行が先頭行もしくは最終行でしたら、1回だけで済みます。

※ 条件式の中に、「現在の行以外」というのが書ければ良いのですが・・・

付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS Windows NT 4.0
DBMS Oracle SQL*Net 2.3
Browser (記載なし)

Server SoftWare

OS (記載なし)
DBMS Oracle 7.3
WebServer (記載なし)

PowerSpaceの運営は、パワーフューチャー株式会社が行っております。
Copyright © 2013 Power Future Co., Ltd.