无法在SAS DIS中使用用户生成的代码创建输出

时间:2015-03-12 19:39:51

标签: sas sas-dis

我试图对csv文件进行一些操作,我已经使用标准文件阅读器读入了作业编辑器窗口。为此,我将文件阅读器连接到用户生成代码转换的输入节点,然后按照this链接中的说明进行操作。

为了使事情变得尽可能简单,代码只需创建一个名为TEST的新字段,并将其设置为等于1:

DATA TEMP;
TEST = 1;
RUN;

当我尝试通过右键单击输出翻板(运行项目后)并选择"打开"来查看输出时,我收到以下每个列(*)的错误消息输入文件:

  

在使用相关名称W8T38KNJ标识的表/视图中找不到列*。

Google认为this链接是合适的,但我不同意,因为我还没有重命名我的任何专栏。

可能有必要提一下,这是我使用SAS DIS的第一天。对此的任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:3)

您尚未在“数据”步骤中引用数据集。上面的代码将创建一个带有单个变量和值为1的观察的数据集。 使用SET语句的以下内容可能是您正在寻找的内容。我不使用DI,所以不确定输出表名称应该是什么,即DATA语句中的名称。

DATA TEMP;
  SET &SYSLAST;
  TEST = 1;
RUN;

答案 1 :(得分:3)

看起来DI Studio(元数据服务器)上的表的元数据信息与物理SAS数据集的元数据信息不同。我想你可能有意/无意地在用户书面转换的输出数据集上添加了一些额外的列(单击User Written transformation并检查映射部分),这些列实际上不存在。

您提供的错误弹出列将提到物理SAS数据集中很可能不存在的额外列。此外,您在USER WRITTEN转换中创建的任何额外列应添加到用户书写转换的输出数据集中(单击用户书写转换并检查映射部分),否则当您右键单击打开数据集时它不会显示

另外,既然你提到你是初学者。我建议不要右键单击并查看数据集数据。而是使用OUTPUT转换组下的LIST DATA转换。