我是sas的新手,并试图调试其他人的代码。目标是合并3个数据集。
这是我正在尝试运行的代码中的最后一步:
Folder name = "test", URL = "test.mydoma.in"
但是,我收到此错误消息:
在上述请求中检测到重复的列名称 CORRESPONDING列名称匹配。这种情况很模糊。
首先,我并不真正理解错误消息,因为它说有重复的列名...但当然有重复的列名!我正在尝试将可能有或可能没有相同列标题的3个数据集合并为一个!
我认为我不明白错误信息告诉我的是什么。
有人请帮助我!
答案 0 :(得分:0)
此错误会触发,因为SAS已经从discharge_rtw_reason
表中提取foot_dados_paper_merge
(通过select *
),然后再指示再次创建变量(使用长度更新)。不允许在SAS数据集中具有两个具有相同名称的变量。尝试在执行SQL查询之前更改长度。
或者,重写如下(假设temp_var
已不存在):
proc sql;
create table foot_all as
select*
from foot_paper_merged
outer union corr
select*,temp_var as discharge_rtw_reason length=84
from foot_dados_paper_merge (rename=(discharge_rtw_reason=temp_var))
outer union corr
select*
from foot_dados_ca_dc;
quit;
澄清 - 无论联合行动如何,这都是一个问题。尝试运行以下内容(应该提供WARNING: Variable discharge_rtw_reason already exists on WORK.test
):
proc sql;
create table test as
select*,discharge_rtw_reason length=84
from foot_dados_paper_merge;