SAS(大学版),Proc SQL错误涉及create table中的where语句

时间:2016-05-21 08:02:33

标签: sql sas proc-sql

所以,我在下面列出了我输入的代码和我收到的错误。我在学校的计算机上使用普通的SAS做了这个,但现在我正在使用笔记本电脑并使用SAS大学版。我通过PROC GLMSELECT运行我的数据,因为它分区为TEST,TRAIN,VALIDATE。现在,我正在尝试取出 ROLE 列中包含TRAIN的每一行并从中生成一个新数据,对于TEST和VALIDATE也是如此。

 1          OPTIONS NONOTES NOSTIMER NOSOURCE NOSYNTAXCHECK;
 55         
 56         Proc SQL;
 57         Create table Train122004 as
 58         Select *
 59         From PF122004
 60         Where _Role_ = Train
 61         ;
 ERROR: The following columns were not found in the contributin tables: Train.
 NOTE: PROC SQL set option NOEXEC and will continue to check the syntax of statements.
 62         
 63         OPTIONS NONOTES NOSTIMER NOSOURCE NOSYNTAXCHECK;
 75     

我可以提供更多任何人需要帮助的事情。我可以举例说明数据是什么样的,我之所以这样做是为了什么。

1 个答案:

答案 0 :(得分:3)

Train是列中的值,而不是列名。因此,它应该用引号(')包围:

 57         Create table Train122004 as
 58         Select *
 59         From PF122004
 60         Where _Role_ = 'Train'
 61         ;