【问题标题】:Proc Datasets ERROR 22-322: Expecting a nameProc 数据集错误 22-322:需要一个名称
【发布时间】:2017-10-20 20:07:08
【问题描述】:

我遇到的问题与以下帖子基本相同:Proc Data sets argument error- Error 22-322 expecting a name

但答案并没有解决我的问题。

%let _EFIERR_ = 0; /* set the ERROR detection macro variable */

libname indata "E:\el30053_54_55\el30053-postprocessor\output\files";

/* Format HYPO1001 variables */

PROC datasets library=INDATA;

MODIFY INDATA.hypo1001

/* Format section. */

format HYPOR1;


/* Should not need to edit anything below. */
run;
quit;`

基本上,我在库 INDATA 中有几个数据集。其中之一称为hypo1001。底线,我需要重命名数据集中的一些变量,但重命名语句不起作用,因为有一些变量格式无效。所以现在我正在尝试修复格式,但它似乎不起作用。据我所知,我的语法是正确的,但我对 SAS 的经验非常有限,通常不会超出将 xpt 文件转换为 SAS 格式的范围。

我在日志中收到以下错误:

错误 22-322:需要一个名称。

错误 201-322:该选项无法识别,将被忽略。

【问题讨论】:

  • Expecting a name 错误非常非常经常缺少分号。您有一个不以分号结尾的modify 语句。
  • 谢谢,我错过了,但我仍然收到添加分号的相同错误消息。
  • INDATA. 是 libref,而不是成员名称的一部分。

标签: sas


【解决方案1】:

您用于定义库的 libref 不应包含在您在 MODIFY 语句中使用的成员名称中。试试这个例子:

data class; set sashelp.class; run;
proc datasets nolist lib=work;
  modify class ;
    format name ;
  run;
quit;

【讨论】:

  • 是的,我最终弄明白了。感谢大家的帮助!
猜你喜欢
  • 1970-01-01
  • 2017-05-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-24
相关资源
最近更新 更多