相关文章推荐
曾深爱过的消炎药  ·  SQL ...·  1 年前    · 
才高八斗的椅子  ·  intellij ...·  1 年前    · 
year x1 x2 x3 x4 x5 x6 x7 x8
1990 343.76 45.44 101.37 30.9 19.02 8.42 31.38 4.34
1991 349.03 49.92 99.71 34.55 21.84 10.04 35.62 5.15
1992 354.12 49.03 97.95 34.24 22.54 11.43 40.87 5.15
1993 366.95 45.44 87.7 36.68 22.31 14.3 47.94 10.73
1994 398.3 46.8 94.73 36.91 21.34 15.99 49.99 12.66
1995 435.14 50.86 103.21 38.79 24.06 19.12 58 13.06
1996 464.78 59.72 114.98 44.21 30.58 24.71 69.53 16.66
1997 455.95 56.03 119.45 43.74 31.98 27.61 75.89 17.55
1998 439.45 50.72 123.94 42.37 35.24 31.39 82.45 17
1999 435.34 48.33 122.19 43.2 36.77 36.09 88.39 18.03
2000 431.31 50.44 135.8 39.66 46.03 48.95 98.15 27.58
2001 433.25 51.47 145.54 40.15 50.39 57.36 100.47 29.43
2002 444.3 54.99 157.2 42.08 54.44 67.31 110.14 30.2
2003 456.74 56.84 158.97 42.09 59.67 83.78 121.49 22.17
2004 507.5 59.1 159.47 43.88 64.21 94.74 121.79 23.74
2005 559.42 71.53 178.19 53.62 117.93 142.24 80.91 26.23

现在把用SAS读取它,我们有以下几种途径(还有一些,待学):

1.LIBNAME STATEMENT

libname xlsfile 'c:/book.xls' mixed=no header=yes scantime=yes ;
/*mixed,是否将数值型变量转化为字符型变量*/
/*header,是否将excel中数据第一行设为sas型数据变量名*/
/*scantime,是否遍历查询日期型数据,自动设置日期数据的格式*/

2.PROC SQL PASS-THROUGH FACILITY

proc sql;
connect to excel (path="c:/book.xls");
create table  book as
select *
from connection to excel (select * from [sheet1$]);
disconnect from excel;
quit;

3.IMPORT PROCEDURE

PROC IMPORT OUT= WORK.BOOK1
DATAFILE= "C:/Book.xls"
DBMS=EXCEL REPLACE;
RANGE="Sheet1$";
GETNAMES=YES;
MIXED=NO;
SCANTEXT=YES;
USEDATE=YES;
SCANTIME=YES;
RUN;

4.关于xlsx等格式

现在越来越多的excel文件是xlsx格式的,这种excel文件读取方式类似以上情况。 另外也可以参考

http://support.sas.com/kb/32/455.html

关于同时读取多个excel文件,中文论坛有所讨论:

http://www.mysas.net/forum/viewtopic.php?f=4&t=7525&sid=575275d20d2c880255c2aaa0a0f85fda

在C盘新建了一个名为book.xls的EXCEL文件,文件内容: yearx1x2x3x4x5x6x7x81990343.7645.44101.3730.919.028.4231.384.341991
懂得老铁可以仔细看看,这是个实用的小程序,可以将 excel 中的所有表导入 SAS 。求打赏。 %macro sheetnames(xlsxfile=); filename _WRKBOOK ZIP "&xlsxfile" member='xl/workbook.xml'; filename _XMLFIL "%sysfunc( path name(WORK))\workbook.xml"...
1 读取 SAS 数据集 DATA temp; /*temp 为创建的数据集名称*/ INFILE 'C\my sas \data\temp.dat'; /*数据存放的位置 */ INPUT id 1-4 gender 6 height 8-9 weight 11...
电子表格不是数据库。但是,我们中的许多人使用电子表格就好像它们是数据库一样,然后当电子表格布局不支持数据库样式严格的可预测行,列和变量类型时,我们就会挣扎 - 这是分析和报告所需的基本元素。如果您使用 SAS 从Microsoft Excel 读取 数据,当您需要的数据不是从单元格A1开始时,您可以做什么? 通过设计, SAS 可以从电子表格中的任何单元格范围 读取 数据。在本文中,我将介绍如何在PROC IM...
SAS import 读取 excel 数据基本模板 /*用 import 语句 读取 excel 中数据*/ libname sas lib 'D:\ sas test'; *创建永久逻辑库; proc import out= sas lib.gxh datafile='D:\熊学堂\Task 2\01 simudata 1.xlsx' dbms=xlsx replace; * 读取 的路径以及格式 ; sheet...
转自:http://www.nesug.org/Proceedings/nesug11/cc/cc17.pdf 该文主要应用proc sql 将字表 文件 名赋予宏变量,然后循环 读取 字表中的变量名。 %macro xlread; /**Assign a libname for excel sheet*/ LIBNAME XLSLIB "C:\NESUG-2011\Metabolite
要在 SAS 读取 Excel 数据集,你可以使用PROC IMPORT 或LIBNAME引擎两种方法。下面分别介绍这两种方法的使用步骤: 1. 使用PROC IMPORT 方法: ``` sas proc import datafile=' path _to_your_ excel _file.xlsx' out=your_ sas _dataset dbms=xlsx replace; 在上面的代码中,将" path _to_your_ excel _file.xlsx"替换为你 Excel 文件 的路径和 文件 名,将"your_ sas _dataset"替换为你想要创建的 SAS 数据集的名称。 2. 使用LIBNAME引擎方法: ``` sas libname your_library xlsx ' path _to_your_ excel _file.xlsx'; 在上面的代码中,将"your_library"替换为你想要创建的 SAS 库的名称,将" path _to_your_ excel _file.xlsx"替换为你 Excel 文件 的路径和 文件 名。 无论使用哪种方法,都需要确保你已经正确安装了 SAS ACCESS引擎以支持 读取 Excel 文件 。另外,还需要注意是否需要指定sheet表单名称或者范围。 完成后,你就可以通过引用你创建的 SAS 数据集或库来访问 Excel 数据了。