sql - SAS - 在 proc SQL 中使用 proc 导入的 CSV(错误)
问题描述
我希望将通过“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 引擎进行连接
Insert into
使用SAS在 Netezza 中创建表
库名引擎
您通常可以将connect to
语句翻译成 libname 语句,如下所示:
libname dbcon netezza server="url" database=sandbox user=me password="&password.";
如果您dataname
在 dbcon 库中创建,那么您的第二个查询应该可以工作,前提是您有权在sandbox
数据库中创建表。
推荐阅读
- reactjs - 如何在 Stack.screen 上设置参数化标题
- python - 熊猫数据框如何用多个替换单列
- android - 如何解决任务':app:checkDebugDuplicateClasses'的执行失败
- java - 与用户交谈文本+图像并将其保存到 firebase 以便稍后显示。(如法定人数)
- javascript - 需要 React Hook Form 动态
- json - 颤振嵌套对象解析的json数组
- python - 散景 - 清除以前的“人物”条目(情节)
- android-studio - 使用 Windows 10 在 Android Studio 4.0 终端中键入问题
- javascript - 点击各种按钮时如何改变各种div的innerHTML?
- blas - `SSWAP` 的用例是什么?