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

Cannot create output with user generated code in SAS DIS

我正在尝试使用标准文件 reader 对已读入作业编辑器 Window 的 csv 文件进行一些操作。为此,我将文件 reader 连接到用户生成代码转换的输入节点,然后按照 this link.

处的说明进行操作

为了尽可能简单,代码只是创建一个名为 TEST 的新字段并将其设置为完全等于 1:

DATA TEMP;
TEST = 1;
RUN;

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

Column * could not be found in the table/view identified with the correlation name W8T38KNJ....

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

提及这是我第一天使用 SAS DIS 可能会有所帮助。如有任何帮助,我们将不胜感激。

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

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

看起来table在DI Studio(元数据服务器)上的元数据信息与物理SAS数据集的元数据信息不同。我认为您可能 intentionally/accidentally 在用户写入转换的输出数据集上添加了一些物理上不存在的额外列(单击用户写入转换并检查映射部分)。

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

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