【问题标题】:How do I remove all SAS formats from a sas7bdat table?如何从 sas7bdat 表中删除所有 SAS 格式?
【发布时间】:2014-02-11 18:32:42
【问题描述】:

我有一个包含格式信息的 sas7bdat 表,但我没有格式,因此很多数据显示为 * 并且没有多大意义。我知道下面的信息数据在那里——如何从表格中删除所有格式?

【问题讨论】:

    标签: sas


    【解决方案1】:

    除了@JustinDavies 的回答还有另一种方法是使用PROC DATASETS 过程。

    改编自 SAS 文档:Example 1: Removing All Labels and Formats in a Data Set

    proc datasets lib=<your library> memtype=data nolist;
       modify <your dataset>; 
         attrib _all_ label=' '; 
         attrib _all_ format=;
         attrib _all_ informat=;
    run;
    

    使用PROC DATASETS 的优势在于它会就地修改数据集的元数据 - 即,它不会像该问题的其他答案中所建议的那样创建新数据集。如果您的数据集很大,该功能可能会很有用。

    【讨论】:

    • 谢谢。这可能真的很有用:)
    【解决方案2】:

    以下代码将从表 FORMATTED_TABLE 中删除所有格式并创建一个名为 UNFORMATTED_TABLE 的新表

    data UNFORMATTED_TABLE;
      set FORMATTED_TABLE;
      format _all_;
    run;
    

    【讨论】:

    • @Oops 没有意识到你和提问者是一样的。
    • 值得补充的是,当您没有可用的格式时,您可能需要设置OPTIONS nofmterr; 来读取数据表。
    猜你喜欢
    • 2022-01-27
    • 2011-07-21
    • 1970-01-01
    • 2015-07-04
    • 1970-01-01
    • 2020-02-25
    • 2012-03-15
    • 2012-02-13
    相关资源
    最近更新 更多