所有SAS版本首选"Txt创建SAS数据集格式"。出错时,使用"Excel表格创建Sas数据集格式",SAS9.2使用"Excel2007创建Sas数据集"。
逗号分隔文本(*.CSV)
单文件行数最高50万行
CSV -CSV(Comma Separated Value)文件, 也称为逗号分隔符文件。在Microsoft平台上它默认以Notepad或者WordPad打开, 如果您的系统中安装了Microsoft Excel,它默认以Microsoft Office Excel打开。CSV 现在已经演变成了一种业界的数据标准,可以使用在微软或者其它平台(如Unix)。在本系统中生成的CSV格式为:第一行记录为字段名,其它均为值数据。
此格式适合一次性下载大数据量的观测,如100,000条以上观测。
下例是由CSV文件转换为SAS数据集的标准SAS程序,用户可根据自己下载的变量进行相应修改。此格式适合一次性下载大数据量的观测,如100,000条以上观测。
例:从RESSETDB下载逗号分隔符文件(*.csv),存贮于D:\Ressetdb\Resstk.csv. 转换为SAS数据集Resstk。
Data Resstk;
Infile 'D:\Ressetdb\Resstk.csv'
delimiter = ',' Missover Dsd
lrecl=32767 firstobs=2 ;
Format
Stkcd $6.
Lstknm $12.
Date yymmdd10.
Clpr 8.2
Mcfacpr 10.4
Dret 10.4
Wkret 10.4
Monret 10.4
Dareteq 10.4
PE 23.2
NetAssetPS 23.2
EPS 23.2
ROE 23.2;
Informat
Stkcd $6.
Lstknm $12.
Date
yymmdd10.
Clpr 8.2
Mcfacpr 10.4
Dret 10.4
Wkret 10.4
Monret 10.4
Dareteq 10.4
PE 23.2
NetAssetPS 23.2
EPS 23.2
ROE 23.2;
Label
Stkcd="股票代码"
Lstknm="最新股票名称"
Date="日期"
Clpr="收盘价"
Mcfacpr="累积股价调整乘子"
Dret="日收益率"
Wkret="周收益率"
Monret="月收益率"
Dareteq="等权平均市场日资本收益率"
PE="市盈率"
NetAssetPS="每股净资产"
EPS="每股收益(摊薄) "
ROE="净资产收益率(摊薄) ";
Input Stkcd $ Lstknm $
Date Clpr Mcfacpr
Dret Wkret Monret Dareteq PE
NetAssetPS EPS
ROE ; /* 除字符变量后必须加”$”外,其它变量都不需要 */
Run;
|
空格分隔文本(*.TXT)
单文件行数最高50万行
本类型生成的TXT格式为第一行记录为字段名,其它均为值数据。所有的字段或数据值之间均以空格隔开。
此格式适合一次性下载大数据量的观测,如100,000条以上观测。
下例是由空格分隔符文本TXT转换为SAS数据集的标准SAS程序。
例:从RESSETDB下载空格分隔符文本(*.txt),存贮于D:\Ressetdb\Resstk1.txt. 转换为SAS数据集Resstk1。下例是由空格分隔符文本TXT转换为SAS数据集的标准SAS程序。
Example: Download TXT (*.txt) files
from RESSET/DB and save it in D:\Ressetdb\Resstk1.txt. Convert it into SAS
dataset Resstk1.
Data Resstk1;
Infile 'D:\RESSETDB\RESSTK1.txt' delimiter = ' ' MISSOVER DSD lrecl=32767
firstobs=2 ;
Format
Stkcd $6.
Lstknm $12.
Date
yymmdd10.
Clpr
8.2
Mcfacpr
10.4
Dret
10.4
Wkret
10.4
Monret
10.4
Dareteq
10.4
PE
23.2
NetAssetPS
23.2
EPS
23.2
ROE
23.2;
Informat
Stkcd
$6.
Lstknm
$12.
Date
yymmdd10.
Clpr
8.2
Mcfacpr
10.4
Dret
10.4
Wkret
10.4
Monret
10.4
Dareteq
10.4
PE
23.2
NetAssetPS
23.2
EPS
23.2
ROE
23.2;
Label
Stkcd="股票代码"
Lstknm="最新股票名称"
Date="日期"
Clpr="收盘价"
Mcfacpr="累积股价调整乘子"
Dret="日收益率"
Wkret="周收益率"
Monret="月收益率"
Dareteq="等权平均市场日资本收益率"
PE="市盈率"
NetAssetPS="每股净资产"
EPS="每股收益(摊薄) "
ROE="净资产收益率(摊薄) ";
Input Stkcd $ Lstknm $ Date Clpr
Mcfacpr Dret Wkret Monret Dareteq PE NetAssetPS EPS
ROE ; /* 除字符变量后必须加”$”外,其它变量都不需要 */
Run;
|
Tab键分隔文本 (*.TXT)
单文件行数最高50万行
本类型生成的TXT格式为第一行记录为字段名,其它均为值数据。所有的字段和数据值之间均以Tab键隔开。
此格式适合一次性下载大数据量的观测,如100,000条以上观测。
下例是由Tab键分隔文本TXT转换为SAS数据集的标准SAS程序。
例:从RESSETDB下载Tab键分隔文本(*.txt),存贮于D:\Ressetdb\Resstk2.txt. 转换为SAS数据集Resstk2。
Data Resstk2;
Infile 'D:\RESSETDB\RESSTK2.txt' delimiter = '09'x
MISSOVER DSD lrecl=32767 firstobs=2
;
Format
Stkcd $6.
Lstknm $12.
Date yymmdd10.
Clpr 8.2
Mcfacpr 10.4
Dret 10.4
Wkret 10.4
Monret 10.4
Dareteq 10.4
PE 23.2
NetAssetPS 23.2
EPS 23.2
ROE 23.2;
Informat
Stkcd $6.
Lstknm $12.
Date yymmdd10.
Clpr 8.2
Mcfacpr 10.4
Dret 10.4
Wkret 10.4
Monret 10.4
Dareteq 10.4
PE 23.2
NetAssetPS 23.2
EPS 23.2
ROE 23.2;
Label
Stkcd="股票代码"
Lstknm="最新股票名称"
Date="日期"
Clpr="收盘价"
Mcfacpr="累积股价调整乘子"
Dret="日收益率"
Wkret="周收益率"
Monret="月收益率"
Dareteq="等权平均市场日资本收益率"
PE="市盈率"
NetAssetPS="每股净资产"
EPS="每股收益(摊薄) "
ROE="净资产收益率(摊薄) ";
Input Stkcd $ Lstknm
$ Date Clpr Mcfacpr
Dret Wkret Monret Dareteq PE NetAssetPS EPS ROE ; /* 除字符变量后必须加”$”外,其它变量都不需要 */
Run;
|
EXCEL电子表格(*.XLS)
单文件行数最高65535行
为Microsoft
Excel 保存后的文件格式。本文档中单元格类型与数据库中字段类型一致,您可以进行有效的计算和统计。但是此格式如果导入到SAS系统,有可能会产生数据丢失现象。表格的第一行显示为字段的全称。如果您需要将下载的Excel文件转换为SAS数据集,建议使用下载时使用字符型EXCEL电子表格。
此格式适合一次性下载的观测在60,000条以下。
字符型EXCEL电子表格 (*.XLS)
单文件行数最高65535行
为Microsoft Excel 保存后的文件格式,但本文档中单元格类型均为字符型。它可以有效的导到入SAS系统中,创建SAS数据集后,可参考RESSETDB数据词典的变量格式,将一些字符型变量转换为相应的数值型或日期型变量格式。表格第一行显示为字段名。
此格式适合一次性下载的观测在60,000条以下。
SAS系统中只需要使用Input函数即可完成相应的变量格式转换。
例:下载字符型Excel格式的数据集,并存贮于D:\RESSETDB\RESSTK3.xls,导入SAS数据集的SAS程序为(也可以用SAS的文件菜单导入):
Proc
Import Out=
Work.Resstk3
Datafile= "D:\Ressetdb\Resstk3.Xls"
Dbms=Excel Replace;
Sheet="Resstk$";
Getnames=Yes;
Mixed=No;
Scantext=Yes;
Usedate=Yes;
Scantime=Yes; Run;
|
将导入SAS数据集Resstk3中的变量Date转换为日期格式的变量Date1,将变量Dret转换为数值型变量Dret1,转换程序如下:
Date Resstk3;
Set
Resstk3;
Date1=Input(Date,yymmdd10.);
/* 将字符格式的变量Date转换为日期格式的变量Date1 */
Dret1=Input(Dret,10.4);
/* 将字符格式的变量Dret转换为数值格式的变量Dret1*/
Format Date1 yymmdd10. Dret1
10.4;
Informat Date1 yymmdd10. Dret1 10.4;Run;
|
同理,可转换其它变量的格式。
HTML文件(*.HTML)
单文件行数最高1万行
如果您查询出来的数据量不是很大,并且想简易的进行显示和阅读,您可以选择以 HTML格式输出,它适于所有的Web浏览器。
XML文件(*.XML)
单文件行数最高10万行
如果您想对查询出来的数据用其它的视图模式来展现或者进行分档解析,XML(Extensible Markup Language)格式是您最佳的选择。
在本系统中生成的XML格式如下:
<
RESSET tableName="表名称" URL="www.resset.cn" >
<
DateHeader >
<
value name=”字段名” > 字段名全称 < /value >
....
<
/DateHeader >
<
DateValue >
<
value > 字段值 < /value >
<
value > ...... < /value >
<
/DateValue >
<
DateValue >
<
value >.... < /value >
<
value > ...... < /value >
< /DateValue
>
< /RESSET >
|