【发布时间】:2019-01-24 12:08:12
【问题描述】:
我的问题是关于应该具有相同名称/格式/类型/长度变量的两个不同表的附加。
我正在尝试在我的 SAS 程序中创建一个步骤,如果同名变量的格式/类型/长度不同,我不允许执行我的程序。 例如,当在一个表中我有一个类型为字符串“dd-mm-yyyy”的日期时,在另一个表中我有一个“yyyy-mm-dd”或“dd-mm-yyyy hh:mm:ss”。追加后,我们基于这些输入表的日常执行没有按预期工作。由于格式不同,有时值会出现缺失或乱序。
我尝试使用 PROC COMPARE 语句,它允许我检查哪些变量具有不同的属性(类型、长度、格式、InFormat 和标签)。
proc compare base = SAS-data-set
compare = SAS-data-set;
run;
但是,我只获得了有关哪些变量具有不同属性的信息(具有不同属性的公共变量的列表),无法对其做任何事情。
另一方面,我想知道是否有机会获得包含此信息的结构化输出表,以便将其用作控制语句。 创建一个自动任务来完成它会节省我很多时间。
示例截图:
【问题讨论】:
-
如果可能,请显示您的示例输入数据集和示例输出数据集。有人可以帮助你。请不要以代码形式显示数据,因为有人无法试用您的代码。如何显示您的数据的一个示例是在许多 stackoverflow SAS 问题中,这是一个这样的链接。 stackoverflow.com/questions/54334541/…
-
"我试过 Proc COMPARE...",显示你试过的代码。如果您使用的是企业指南,请描述您采取的行动。
-
您将日期和日期时间变量全部混合到一个字符列中。这很好,因为您没有破坏原始数据。我将创建一个新变量,所有日期时间,并映射显示的日期。如果您以文本形式发布示例数据,有人可以提供帮助。
-
@Richard 这就是你的意思吗? (我编辑了帖子)
标签: sas enterprise-guide