金融数据库SAS编程与数据处理218章复习题.docx
《金融数据库SAS编程与数据处理218章复习题.docx》由会员分享,可在线阅读,更多相关《金融数据库SAS编程与数据处理218章复习题.docx(19页珍藏版)》请在冰豆网上搜索。
金融数据库SAS编程与数据处理218章复习题
SAS编程与数据处理2-18章复习题
朱世武著.《SAS编程技术与金融数据处理》.清华大学出版社.2003.7
第2章SAS系统快速入门
1.SAS系统的特点。
2.简述SAS的三类功能与相应的模块举例。
3.SAS技术水平的三个层次.
4.缺省情况下SAS系统的五个功能窗口及各自的作用是什么?
怎样定义激活这些窗口的快捷键?
5.SAS程序的一般特点。
6.SAS日志窗口的信息构成。
7.会使用工具菜单的options选项。
8.在显示管理系统下,切换窗口和完成各种特定的功能等,有四种发布命令的方式:
即,在命令框直接键入命令;使用下拉菜单;使用工具栏;按功能键。
试举例说明这些用法。
9.理解SAS逻辑库、临时库和永久库的概念。
会用菜单方式新建SAS永久库。
10.说明下面SAS命令的用途:
keys,dlglib,libname,dir,var,options,submit,recall.
11.怎样增加和删除SAS工具?
12.会用菜单方式导入(Import)和导出SAS数据集(Export)。
13.会用菜单方式创建查询。
14.会用SAS的INSIGHT模块进行简单的数据分析。
15.简述SAS逻辑库的作用。
第3章数据步创建SAS数据集
1.理解SAS语句的信息构成。
举例说明。
2.SAS名的种类及命名规则。
什么是SAS关键词?
3.理解Data步的Proc步。
4.SAS变量的类型和属性。
举例说明SAS自动变量。
5.理解SAS程序。
SAS程序的书写规则。
给一个简单SAS程序的例子,适当应用SAS的注释语句。
6.SAS数据集中变量列表时,X1-Xn表示什么?
特殊SAS变量列表_numeric_,_character_和_all_的含义。
7.怎样提交SAS程序?
程序执行过程中,LOG窗口显示的信息结构。
8.怎样查看SAS程序的输出结果。
9.SAS表达式定义及其构成元素。
10.构成SAS表达式的操作对象和操作符有哪些?
11.SAS常数及其类型。
12.举例说明数值常数、字符常数和日期时间常数的表示方法。
13.举例说明数值和字符怎么转换?
14.SAS程序错误类型及LOG窗口显示的出错信息。
15.常用的句法错误及处理方法。
16.SAS逻辑库的概念及建立方法。
什么是临时库和永久库?
17.怎样引用SAS文件。
18.什么是库引擎?
19.SAS系统的文件类型。
20.Data步有哪些具体功能?
21.数据步创建SAS数据集可以处理的数据源。
22.写一个直接输入数据创建数据集的程序。
23.写一个由外部数据文件创建数据集的程序。
24.写若干个由已存SAS数据集创建SAS数据集的程序。
25.写出在Data步中用file和put语句将数据集转换为外部文件的简单程序。
第4章访问外部数据文件
1.举例说明SAS系统可以访问的两类外部文件。
2.你所知道SAS系统访问外部文件的方法有几种?
3.写三段SAS程序,用IMPORT过程分别导入EXCEL数据表、文本数据文件、固定分隔符文本文件和ACCESS数据库。
并对相应的SAS程序作注释。
4.通过LIBNAME和库引擎连接外部文件的语句格式及具体应用。
5.通过ACCESS过程访问外部数据文件的步骤。
6.写出创建XLS,DBF访问描述器的程序。
7.创建基于XLS,DBF访问描述器的数据视窗程序。
8.举例同时创建访问描述器和数据视窗。
9.写出两种由数据视窗创建SAS数据集的方法。
10.什么是ODBC?
11.写出创建两种以上ODBC数据集的操作步骤。
第5章SAS函数及其应用
第6章
1.举例说明函数的作用。
2.SAS函数的自变量有几类?
3.举例说明自变量的表示方法和缩写方法。
4.函数结果的属性是怎样确定的?
5.举例说明怎样在LOG窗口显示函数值。
6.会查书使用SAS的常用函数。
7.会使用特殊函数input,put,symget,lag,dif.
8.SAS日期时间存贮标准是什么?
9.函数DATE()和TODAY()的结果相同吗?
datetime()和time呢?
10.分别说明日期时间函数datdif,yrdif,date(),datetime,mdy,dhms有哪些实际用途。
11.你在平时的学习中用到哪些概率分布函数?
12.举出进行单边假设检验时怎样用分位数函数?
13.解释下段程序的统计学含义:
data_null_;
q_f=finv(0.97,12,9);
putq_f=;
q_f=1/finv(1-0.97,9,12);
putq_f=;
run;
14.会查书使用SAS的日期函数。
15.会查书实现常用分布随机数。
16.将数据集fdata.logdate中的变量logdate由字符格式改为日期格式。
第6章数据步文件管理
第7章
1.解释语句:
dataa;
datafdata.capital;
datadata1data2;
data_null_;
data;
data_data_;
2.举例说明数据集选项(data-set-options)中语句drop,keep,label,rename的用法。
3.怎样用view产生SAS数据视窗?
怎样用PMG选项存贮DATA步编辑程序?
4.掌握DATA步特殊数据集名的含义:
_data_,_null_,_last_.
5.一个DATA语句下可以产生多个数据集吗?
6.INPUT语句的两个用途是什么?
7.INPUT语句中的@,@@,$,:
&,~的作用是什么?
分别举例说明。
8.解释语句:
INPUT(g1-g5)(3*7.2,2*5.2);Input(ab)($,5.);Input(ab)($5.);
9.说明Cards语句与Cards4语句的用法。
10.输出语句PUT可以输出一些行到什么地方?
11.解释下面程序中PUT语句产生的结果:
data_null_;
put132*‘_’;
put100*’1’;
run;
data_null_;
setfdata.class;
put_all_;
run;
data_null_;
setfdata.class;
bysex;
fileprint;
putname1-8@12sex;
iflast.sexthenput_page_;
run;
data;
put‘exampleofoverprint’overprint‘-------------------------’;
run;
12.解释BY组中自动变量FIRST.variable和LAST.Variable的含义。
13.SET语句的作用是什么?
14.解释SET语句中选项POINT=,NOBS=和END=的作用。
15.解释系统自动变量_N_的作用。
16.解释下一段程序:
dataa;
doobsnum=1tolastby20;
setfdata.apoint=obsnumnobs=last;
output;
end;
stop;
run;
17.如何用一个变量得到数据集的观测个数?
18.如何找到数据集的最后一个观测值?
16.下段程序的END,LASTOBS和X中,哪个是选项?
哪个是自动变量?
哪个是普通变量?
dataa;
setfdata.aend=lastobs;
iflastobs;
x=lastobs;
put‘lastobservation’;
run;
19.下段程序能否正常运行?
等式END=END两边是的含义是什么?
dataa;
setfdata.aend=end;
ifend;
procprint;
title2'lastobservation';
run;
20.下段程序中n和_error_为自动变量吗?
Datasubset;
Don=238,468,600,100;
Setfdata.a1a0001point=n;
If_error_=1thenabort;
Output;
End;
Stop;
Run;
21.MERGE语句的作用是什么?
22.举例说明MODIFY语句的用途。
23.FILE语句一般要和PUT语句配合使用,举例说明FILE语句的作用。
24.INFILE语句一般要和INPUT语句配合使用,举例说明INFILE语句的作用。
25.举例说明INFILE语句中DSD,MISSOVER选项的作用。
26.使用import菜单将Fdata目录下文件Capital.txt导入为SAS数据集,并与本章例6.50的结果进行比较。
第7章数据加工整理-修改与选择观测
第8章
1.怎样确定赋值结果变量的类型和长度?
2.举例说明累加语句SUM的用法。
3.说明累加语句SUM和SUM函数的区别。
4.说明DELETE语句的作用。
5.说明LOSTCARD语句的作用和应用条件。
6.说明STOP语句的作用。
7.说明ABORT语句的作用。
8.说明WHERE语句的性质。
9.分别举例说明WHERE表达式算符BETWEENAND,ISMISSING|ISNULL,CONTAIN|?
LIKE和SAMEAND的具体用法。
10.通常情况下能不能用条件语句WHERE来控制SAS系统的自动变量?
举例说明。
11.说明条件语句where和子集if的区别。
12.说明OUTPUT语句的作用。
分别举例说明。
13.解释下面一段程序:
procsortdata=fdata.dd_c;
bydate;
dataa;
setfdata.dd_c;
bydate;
iffirst.datethensum_c=0;
sum_c+sum;
keepdatesum_c;
iflast.datethenoutput;
Run;
14.举例说明remove语句和replace语句的使用方法。
15.为什么要用MISSING语句规定缺失值符号?
16.比较PUT语句和LIST语句的作用后,你将得出什么结论?
第8章数据加工整理-循环与转移控制
第9章
1.举例说明简单DO语句的用法。
2.循环DO语句中起始值的类型有几种?
可不可以用表达式?
3.解释下面程序:
dataa;
t=0;
don=1to100;
t=t+n;
output;
end;
run;
dataa;
t=0;
don=1to100;
t=t+n**2;
output;
end;
run;
4.解释面下的有效循环do语句:
doI=5;
doI=1ton;
doI=nto1by–1;
doI=k+1ton-1;
doI=1tok-1,k+1ton;
doI=2,3,5,7,11,13,17;
doI=0.1to0.9by0.1,1to10by1,20to100by10;
doI=’Saturday’,’Sunday’;
doI=’01jan99’d,‘25feb99’d;
doI=’01jan99’dto‘01jan2000’dby1;
5.分别举例说明DOOVER,DOWHILE和DOUNTIL语句的用法。
6.举例说明SELECT语句的作用与具体用法。
7.举例说明IF语句的类型及相应的用法。
8.举例说明GOTO语句与语句标号的用法。
9.举例说明LINK语句的作用与具体用法。
10.说明LINK语句与GOTO语句的差别。
11.RETURN语句的作用与应用举例。
12.CONTINUE语句的作用与应用举例。
13.LEAVE语句的作用与应用举例。
14.CONTINUE语句与LEAVE语句的差别。
第9章数据加工整理-变量与信息控制
第10章
1.什么是数组?
SAS系统中数组的作用有哪些?
2.分别用三种定义下标的方法定义一维、二维显式下标数组。
3.举例说明数组元素的表示方法。
4.举例说明怎样定义数组元素的初值。
5.解释下面数组语句:
arrayrain{5}x1-x5;
arrayab(*)xyz;
arrayx[*]_numeric_;
arraytest(3)_temporary_(908070);
arraydays{7}d1-d7;
arrayx{2:
5}greenreddenatofetzer;
arraytest(3:
4,3:
7)test1-test10;
6.举例说明怎样定义隐含下标数组?
7.举例说明怎样引用隐含下标数组元素?
8.说明输入格式语句INFORMAT的作用。
9.举例说明怎样规定和取消变量的输入格式。
10.说明输出格式语句FORMAT的作用。
11.举例说明怎样规定和取消变量的输出格式。
12.怎样控制变量的长度?
13.举例说明LENGTH语句位置的重要性。
14.举例说明LABEL语句是怎样规定数据集和变量的标签的。
15.ATTRIB能规定的变量民属性哪些?
16.举例说明DROP语句和KEEP语句的作用与具体用法。
17.DROP语句和KEEP语句的使用规则及其实际使用中应注意的事项。
18.举例说明RENAME语句的用法。
19.举例说明RETAIN语句的作用与具体用法。
第10章过程步通用语句
1.过程步通用语句有有几类?
相应的作用是什么?
2.PROC语句规定某过程的通用选项和特定选项的顺序是什么?
PROC语句中的数据集可以规定选择项,怎样规定?
3.解释下面PROC过程:
procprintdata=fdata.a1a0001(obs=10);
procmeansdata=amaxdec=3css;
procplothpct=50vpct=33;
4.VAR语句有选项吗?
VAR语句可以使用缩写方式吗?
DATA步哪些语句和选项会起到和VAR语句相似的作用?
5.MODEL语句的选项要放在什么符号后?
6.ID语句和VAR语句有什么区别?
7.过程步WHERE语句和数据步WHERE语句的用法相似吗?
除了WHERE语句的用法外,还有没有WHERE选项的用法?
8.WHERE选项和选项FIRSTOBS=,OBS=,BY组选项一起使用时,生效的顺序是什么?
9.CLASS语句和BY语句有什么区别?
DATA步中有这两个语句吗?
10.说明DATA步中OUTPUT语句和PROC步中OUTPUT语句的区别。
PROC步中OUTPUT语句的一般形式是什么?
11.为什么要用QUIT语句?
12.PROC步中FORMAT语句的格式和DATA步中FORMAT语句的格式相同吗?
效果相同吗?
FORMAT是一个SAS过程吗?
13.PROC步中LABEL语句和DATA步中LABEL语句的效果相同吗?
第11章 全程通用语句
1.写一段SAS程序,每句都加上注释。
2.利用X语句,在SAS系统下执行操作系统命令DIR,列出某文件夹下的所有文件名,并将列出的结果存在到一下文件中。
3.怎样才能退出操作系统返回到SAS会话?
4.SAS一共可以规定几级标题?
怎样规定SAS输出文件的标题?
怎样取消标题?
5.SAS一共可以规定多少脚注行?
怎样规定SAS输出页的脚注行?
怎样取消脚注行?
6.用LIBNAME语句建立5个不同引擎的逻辑库。
怎样为一个已经存在的逻辑库联系一个SAS引擎。
7.写出一个SAS逻辑库联系多个物理地址的语句,一个SAS逻辑库可以同时联系多个其它SAS逻辑库和多个物理地址吗?
怎样联系?
8.不同库引擎SAS逻辑库中的数据集之间怎样转换?
9.怎样列出逻辑库的属性?
怎样脱离与库标记的联系?
10.说明编程时用filename语句的好处。
11.什么情况适合用%INCLUDE|%INC语句调用SAS程序和数据行?
12.%INCLUDE语句可以访问的数据源有哪些?
第12章输出形式与控制
1.解释语句OPTIONSNODATENONOTESNOSOURCE;
2.解释以下程序段:
procprinttolog='d:
\saslog.txt'new;
procprintdata=fdata.class;
run;
procprinttolog='d:
\log.dat';
procprintdata=fdata.class;
run;
optionsnodatenonotesnosource;
filenamef1'd:
\out.txt';
procprinttolog=f1;
procprintdata=fdata.class;
run;
optionsnonumbermissing='B';
procprinttoprint='d:
\out.txt'new;
procprintdata=fdata.class;
run;
procprinttoprint='d:
\out.txt';
procprintdata=fdata.class;
run;
optionsnodatenonotesnosource;
filenamef1'd:
\out.txt';
filenamef2'd:
\out.list';
procprinttoprint=f2;
procprinttoprint='d:
\out.list';
procprintdata=fdata.class;
run;
procgplotdata=fdata.a1a0001gout=fdata.graph;
symbol1v=nonei=joinc=blue;
title1;
title2“上证指数时序图”;
plotClpr*date=1/name=’a1a0001’des=’Timeseriesplotforcloseprice’;
run;
2.怎样在一个画面放四幅图?
解释下段程序:
procgreplaynofsigout=fdata.graphgout=fdata.graph;
tcsashelp.templt;
templatel2r2;
treplay1:
a1a00012:
a1a00023:
szzz4:
szcz;
run;
3.怎样输出其它格式的图形文件?
解释下面两段程序:
procgdevice;
run;
Filenamea1a0001“d:
\fdata\a1a0001.gif”;
Goptionsreset=alldevice=gifgsfname=a1a0001gsfmode=replace;
Procgplotdata=fdata.a1a0001gout=fdata.graph;
Symbol1v=nonei=joinc=blue;
Title1;
Title2“上证指数时序图”;
Plotclpr*date=1/name=’a1a0001’des=’timeseriesplotforcloseprice’;
Run;
Quit;
4.什么是ODS?
它的作用和功能是什么?
5.什么是ODS对象?
ODS对象的传送目标和相应的文件格式是什么?
缺省的ODS传送目标是什么?
6.怎样打开和关闭传送ODS目标?
7.利用ODS将SAS系统的输出结果直接生成SAS数据集一般需要几步完成?
举例说明直接生成SAS数据集的全过程。
第13章变量输入输出格式控制
1.分别说明怎样使用SAS系统的输入输出格式?
2.什么时候得到永久的输入输出格式,什么时候得到临时的输入输出格式?
3.INPUT函数能将字符转换为数值,能转换字符”1999-1-1”为数值吗?
即下面程序能得到正常结果吗?
dataa;
logdate=’1999-1-1’;
date=input(logdate,yymmdd10.);
run;
4.解释下面输入格式的用法:
BZw.d
BINARYw.d
COMMAw.d
COMMAXw.d
Ew.d
$w.
$CHARw.
5.列出你平时常用字符,数值和日期时间变量的输入输出格式。
6.SAS系统怎样存贮日期时间值?
7.说明下面语句的结果:
data;
date=mdy(10,1,2002);
putdate8.;
x=put(today(),date7.);putx;
y=put(today(),8.0);puty;
z=today();putz;
u=put(15260,yymmdd10.);putu;
v=put(15260,date9.);putv;
x=13807;
formatxyymmdd10.;
putx=;
date='11oct2001'd;
putdate=;
formatdateyymmdd10.;
run;
8.你能给出几种计算某日在SAS系统内存贮天数的方法。
9.SAS系统产生缺失值的情况有哪些?
第14章SAS宏功能
1.怎样定义和引用宏变量.
2.在引号内引用宏变量时,是用单引号还是双引号。
为什么?
3.怎样将一个完整的SAS程序段赋给一个宏变量?
4.怎样显示宏变量的值,解释下面程序:
data_null_;
%leta=first;
%letb=macrovariable;
%put&a!
!
!
&b!
!
!
;
run;
5.什么是宏?
怎样定义宏?
6.怎样调用宏?
7.什么是宏参数?
8.使用宏参数的优点有哪些?
9.解释并调用下面一段宏:
%Macronames(name,number);
%don=1%to&number;
&name&n
%end;
%mendnames;
10.用SYMPUT子程序创建一个值来自DATA步的宏变量,写出例程,并说明SYMPUT子程序的作用?
11.将数据步中变量X的值赋给宏变量A时,以下两种方法都可以吗?
为什么?
callsymput(‘A’,X);
%letA=X;
分析下面程序在LOG窗口的输出结果:
dataa;
setfdata.classnobs=nobs;
callsymput('b',nobs);
%leta=nobs;
%put&a&b;
ru