Соответствие двум разнородным наборам данных - PullRequest
0 голосов
/ 29 октября 2019

Я пытаюсь сопоставить два отдельных столбца в двух совершенно разных наборах данных, и я ищу лучший способ добиться этого. Это должно быть не полное совпадение, а частичное совпадение. Я попробовал метод COMPGED, но это заняло много времени, отчасти потому, что нет подходящего условия соединения, я полагаю.

Ниже приведен пример данных из двух наборов данных. Это не фактические данные, но структура похожа

Dataset 1:
Record Count: Approx 1894500

ID     name
124    senatorltd
122    pipelineinc
1034   bellcorp
1934   sachetinc
5463   altd
1928   jokerinc



Dataset 2:
Record Count: Approx 1637500

COMPANYNAME
altd
thousandislandsinc
picturesinc
nellynellycorp
cellbellassoc
neyyorkinc

Цель - попытаться сопоставить имена в двух наборах данных. Я попробовал следующий подход, надеясь, что смогу получить дистрибутив и затем отфильтровать те с compged_vlue = 0, но это занимает слишком много времени из-за перекрестного соединения

proc sql;
CREATE table mylibrary.companynamematching as (
select
    a.id,
    a.name,
    b.companyname,
    compged(a.name,b.companyname) as compged_vlue
from mylibrary.dataset1 as a cross join mylibrary.dataset2 as b
where compged(a.name,b.companyname)<=140
); 
quit;

Я открыт для предложений о том, какрешить это наиболее эффективным способом. Спасибо за любую помощь, спасибо!

...