首页 > 解决方案 > SAS 9.3 和 SAS 9.4 左连接排序顺序

问题描述

我正在开展一个 SAS 迁移项目 - 将代码从 SAS 9.3 迁移到 SAS 9.4(SAS 工作室)。在 SAS 9.3 中,来自 SAS 代码的最终 SAS 数据集用于数据仓库,而在 SAS 9.4 中,数据仓库是 Redshift。我们注意到,当我们没有条件或键来控制整个行值时,左连接(sas 到 sas 数据集,sas 到 redshift 表)在 SAS 9.3 和 SAS 9.4 中具有不同的排序顺序。当我们在左连接后通过 PROC SORT 中的键删除重复项时,它会消除不同的记录,因为左连接在重复键中以不同的顺序隐式地对结果集进行排序。结果,PROC SORT 在 9.3 和 9.4 中选择了不同的记录,我们在最终数据集中看到 9.3 和 9.4 之间的数据不匹配。客户不想在 9 中进行任何更改。3个遗留代码来控制记录顺序。因此,我们尝试在 9.3 和 9.4 的左连接排序顺序中查找模式,看起来它们在重复键中随机排序。有人在您的迁移项目中遇到过这个问题吗?这是意料之中的事情吗,因为我从没想过 9.3 和 9.4 中的左连接工作方式不同?

标签: sortingsasdata-migration

解决方案


推荐阅读