sas - 匹配两个不同的数据集
问题描述
我正在尝试匹配两个完全不同的数据集中的两个单独的列,并且我正在寻找实现这一目标的最佳方法。它不必是完全匹配,也可以是部分匹配。我尝试了 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;
我愿意接受有关如何以最有效的方式解决此问题的建议。感谢任何帮助,谢谢!
解决方案
推荐阅读
- algorithm - How could I determine the worst case in this code?
- r - data.table not reading characters appropriately
- reactjs - TypeScript onClick 预期 0 个参数,但得到 1 个
- mongodb - MongoDB为一致读取设置写关注的最佳实践是什么
- tensorflow - Tensorflow 2.3.0 -> 2.2.0 可比性:ValueError:未知层:功能性
- html - 如何使 svg 文本和绝对定位的 html 文本相同?
- javascript - 如何解决此下拉菜单显示问题?
- realm - Realm Javascript 按日期过滤但忽略年份
- c++ - BeagleBoneBlack 中的 NET-SNMP 版本不正确
- python - 从源代码配置 Python3,以便它可以跨 Linux 发行版使用