如何从各种来源管理SAS格式?

时间:2013-09-05 16:58:52

标签: sas maintainability formats

我想知道如何有效地管理SAS中的格式,以便从报告办公室获取来自各种来源的数据,其中一些具有适当的查找表/元数据,而另一些则没有。

对于具有适当元数据的数据源,连接表以获取值描述可以正常工作,但是当元数据不存在且需要单独维护时,应该如何进行?一些直截了当的例子/想法:

  • 具有本机.sas步骤的普通PROC FORMAT文件,单独维护。
  • 单独维护并导入SAS以创建格式库的外部文件(例如Excel,CSV)。
  • 单独维护数据库表,可以从中读取以创建格式库。

除了格式化的值之外,管理价值变化(即证书价值的有效日期)也是一个问题。

非常感谢任何适用于此类任务的公约或标准方面的帮助。

1 个答案:

答案 0 :(得分:1)

我不确定这里有一个最佳解决方案 - 这在很大程度上取决于您的环境,用户等。

如果你有相当天真的用户,那么我绝对建议一个完整的存储库,如果可能的话;如果您使用单个SAS版本/操作系统/位数,或者现成的表/数据集输入到PROC FORMAT(以及用于执行导入的自动执行中包含的.sas文件),那么这是否是.sas7bcat文件。最大的缺点是您必须主动管理它(您不能允许用户将自己的格式写入主格式数据集,例如,因为它们可能会覆盖其他格式),并且还会有其他工作来确保格式化名称不冲突 - YNF.可能是1=YES 2=NO1=YES 0=NO或其他内容。这也不能让您轻松处理有效日期;但它可能对您的用户更好(然后单独处理文档)。

如果您有更多高级用户,那么您可能会考虑一个本质上更具关系性的表/数据集。混合方法可能包括具有列的数据集:

  1. 数据集名称(根据需要确定唯一性)
  2. 格式名称
  3. 开始
  4. 标签
  5. 其他元素(类型,HLO等)
  6. 生效日期
  7. 这将允许用户进行自己的修改(假设您完全信任它们以正确添加数据集名称 - 或者设置存储过程以从检查冲突的临时表进行添加)并允许您处理格式名称冲突。如果需要,您仍然必须让用户有办法使用多个数据集(例如,默认情况下通过向格式名称添加一些唯一元素,例如'数据集ID&# 39。)

    但是,在我看来,最好的选择是使用数据字典来处理元数据,该元数据将自我文档与元数据管理相结合。与上面类似,您有一个包含数据集和格式元素的表,但根据您的用例,添加描述性文本列(例如问题描述)和其他有用信息。这可以在数据库表或数据集中维护,也可以在excel或类似文档中更有用,可以与非程序员共享并轻松编辑。我将这种方法用于多个项目,并且通过允许我的用户帮助编写我的代码文档,保持我的程序准确和最新,同时最大限度地减少来回更新的讨论,我们获得了回报。我只是导入电子表格并在每次运行数据时运行proc格式。

    然后,您可以为每个数据集,一个选项卡或一个包含所有数据集的完整电子表格提供一个电子表格 - 以最容易使用的方式。这很容易处理有效日期'类型问题 - 甚至是版本控制,因为可以在电子表格中处理。