代码之家  ›  专栏  ›  技术社区  ›  Simon Nickerson

如何以编程方式获取SAS编码选项?

  •  6
  • Simon Nickerson  · 技术社区  · 15 年前

    我怎样才能找到SAS全球 encoding 以编程方式选择?我能跑 proc options 它会给我答案,但我需要从代码中完成。

    我希望在“查看宏符号和SysEncoding”行中找到一个答案,但这可能太令人期待了。我更喜欢避免像写入外部文件和重新解析这样脆弱的事情。

    2 回复  |  直到 15 年前
        1
  •  7
  •   Martin Bøgelund    15 年前

    您可以在基本SAS中使用getoption函数:

    data _null_;
      val=GETOPTION('encoding');
      put val=;
    run;
    

    在我的系统上,这提供了日志输出

    5    data _null_;
    6      val=GETOPTION('encoding');
    7      put val=;
    8    run;
    
    val=LATIN1
    

    在SCL(SAS组件语言)中,可以使用optgetc和optgetn函数。 有关详细信息,请参阅您的特定版本的SAS系统手册。

        2
  •  3
  •   cmjohns    15 年前

    在SAS 9.2中 &sysencoding 会给你同样的东西 getoption('encoding') 尽管情况不同(简单描述一下 here )

    157  %put &sysencoding;
    wlatin1
    158
    159  data _null_;
    160    val=GETOPTION('encoding');
    161    put val=;
    162  run;
    
    val=WLATIN1