SAS - 在 proc SQL 中使用 proc 导入的 CSV(错误)
SAS - using proc imported CSV in proc SQL (error)
我希望将我通过 'proc import' 导入的 CSV 数据集与我从 proc sql 中提取的数据集连接起来。有没有办法将我的 proc 导入文件扔进 proc sql?反之亦然?
这是我所在的位置:
proc import datafile = 'filepath'
out = dataname
dbms = CSV
replace
;
run;
proc sql
connect to netezza as dbcon
(server="url" database=sandbox user=me password="&password.");
create table work as
select distinct * from connection to dbcon
(
select distinct a.*
from
dataname as a
left join
sqltable as b
on
a.number = b.number
);
quit;
我目前收到此错误消息,但我不确定我的语法哪里有误:
ERROR: CLI prepare error: ERROR: relation does not exist database.ADMIN.dataname
SQL statement: select distinct a.*, b.* from dataname as a left join sqltable as b on a.number and b.number.
使用 CONNECT TO
语句连接到 Netezza 后,括号内的任何内容,例如:
select ... from connection to dbcon (...);
exec (...) by dbcon;
在 Netezza 盒子里。您创建的名为 dataname
的数据集存在于您的 SAS 会话 运行.
所在的工作库中
所以问题可以通过以下几种方式解决:
- 上传数据到 Netezza
- 使用 libname Netezza 引擎连接
- 使用 SAS 中的
Insert into
在 Netezza 中创建 table
库名引擎
您通常可以将 connect to
语句翻译成 libname 语句,如下所示:
libname dbcon netezza server="url" database=sandbox user=me password="&password.";
如果您在 dbcon 库中创建 dataname
,那么您的第二个查询应该可以工作,前提是您有权在 sandbox
数据库中创建 table。
我希望将我通过 'proc import' 导入的 CSV 数据集与我从 proc sql 中提取的数据集连接起来。有没有办法将我的 proc 导入文件扔进 proc sql?反之亦然?
这是我所在的位置:
proc import datafile = 'filepath'
out = dataname
dbms = CSV
replace
;
run;
proc sql
connect to netezza as dbcon
(server="url" database=sandbox user=me password="&password.");
create table work as
select distinct * from connection to dbcon
(
select distinct a.*
from
dataname as a
left join
sqltable as b
on
a.number = b.number
);
quit;
我目前收到此错误消息,但我不确定我的语法哪里有误:
ERROR: CLI prepare error: ERROR: relation does not exist database.ADMIN.dataname
SQL statement: select distinct a.*, b.* from dataname as a left join sqltable as b on a.number and b.number.
使用 CONNECT TO
语句连接到 Netezza 后,括号内的任何内容,例如:
select ... from connection to dbcon (...);
exec (...) by dbcon;
在 Netezza 盒子里。您创建的名为 dataname
的数据集存在于您的 SAS 会话 运行.
所以问题可以通过以下几种方式解决:
- 上传数据到 Netezza
- 使用 libname Netezza 引擎连接
- 使用 SAS 中的
Insert into
在 Netezza 中创建 table
库名引擎
您通常可以将 connect to
语句翻译成 libname 语句,如下所示:
libname dbcon netezza server="url" database=sandbox user=me password="&password.";
如果您在 dbcon 库中创建 dataname
,那么您的第二个查询应该可以工作,前提是您有权在 sandbox
数据库中创建 table。