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

无法在SAS DIS中使用用户生成的代码创建输出,sas,sas-dis,Sas,Sas Dis,我正在尝试对csv文件进行一些操作,我已使用标准文件读取器将其读入作业编辑器窗口。为此,我将文件读取器连接到用户生成的代码转换的输入节点,然后按照链接中的说明进行操作 为了使事情尽可能简单,代码只需创建一个名为TEST的新字段,并将其相同地设置为1: DATA TEMP; TEST = 1; RUN; 当我试图通过右键单击输出按钮(在运行项目后)并选择“打开”来查看输出时,我收到输入文件中每列(*)的以下错误消息: 在用关联名称W8T38KNJ…标识的表/视图中找不到列* 谷歌认为链接是恰当的

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

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

DATA TEMP;
TEST = 1;
RUN;
当我试图通过右键单击输出按钮(在运行项目后)并选择“打开”来查看输出时,我收到输入文件中每列(*)的以下错误消息:

在用关联名称W8T38KNJ…标识的表/视图中找不到列*

谷歌认为链接是恰当的,但我不同意,因为我没有重命名我的任何专栏


值得一提的是,这是我使用SAS DIS的第一天。非常感谢您提供的任何帮助。

您在数据步骤中没有引用数据集。上面的代码将创建一个具有单个变量和值为1的观测值的数据集。 下面的语句可能就是您想要的。但我不使用DI,因此不确定输出表名应该是什么,即DATA语句中的名称

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

您尚未在数据步骤中引用数据集。上面的代码将创建一个具有单个变量和值为1的观测值的数据集。 下面的语句可能就是您想要的。但我不使用DI,因此不确定输出表名应该是什么,即DATA语句中的名称

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

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

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


还有,既然你提到你是个初学者。我建议不要右键单击并查看数据集数据。而是使用输出转换组下的列表数据转换

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

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

还有,既然你提到你是个初学者。我建议不要右键单击并查看数据集数据。而是使用输出转换组下的列表数据转换

这是问题的一部分(我从SAS EG复制代码,并假设由于元数据映射,
SET
命令是不必要的)。但是计算
SET
语句的表名是另一个步骤。显然,关闭并重新打开该项目是另一个必要步骤。关于元数据的问题,我也向sushil提交了+1。这是问题的一部分(我从SAS EG复制代码,并假设由于元数据映射,
SET
命令是不必要的)。但是计算
SET
语句的表名是另一个步骤。显然,关闭并重新打开该项目是另一个必要步骤。关于元数据的问题,请参见sushil的+1。