私は名前で一致させたい2つのファイルがあり、圧縮機能を使用してスペル・エラーを考慮したいと考えています。名前は完全に消去されており、検索スペースを減らすために使用できる他の有用な一致変数はありません。SAS proc sqlを使用してファジー・マージ
ファイルname1とname2にはそれぞれ500Kを超える行があるため、11時間後にこのコードは実行されません。
これをより効率的にコーディングする方法はありますか、それとも純粋にコンピューティングパワーによるものですか?
proc sql;
create table name1_name2_Fuzzy as
select a.*, b.*
from name1 as a
inner join name2 as b
on COMPGED(a.match_name, b.match_name) < 200;
quit;
最初に実行して正確な一致を見つけることはできますか?それらを削除して、あいまいな試合を試してみませんか? – Reeza
COMPGEDでsqlにする必要がありますか?私はCOMPLEV(日付ステップで)を使用して "マッチする" 2つの文字列のオッズを計算することに成功しました(通常0は正確なマッチです。私はCOMPLEVがなぜCOMPGEDより優れたソリューションになるのかについてのいくつかの声明を見つけましたが、私は本当の答えを投稿するのに十分な精通していません... http://compgroups.net/comp.soft-sys.sas/complev -vs-compged/1567642 – SMW
"select"の代わりに "select distinct"を使用したいと思うかもしれませんが(この結合からの重複した観測を望む場合を除いて)、おそらく速度が上がらないでしょう。私はReezaに、不完全なものを心配する前に完璧なマッチを取り除くべきであることに同意する。 – superfluous