开发工具:
文件大小: 2mb
下载次数: 0
上传时间: 2019-03-23
详细说明:NULL
博文链接:https://xuan0506.iteye.com/blog/10415879.3用ODS生成HTML输出
447
ASAS Output microsoft Internet Exp1axer腕机,,
回刘
详莫奇Asou= Microsoft Internet EEDlgrer=机工
正E)编辑(E查音收城工具红:性助
止联前
地址()叭:pt,k:n
刷新主页搜索
址D
\sl1.hTml
华后
2 Eerk
abs name se翼
x ag
海90
10 Alfred M
Karen
11 Cuke M
12
50
12Gu0
6 MarF
6忘120
13Jame↓
505
14 Jefrey
15
15 Johnt:/
9 Tammy
U2
16 PhilipP
返匈柱状图
17 Roter No
喪格模板和格式模板
ODS将过程的输出对象灵活地以多种格式向不同的囗标传递,其显示形式的管理主要
靠两类模板( Tamplate
●表格模板( able empale或 Table definition
格式模板( Style template
由于绝大部分输出对象的内容是排为行列形式的数据值.每个输出对象都有自己的表格
模板,在使用 DS TRACE跟踪时, Template之后的内容就是输岀对象使用的表袼模板(参
见第416页).表格模板规定了显示输出对象的内容时加入的头和脚,列的次序和输出格
式
格式模板可用于所有输出对象.在ODS语句中使用的选项“ STYLE=是指定格式模板
格式模板规定了显示内容各个部分使用的背景色和字符的各种属性(字体、字型、字号和颜
色等等
表格模板和格式模板都可以通过过程 TEMPLATE进行管理,包括奎询,修改和增删.
模板的询也可以在resl(结果)窗口进行:
用右键点击结果窗口,在弹出菜单选 Templates即可弹出模板管理窗口.在这个窗口
可以象使用浏览器一样浏览模板
448
第九章ODS初步
Phy hs Environment
ntents of stxl
a. EHP_ore Pron Her
日—」』x
L Template proc template
tyle sty les.statdoc
tyles de fault
replace font
eFon
erdana he lvetica. he lv
omm oIL
a TitleFont2=[ Verdana. He lvet ica, He 1v.2
Et
Emphas isFont = Verdana. He lvetica, He
F ixedEmphasisFont=( Cou
出 Insi ght
C Cour ier New
使用过程 TEMPLATE,可以自定义各种模板.通过自定义各种模板,可使显示的输出结
果在各种传送目标都能满足用户需要,关于模板的管理和过程 TEMPLATE的用法请参见
参考书目⑨
第十章SAS宏功能
本章内容
使用和定义宏变量
使用和编写宏
310.1概述
在前面各章的SA5编程中,已经看到SAS系统提供的编程手段中包含了多种语言成分
数据步和过程步
全局话句(ODS语句: Options语句, Libname语句,Tite语句等等
·SQL查询
SAS系统为了实现其从数据访问,数据管理,数据分析到数据展现全面的辅助决策功
能,还提供以下的编程手段:
用干应用开发的S( LISAS Component language
·SAS宏( Macro)话言
SAS系统的这几种编程手段各有自己的特点,并且是互相联系的.在SAS编程环境下
可以根据任务的不同需要选用部分或全部于段.作为SAS编程的初学者,学会使用数据步,
过程步和全局话句是必须的.为了将程序编得更有效和便于维护,就要使用SAS宏话言.在
面向DBMS数据的数捃管理时,使用SQL是一个重要的手段,而利用SAS系统开发面向应
用的系统时就必须使用SAs的SL
SAS宏功能是SAS编程工具,它可以扩展SAS系统的功能并使其用户化.使用了SAS
宏可以将一个变量,一段程序或一个文本命名,在以后的程序中需要调用这个变量;程序或
文本时只需调用其名称
SAS系统提供了强大的宏语言功能.使用宏语言可以:
获取SAS的系统信息
有条件地执行数据步和过程步
开发交互式系统
产生与数据无关的SAS程序,但可展示与数据相关的结果
在不同约SAS数据步或过程步之间传递数据
●重复执行SA5程序码
获取系统信息
使用SAS宏语言可以从系统获取信息,SAS系统在启动时机创建了一些自动宏变量,
如 SYSDATE SYSTIME, SYSVER等,用以存储当前SAS进程启动的日期,时间,版本号
以及其它信息,用户可以在任何情况下使用这些宏变量获得相应的信息
449
450
第十章SAS宏功能
有亲件地执行数据步和过程步
有时用户需要有条件地执行数据步和过程步.例如每天要提交一份生产情况的详细报
告,每周五要増加一份汇总报告.使用宏功能每天运行同一个程序就可以实现上述仨务.
开发交互式系统
使用SAS宏语言的% WINDOW语句及一些基本的编程语句就可方便地开发如下的交
互式用户界面
+R
epart
eee eee
Exective Report system
Enter a value in all fields
ENTER THE SITE OF THE COURSE =
Hpee tep p
ENTER THE MONTH OF REPORT
ENTER REPORT TYPE
至于利用SAS的开发各种专用内应用系统,使用SAS宏话言更是必须内
产生与数据无关的SAS程序
与其它宏话言样,SAS宏语言在保持程序的独立性和移植生方面也具有重要意义
用户可以使用宏话言产生与数据无关的程序,以便在程序中能够使用不同的数据和在不同场
合中使用.例如需要制作不同时段不同车间生产情况的汇总报告,而且要将时段和车间的信
息在标题和脚注中显示.在程序中使用了宏变量就可用一个程序适应多种需求,即只要填入
很少必须的参数
在不同的SAS数据步或过程步之问传递数据
在不同的数据步和过程步之间有时需要传递数据,例如需要用上一个过程步计算得到的
均值在下一个数据步中对数据进行加工,使用SAS的宏变量可以做到这一点因为SAS宏
变量可以在SAS的任句地方被引用,而且具有全局性,故成为不同过程之间传递数据最方便
的手段,
重复执行SAS程序码
使用SAS宏话言常常可以大大精简稈序量.例如有20个S∴S数据集分别存储从1970
年到198年某产品的销售情况,它们是:YDA70,YEAR7,YEAI721…,YEAR89假设
用户需要用 PROC PRINT来显示所有的数据.当然可以使用20个 PROC PRINT打印这些
数据,但这个程序重复编码太多.使用以下的宏语句就可使程序写得十分简单
5101概述
451
‰ MACRO PR|NT
%DONN=70 %To 89
proc print data year&NN
ite‘19&NNSa|esDa
%END
壮 ND PRIN|;
‰PR|NT;
宏语言的管理
SAS宏谞言包括去变量,相应的程序谮句,表达式和函数,即提供了与5AS的数据步编
程类似的组件,凡用到SAS宏语言的变量和语言成分,都以符号%或&开始.在SAS系统
中,根据这些符号触发系统对宏话言的处理器来实现对宏语言的管理
包含宏语言成分的SAS程序提交后,在编译阶段系统对程序逐词扫描过程十,凡遇有符
号%或开始的词,就启动宏语言处理器对宏语言进行处理:
对于宏变量或去程序的定义就进行登记
对于宏变量的调用就进行解读( Resolve对宏程序的调用则读入相应的源程序进行编
译
对其它些宏语句也縮译成相应的程序.
总之,含有宏语言的程序在编译阶段先对宏语言的成分进行∫各和处理,然后将加工的
结果和一般的程序步程序再编译成各种可执行编码
INCLUDE语句
% CLUDE语句是一个全局语句,它可以出现在程序的任何位置.它的作用就是在语
句所在位置读入存放在外部文件中的一段文本作为程序并在执行时按程序执行.它只是使用
了宏语句的符号%.它的一般形式为
‰| NCLUDE文件设定(/ SOURCE2);
其中文件设定可以是直接给出用引号括起来的文件物理地址,也可以引用逻辑文件名.由
SINCLUDE话句读入的程序一般不在LOG窗口显示,语句的选项 SOURCE2就是要求将
读入的程序也在LOG窗口显示
例如在标签为dt( abc.sas的外部文件存放了如下的程序:
oc prIn
itle Datset %trim(& syslast
I un,
则提交下列左侧的和右侧的栏序效果相同
452
第十章SAS宏功能
ta tem
data tem
set sasuser. class
set sasuser.class
if sex = 'F
run
ru
proc print.
Include dst(abc, sas)
set%otim(& syslast)¨
run
若在‰ INCLUDE语句中使用了选项 SOURCE2,则在LOG窗口会显示如下的信息
data tem
set sasuser. class
if sex=F
include dst(abc. sas")/source 2
LOG信息:
230 data tem
set sasuser, class;
32
主gex=F’;
233 rum
234 include dst('abc. sas)/source2
NOTE: MINCLUDE (level 1) file DST(abc, sas) is file d: \lecsas\ Base v8\dst,, abc,sas
235 +proc print
236+ title Dataset trim(&syslast)";
237 +rum:
NOTE: MINCLUDE (level 1) ending
3102SAS宏变量的使用与定义
宏变量是SAS宏语言的一部分.在SAS程序中除输入数据行以外的任何部分都可以定
义和使用宏变量.它与数据步中的变量不同.数据步中变量的值往往与被处理观测有关,而
宏变量有唯·确定的值
SAS的宏变量只有如下特性
·存储宁符串.宏变量存储的内容也称为宏变量的值
·具有和SAS的其它变量相同的命名规则(由字母或下划线开始,由字母数字和下划线
组成3长度不超过32个字节
全局的宏变量在定义后能够在SAS的任何地方被引用,是全局竹变量
不是SAS数据步变量,可以在数据步中引用,但不能在数据步中用赋值语句定义
宏变量共有两种:
510.2SAS宏变量的使用与定义
自动宏变量:由SAS系统提供
用户定义的宏变量:由用户在程序中定义
在程序中为了得到宏变量的值,只需引用宏变量.它遵循如下规则
◆程序中引用SAS宏变量时,只需在变量名前加上符号&3
&宏变量名
例如& sedate, ¯o variable,& macro variable2等
在程序中宏变量被引用的效果为用宏变量的值直接替代宏变量名,这一过程也称之为
解读( Reso lve).实际执行的是被解读后的程序
如果被引用的宏变量包含在一对引号之间,则这对引号应该使用双引号,而不是单引
号,在单引号中带有&的宏变量名不被解读,只当作一个特殊的字符串
·宏变量的引用必领在它的定义之后.否则将无法解读,程序提交后将报错.
例如:
宏变量名宏变量值
TOWN
Dall
DATE
2001-03-25
源程序语句
解读结果
where city="&town
where city= Dallas
footnote Prepared on &date
footnote Prepared an 2001-03-25
为了直接解读一个宏变量待到它的值,可以在程序编辑器窗口或增强型编辑器窗口递交
如下的话句,在Iog窗口即可显示宏变量的内容
%PUT&宏变量名;
例如宏变量& SYSVER的内容是使用的SAS版本
LOG信息:
poPuT &sysver
1‰put& syster
8.1
又如宏变量ABC尚未定义,所以无法解读
LOG信息:
pput &abc
2为 put &abc;
WARNING Apparent symbolic reference ABC not rcso lcd
Cabc
一般地,若提交以下的话句:
%PUT一段文字
454
第十章SAS宏功能
则将在LOG窗口显示这一段文字,并在显示前对其中的宏变量进行解读.例如
LOG信息
%put Macro Variable SYSVER =&sysver;74 %put Macro Variable SYSVER= &eysver
Macro Variable syster =8.1
81021自动宏变量
自动宏变量是由SA5系统定义的,只有如下特性
在SAS进程开始时或程序运行过程中由系统自动创建
在SAS退出前一直保持有效
是全局的宏变量,能够在SAS的任何地方被引用.
下面是一些主要的自动宏变量:
SYSDATE|sAS进程开始的日期,如01JAN90
SYSDATE9以Date9.格式显示的SAS进程开始的日期,如1JAN2001
SYSTIME5A5进程开始的时间,如09:00
SYSSCP使用的操作系统的简写名称,如WI
SYSDAY5S进得开始是为星期几,如 Monday
SYSVER使用SAS的版本,如8
SYSLAST最新创建的SAS数据集的名字,如 WORK. SALES
若尚未创建新的数据集,则其值为NUTI
以上白动宏变量只是系统提供的宏变量中的一小部分.若要查看所有自动宏变量的值,
可提交如下的话句,提交以下的语句后将在IOG窗口显示所有自动宏变量的值
%put automatic
曾L。E-{ Unit】ed)
AUTOMATIC SYSPBUFF
AUTOMATIC SYSPROTESS ID 41D365CAB0570A3D4Q100Q0Q00QQ00QQ
ITOMAT IC SYSPROCESSNAME DMS Process
TOMATIC SYSRC C
MATIC
AUTOMATIC S丫 SSCPL WIN98
EUTOMATIC SYSS
0008839082
AUTOMAT IC SYSSTAHTID
CUTOMOTIC HYHGTCNTN^M匚
OMATIC SYSTIME 13: 5
ITIMATI SIS ISI
AlITMATI. sYSFR RI
AUTOMATIC SISLONG 8, ol alopa50ea
AU TUMATIL SYSVLUNG4 801.01M0P05082000
pue 3ut-matIC A
从上面显示的信息可以看出,自动宏变量的名称大多以SYS为前缀
使用自动宏变量
编程中需要得到自动宏变量的值时,只需用下列方式引用宏变量
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.