Translate

DataSpiderでお手軽に配列でマッチングするみたいな事をする方法

データスパイダーで気軽に配列通しのマッチングを行う方法




DataSpiderで配列のようなマッチングを気軽に行う方法


Excelで、店マスターや、商品マスターシートのような物があって、データにある商品コードや、店コード等から、商品名や、店名を取得したい事がある場合、DataSpiderでFor分を使ってマッチングをさせると、とてつもなく処理に長い時間がかかってしまう。

直ぐに思いつくのが、配列変数のようなものに値を一度セットしてしまい、処理を高速にしたいと思いがちだが.....

DataSpiderの変数には、配列変数というような物が無い為、配列のような物に値を保持したいと思うと、標準の機能だと、下記のようになる。

DataSpiderで、配列チックな変数に値を保持したいと思うと、変数を必要分だけ複数用意して、変数代入コンポーネント内で、値をセットするような事になる。

でも、この方法だと、保持が必要なデータの数が確定していないと、必要な数の変数が特定出来ないし、そもそも、変数を沢山準備するだけでも大変だ。

この方法で、変数に値を設定し、配列通しで値をマッチングするような事をしようとすると、とても途方もない作業になるし、データスパイダーは、For-Loopを使用してIF分で、変数代入や、マッピングコンポーネントを切り替えるみたいにすると、とても処理が遅くなってしまう為、データ量が多いときは実用的で無くなり、とても大変だ。

そのような場合、次に紹介する方法を使用すると、高速且つ、変数の数を気にせずに、配列通しのマッチングが可能だ。

配列に格納したようなマッチングを高速に行いたい場合のデザイン方法


データ上の商品コードなどを高速に置換する方法は、ForコンポーネントとIFコンポーネントを組み合わせて使用するのではなく、マッパー(Mapping)コンポーネント内で、CSVファイルによる置換コンポーネントを使用すれば良い。

この方法だと、DataSpiderでは驚く程変換処理が早い。





今回は、データスパイダーで、SQL等データベース上での容易なマッチングが行えない環境下で、高速にマッチング処理を行う方法についての紹介でした。

このブログの人気の投稿

VBAのADOで「パラメーターが少なすぎます。xを指定してください。」と表示された場合の原因

ACCESSでバーコードスキャンしたら自動でイベントを起こす方法

PostgreSQL 11 でpg_dumpallを使ってバックアップしたデータをリストアするとき文字化けの対処法

ACCESSのVBAを実行するとACCESSが強制終了する事がある

VBSでマクロの実行時に警告を非表示にする方法

ACCESSのVBAでADOを利用したバインド変数を利用したデータベース連携方法

ACCESSでバーコードをスキャンして登録更新する簡単なサンプル

pgAdmin 4が遅いのは仕方がない | PostgreSQL things.

ACCESSのVBAでリストビュー(ListView)を使う為の設定 | Office365

ASP.NETのでクライアント証明書を使ったログイン認証を行う方法