楼主: shirly_zhang
2725 2

SAS 远程访问SAS数据 [推广有奖]

  • 0关注
  • 4粉丝

博士生

14%

还不是VIP/贵宾

-

威望
0
论坛币
10 个
通用积分
1.0000
学术水平
1 点
热心指数
1 点
信用等级
1 点
经验
10100 点
帖子
94
精华
0
在线时间
362 小时
注册时间
2010-4-16
最后登录
2022-4-28

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
求大侠指点...

如何在远程服务器上的SAS来访问本地的SAS数据,本地SAS不能用,由于data比较大也不能移到远程服务器上操作,请问怎么直接访问本地数据,求大侠指点 , 谢谢!
二维码

扫码加我 拉你入群

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

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

关键词:求大侠指点 Data 服务器 不能用 如何 服务器

沙发
bakoll 发表于 2015-1-17 23:57:32 |只看作者 |坛友微信交流群
SAS访问外部数据文件有四种方法,分别为:1、通过IMPORT过程 2、通过libname语句和库引擎 3、通过Access过程 4、通过ODBC或者远程软件平台。
①:IMPORT过程
语法和选项说明:
PROC IMPORT    *DATAFILE= 规定要读入外部文件的地址及名称  TABLE=规定外部数据文件的表名.
DATAFILE=“filename”|TABLE="tablename"
OUT=SAS-data-set                          *OUT= 规定要输出的SAS数据集.
<DBMS=identifier><REPLACE>;  *DBMS=规定外部数据文件格式的标示名   REPLACE=规定替换已存在文件.
1.1导入EXCEL数据表
PROC  IMPORT  OUT=TEMP               *读取excel数据,输入数据集work.temp.
DATAFILE="d:\data\abc.xls"           *规定要读入外部文件的地址和名称为"d:\data\abc.xls".
DBMS=EXCEL2000 REPLACE;              *指定外部数据文件为EXCEL2000,规定替换已存在文件.
SHEET="'sheet1$'";                   *导入表sheet1.
GETNAMES=YES | NO;    *获取变量名:如果EXCEL第一行是变量名的话则选择yes,提取变量名.
MIXED=YES | NO;           *将数值数据转换成字符数据值,作为一列,其中包含混合数据类型。此选项仅适用于从Excel导入数据。默认的是否定的,这意味着,数字数据将被识别为缺失值。如果混MIXED=YES,那么引擎将指派该列为SAS字符类型,并把所有的数字数据转换为字符数据值进行存储。.
SCANTEXT=YES | NO;        *会自动扫描,以最大的宽度作为改列字符变量的宽度。如果SCANTEXT=NO,则在不设定TEXTSIZE的情况下,默认长度为255。.
USEDATE=YES | NO; *使用日期变量。USEDATE=NO时,默认输入的将是日期时间变量,时间为该日的0点0分0秒.
SCANTIME=YES | NO;
TEXTSIZE=x;      *1<x<32767,当TEXTSIZE与SCANTEXT=YES同时出现时,字符变量的宽度有SCANTEXT决定,即扫描该列所有数据得到,但是,其宽度不超过TEXTSIZE的最大值。eg.如有一个字符串为"ABC1234567890",其宽度为13,但是我设置的TEXTSIZE=10,那么该列的宽度为10,只能导入左侧10位,剩余右侧的将丢失。所以,一般优先使用SCANTEXT=YES,而不适用TEXTSIZE。.
RUN;
1.2导入ACCESS数据库
proc import out=work.dists   *读取ACCESS数据库,输入数据集work.dists.
datatable="abc"              *规定读入的ACCESS数据库的表名为abc.
dbms=access  replace;         *指定外部数据文件为ACCESS,规定替换已存在文件.
database="d:\data\cyst.mdb";   *规定要读入外部文件的地址和名称为"d:\data\cyst.mdb".
uid='***';                     *指定数据库用户名.
pwd='***';                     *规定ACCESS密码.
run;
②:ACCESS过程:
ACCESS过程对外部数据文件的访问和读写,必须通过两步来完成:
第一步:创建访问描述器 access descriptor.
第二步:创建基于外部数据文件的数据视窗 view.
创建访问描述器:语句格式:
Proc Access dbms=dbf|xls;
create libref.membername.access;
required database description statements;
optional editing statements;
run;
实例:
proc access  dbms=xls;
create work.cyst.access;
path=‘d:\data\cyst.xls’;
getnames=yes;
scantype=yes;
list all;
run;
创建数据视窗view:
proc access dbms=dbf | xls   accdesc=libref.access-descriptor;
create    libref.membername.view;
select     column-list;
optional editing statements;
run;
实例:
proc access dbms=xls   accdesc=work.cyst;
create work.aaa.view;
select all;
list view;
run;

使用道具

藤椅
shirly_zhang 发表于 2015-1-20 18:25:34 |只看作者 |坛友微信交流群
bakoll 发表于 2015-1-17 23:57
SAS访问外部数据文件有四种方法,分别为:1、通过IMPORT过程 2、通过libname语句和库引擎 3、通过Access过程 ...
赞~  好详细!~

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-19 17:22