背景:标准化数据集属性跨项目
我有我需要规范(PRJ01
- PRJ10
)多个旧项目。每个都存储在它自己的libname下,每个都有大约30个数据集(注意:并非所有的研究都有相同的30个数据集)。
变量名称在项目中保持一致。然而,多年来,已分配给这些变量名的标签和格式已在地方改变 - 例如如下:
属性不一致研究之间:
data PRJ01.users(label='user identifiers') ; attrib USERID label='Username' format=$20. ; run ; data PRJ02.users(label='User Identifiers') ; attrib USERID label='Name of user' format=$15. ; run;
属性中的研究不一致:
data PRJ02.users(label='User Identifiers') ; attrib USERID label='Name of user' format=$15. ; run; data PRJ02.orders(label='Orders') ; attrib USERID label='Name of User' format=$15.) ORDERNO label='Order number' format=8. ; run ;
我已经写了一个程序来报告所有的不一致。但是,我需要为所有项目生成“整齐”的副本,为他们提供一个标准化的结构。我现在的想法是,我应该创建标准变量的数据集如下,我们可以添加和调整,直到我们在那里定义的一切:
data standards ;
attrib USERID label='Username ' format=$20.
ORDERNO label='Order Number ' format=8.
;run ;
问:
从这个standards
数据集,是什么将这些属性应用到哪些变量存在的最佳方式是?
我会将输出数据集写入新的libnames,例如:PRJ01.users
- >PRJSTD01.users
,并且如果在变量长度被截断时有任何变量发生变化,则将错误记录到日志中。
这里的一般方法对我来说似乎很合理。我会以不同的方式完成最后一部分 - 如果为每个任务编写宏并生成宏调用而不是执行所有的datastep代码,那么读起来会更容易 - 但这取决于个人偏好。 – Joe
你好,非常感谢。我几乎期待在星期一这样做!有一个愉快的周末:-) – Bendy
嗨,两个 - 它完美谢谢:) – Bendy