楼主: bananacindy
2257 0

请问创建PROC SQL view时,利用using语句建立embedded library的意义是? [推广有奖]

  • 0关注
  • 0粉丝

本科生

93%

还不是VIP/贵宾

-

威望
0
论坛币
757 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
517 点
帖子
50
精华
0
在线时间
169 小时
注册时间
2013-4-20
最后登录
2020-6-5

楼主
bananacindy 发表于 2015-2-22 08:21:39 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
首先给点击进来的各位大神拜个晚年!                          正在读SAS ADVANCED prep guide,其中第七章 “Creating andManaging Views Using PROC SQL”中提到,对于类似proc sql; create view sasuser.a  as select * from sasuser.b; 这样的程序,最好将from语句中sasuser.b用一级名称书写,也就是省略sasuser.,直接写b的方式,这样会默认b也在a所在library sasuser之下。这样简写的好处是可以“prevents you from having to change the view if you assign a different libref to the SAS data library that contains the view and its contributing table or tables.”(没太看懂在说啥。。。)           
      然后因为直接在from语句中写b的话,很容易混淆成work.b;而且有时会需要作为view的a和作为数据来源表格的b不在同一文件夹下,所以书中又介绍了使用Embedded LIBNAME Statement的方法:
libname m "E:\aa";
proc sql;
create view sasuser.a as
select* from m.b
using libname m
"E:\bb";
quit;

书中还说明了外部libname和embedded libname互不冲突,embedded libname只对sql有效,所以用同一libref m没有问题。如上面程序中m.b就是存在于"E:\bb"之中。

    但是我不太明白设置这个embedded libname到底有什么意义呢?包括前一部分标红那句话,建议在from语句中只写数据源表格一级名称的意义是什么?求各位大神帮忙解答~










二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:proc sql Embedded Library Using BRARY sql sas embedded library

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-1 12:19