SAS的输入输出格式2011

合集下载

SAS:变量输入输出格式

SAS:变量输入输出格式

INPUT语句
例8.1 列格式输入。
input @6 date ddmmyy10. @+1 stocd $ 8. oppr 8.2;
例中,从第6列开始以DDMMYY10.格 式读入变量DATE, 第7列开始以长度为 8的字符格式读入变量STOCD,然后以 数值格式8.2读入变量OPPR。
INPUT函数
cards;
xyz
.
uvw
; options nocenter; proc print noobs; run;
输出结果: xyz . uvw
INPUT语句采取自由格式输入时,INFORMAT或ATTRIB语句中不 能使用$CHAR.输入格式,因为SAS把空格看作数据行中数值间的分 隔符。
例8.13 不能放放在一起使用的语句。 informat x $char12.; input x y z; 例8.14直接赋值为字符型变量。 data a; x1='st92';
字符变量输入格式
$w.输入格式
读入标准字符数据。 在读入字符值之前,$w.输入格式清除字符值开头的空格。 $w.输入格式把一个点(.)转换为空格,因为它把一个点看作缺失值。
例8.11 读入数据时,清除数据开头空格并将(.)转换为缺失值。
data;
input name $5.;
cards;
xyz . uvw
例8.3 数值转换为字符时会产生不正确结果。 data; x=2557898; y=input(x,$8.); put y; run; 例中,产生的结果为255, 不正确。
例8.4 PUT函数将数值转换为字符。 data; x=2557898; y=put(x, $8.); put y; run; 例中,用PUT函数得到正确结果,即字符型2557898. data; x=2557898; y=put(x, $3.); put y; run; 例中,Y的结果为3E6.

sas使用手册

sas使用手册

sas使用手册SAS(Statistical Analysis System)是一款广泛使用的统计分析软件,其使用手册对于使用者来说是不可或缺的指南。

以下是一个简短的SAS使用手册,以帮助您快速了解其基本功能和操作。

一、概述SAS是一个模块化、集成化的软件系统,主要用于数据管理、统计分析、预测建模和报告生成。

它支持多种编程语言,包括SAS语言、SAS宏语言和SAS SQL语言,使得用户可以根据自己的需求进行定制化操作。

二、安装与启动要使用SAS,您需要先将其安装到您的计算机上。

您可以从SAS官网下载适合您操作系统的安装程序,并按照屏幕提示进行安装。

安装完成后,您可以通过启动SAS Enterprise Guide或SAS Studio来使用SAS。

三、数据管理SAS提供了一系列数据管理工具,可以帮助您导入、清洗、合并和转换数据。

您可以使用DATA步来创建、修改和删除数据集,使用SQL语言进行更高级的数据查询和操作。

四、统计分析SAS提供了广泛的统计分析方法,包括描述性统计、方差分析、回归分析、聚类分析、主成分分析等。

您可以使用PROC步来调用相应的过程,并指定所需的参数和选项。

例如,要执行回归分析,您可以编写以下代码:PROC REG DATA=your_dataset; MODELdependent_variable = independent_variable / VIF; RUN;五、模型构建与预测SAS提供了多种预测模型,包括线性回归模型、逻辑回归模型、决策树模型、神经网络模型等。

您可以使用PROC步来构建和评估模型,例如:PROC SVM DATA=your_dataset; CLASS target_variable; MODEL dependent_variable = independent_variable; CROSSVALIDATE; RUN;六、报告生成SAS支持将分析结果导出为各种格式的报告,包括HTML、PDF、Word等。

sas中format的用法

sas中format的用法

sas中format的用法SAS中format的用法在SAS中,format是一种用于格式化数据输出的工具。

它可以将数据按照指定的格式进行输出,使得数据更加易于阅读和理解。

下面将介绍SAS中format的用法。

1. 创建format在SAS中,可以使用proc format语句来创建format。

例如,下面的代码创建了一个名为gender_fmt的format,将1格式化为“男性”,将2格式化为“女性”。

proc format;value gender_fmt1='男性'2='女性';run;2. 应用format在SAS中,可以使用format语句来应用format。

例如,下面的代码将变量gender应用了gender_fmt格式。

data test;set data;format gender gender_fmt.;run;3. 自定义format在SAS中,还可以自定义format。

例如,下面的代码创建了一个名为age_fmt的format,将年龄按照不同的范围进行格式化。

proc format;value age_fmt0-10='儿童'11-20='青少年'21-30='青年'31-40='中年'41-high='老年';run;4. 应用自定义format同样地,在SAS中,可以使用format语句来应用自定义format。

例如,下面的代码将变量age应用了age_fmt格式。

data test;set data;format age age_fmt.;run;总结SAS中的format是一种非常有用的工具,它可以将数据按照指定的格式进行输出,使得数据更加易于阅读和理解。

通过proc format语句,可以创建自定义的format,通过format语句,可以应用format。

SAS系统和数据分析输入输出格式

SAS系统和数据分析输入输出格式

SAS系统和数据分析输入输出格式SAS(Statistical Analysis System)是一种用于数据分析的软件系统,它可以用于数据处理、统计建模、数据挖掘、报告生成等多个方面。

SAS系统提供了一套完整的数据分析工具和功能,使得用户可以方便地进行数据处理和分析工作。

在SAS系统中,数据的输入和输出格式对于数据分析是至关重要的。

正确的输入格式可以确保数据能够被正确地导入到SAS系统中进行分析,而输出格式则决定了分析结果的呈现方式和使用方式。

对于文本文件的输入,SAS系统可以通过DATA步骤或者PROC IMPORT 过程来导入数据。

在DATA步骤中,用户可以使用INFILE语句来指定输入文件路径和参数,然后使用INPUT语句来定义数据的列变量和格式。

PROC IMPORT过程则可以通过对话框或者语句方式导入数据,用户可以选择数据文件、工作表和导入选项。

对于Excel文件的输入,PROC IMPORT过程同样可以很方便地将数据导入到SAS系统中。

在数据输入之后,SAS系统中的数据可以采用两种不同的存储方式,即SAS数据集和SAS视图。

SAS数据集是一种独立于数据源的数据存储方式,它可以被完全加载到存储器中,方便用户进行数据处理和分析。

而SAS视图则是一种基于数据源的虚拟表格,它不占用存储空间,只有在需要数据时才从数据源中获取。

用户可以通过DATA步骤或者PROCSQL语句来创建SAS数据集和SAS视图。

在数据分析之后,SAS系统中的数据可以通过多种方式进行输出。

最常见的输出方式是创建报告和导出结果。

SAS系统提供了PROC REPORT和PROC TABULATE等过程,可以帮助用户根据数据的特点和要求生成不同样式的报告。

用户可以通过对话框或者语句方式设置报告的格式、样式和输出路径。

此外,SAS系统还支持将结果输出到外部文件,例如文本文件、Excel文件、PDF文件等。

用户可以通过DATA步骤或者PROC EXPORT过程将数据导出到指定的文件中。

常用的sas数据输入输出格式

常用的sas数据输入输出格式

常用的sas数据输入输出格式表一常用输出格式表二常用输入格式类别格式名作用简介字符 $w.标准字符格式,w 表示变量的宽度(w 的缺省值为8)$UPCASEw. 把字符转成大写日期时间DATETIMEw.d 显示日期时间格式为ddmmmyy:hh:mm:ss.ssDATEw. 显示日期格式为ddmmmyy,ddmmmyyyy,或dd-mmm-yyyy YYMMDDxw. 显示日期格式为yymmdd 或yyyy-mm-dd(x 为分隔符) HHMMw.d 显示时间格式为hh:mm数字BESTw. SAS 自动选择最合适的数字格式(w 缺省值位12)COMMAw.d 带千分位的数字格式DOLLARw.d 带美元符号的格式PERCENTw.d 带百分比形式PVALUEw.d 统计P 值显示格式w.d 标准的数字格式(数值的总长度为w ,小数位占d 位,整数占w-d 位)Zw.d 前面位数不够补0填充类别格式名作用简介字符 $CHARw.读入带空格的字符 $w. 标准字符格式日期时间ANYDTDTEw. “万能”读入日期格式ANYDTDTEMw. “万能”读入日期时间格式ANYDTTMEw. “万能”读入时间格式DATETIMEw. 读入格式为ddmmmyy:hh:mm:ss.ss 或ddmmmyyyy:hh:mm:ss.ss 的日期时间DATEw. 读入格式为ddmmmyy 或ddmmmyyyy 的日期DDMMYYw. 读入格式为ddmmyy或dd-mm-yy格式的日期HHMMSSw.d 读入格式为hh:mm:ss 或hhmmss 的时间 MMDDYYw. 读入格式为mmddyy 或mmddyyyy 的日期数字COMMAw.d 读入数字时移除数字键的字符 PERCENTw.d 读入百分比数字 w.d 读入标准数字格式。

sas字体输出控制

sas字体输出控制

使用SAS定制报表的标题和尾注来源] [原文] /publishing/bbu_tip/delwiche_custom_titles.htmlBy Lora D. Delwiche, University of California, Davis and Susan J. Slaughter, Avocet Solutions当你把输出结果发送到Listing窗口时,你可能希望对标题和脚注的外观进行一定的控制。

这是由于列表输出方式只使用一种字体(SAS Monospace)和一种颜色(黑色)。

而其他的输入方式,如HTML、RTF、PDF及PostScript等,则可以提供一些选项供你选择。

对于列表输出,如果你不满意标题或脚注的默认格式,你可以使用PROC TEMPLATE语句来定义客户化的样式模板。

然而,你也可以在TITLE和FOOTNOTE语句中插入一些简单的选项来改变标题和脚注的外观。

一般的TITLE和FOOTNOTE语句的格式如下:TITLE 选项 '字符串1' 选项'字符串2' ?选项 '字符串n';FOOTNOTE 选项 '字符串1' 选项 '字符串2' ?选项 '字符串n';每段文字可以分成几个部分,对每个部分可以应用不同的选项。

SAS将按照你的输入,正确的连接字符串,并且保留必要的空格。

每一个选项都会对其后的字符串产生作用,并且一直保留这一效果,直到为其后的字符串指定了选项,或是语句结束。

以下是你可以使用的主要选项:COLOR= 指定文字的颜色BCOLOR= 指定文字的背景色HEIGHT= 指定文字的高度JUSTIFY= 指定文字的对齐方式FONT= 指定文字的字体BOLD 显示粗体的文字ITALIC 显示斜体的文字颜色选项COLOR=用于制定字体的颜色。

例如下面的语句TITLE COLOR=BLACK 'Black ' COLOR=GRAY 'Gray ' COLOR=LTGRAY 'Light Gray';将生成如下的标题:Black Gray Light GraySAS支持数百种的颜色,从基本的红色一直到较少使用的略带紫红的浅灰色。

金融数据库——SAS编程与数据处理2-18章复习题

金融数据库——SAS编程与数据处理2-18章复习题

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常数及其类型。

SAS的输入输出格式2011

SAS的输入输出格式2011

遵循以下原则:
2、数值型输入/输出格式
2、输出格式: Bestw.d, w.d 和 Ew. Bestw.d:系统默认格式(相当于后两种格式的自动识 别)。w缺省值为12,最大值可达32 w.d:将数值用不超过d位小数及总宽度不超过w位的定点 数表示 Ew. :用宽度不超过w的浮点数表示
注:宽度设置不合适时,自动调用SAS系统同宽度的Best格式表示。
INVALUE:定义输入格式 VALUE : 定义输出格式。 下面只介绍定义输出格式(自定义格式比较特别)。
4、自定义格式
语法:
PROC FORMAT; VALUE 自定义输出格式名字 RUN;
定义的格式 ;
自定义输出格式名字:应符合SAS的命名要求,注 意最后一个字符不能是数字。 定义的格式: 原始值=格式化的输出值



1、字符型输入/输出格式

1、输入格式:$w. 和 $CHARw.
共同特点:缺省值均为变量的长度 不同点: $w. :必须指定w的值,不保留字符串前的空格 $CHARw.:w的缺省值为8,保留字符串前的空格
2、输出格式:$w. 和 $CHARw.
共同特点:保留字符串前的空格 注:一个汉字占两个字节


日期,时间,日期时间型的数据均以 与0值的差值数据存入计算机。 零点值的规定
日期型: 时间型: 日期时间型
0 值(1960.1.1),其他日期为与其的差值 0值(0时0分0秒) 0值(1960年1月1日0时0分0秒)
3、日期时间型输入/输出格式

1、日期输入格式 :YYMMDDw.
读入的数据形式为:yymmdd / yyyymmdd
data b; input dd mmddyy10.; format dd mmddyy10.; cards; 01312002 03122003 5 13 2004 4 21 2005 5 25 2006 1/2/2007 3-24-2008 ; proc print; run;

SAS讲义 第五课输入输出格式

SAS讲义 第五课输入输出格式

第五课输入输出格式一.SAS数据集中变量的类型SAS共有两种类型的变量:●字符型变量━━以ASCII码存放,最大长度不超过200字符。

●数据型变量━━以浮点数存放,长度为8个字节。

SAS数据集的矩阵式结构要求每个观测的每个变量值都必须存在,因此如果某个数据值缺失,系统会自动补上一个缺失值。

对于数字型变量,这个值显示为一个点“.”,而对于字符型变量,这个值显示为空格。

二.输入和输出格式SAS数据集的数据值的内部存放格式并不一定与该数据值的输入和输出格式一致,这取决于SAS的两个重要功能:输入格式(Informats)和输出格式(Formats)。

输入格式指示SAS 系统如何读入数据,而输出格式指示SAS系统如何输出数据。

它们的一般形式如下:●输入格式:<$>informat<w>.<d>●输出格式:<$>format<w>.<d>其中$符号指示这是个字符输入输出格式,没有$符号表示是数值输入输出格式;Informat 是一个输入格式的名字,format是一个输出格式的名字;w是宽度值,对许多输入输出格式这个值是输入输出数据的列数;d在数值输入输出格式中是小数部分的长度;点”.”是所有输入输出格式中必须包含的分隔符,作为名字的一部分。

如果在格式中省略w和d值,SAS系统使用缺省的值。

在SAS系统6.12版本中有五类输入格式,字符输入格式共有14种,数值输入格式共有35种;四类输出格式,字符输出格式共有13种,数值输出格式共有41种。

三.日期时间值在SAS系统中的存储当变量的值表示日期、时间和日期时间时,在这种特殊的情况下,用户还需了解日期时间值在SAS系统中是怎样被存储的。

SAS系统存储日期值为:●1960年1月1日和这个日期之间的天数例如1962年3月8日被存储为797(即366+365+31+28+7),1958年10月1日被存储为-457(即-365-31-30-31)。

SAS数据的导出和导入

SAS数据的导出和导入

SAS数据导出导入经常导入和导出的数据格式包括:文本文件(txt格式)、纯数据文件(dat格式)、EXCEL文件(xls格式)、ACCESS文件(mdb格式);程序如下:一、导入导出文本文件(txt格式)、纯数据文件(dat格式);其实都是导入导出DLM文件(*.*),需要指定分隔符号。

如下(以txt为例,dat同样):1.TAB分割,第一行为变量名PROC IMPORT OUT= WORK.aDATAFILE= "D:\cha\1.txt"DBMS=TAB REPLACE;GETNAMES=YES;DATAROW=2;RUN;PROC EXPORT DATA= WORK.FILELISTOUTFILE= "D:\filelist.txt"DBMS=TAB REPLACE;RUN;2.SPACE分割,第一行为变量名PROC IMPORT OUT= YANG.WORDDATAFILE= "D:\a\word.txt"DBMS=DLM REPLACE;DELIMITER='20'x;GETNAMES=YES;DATAROW=2;RUN;PROC EXPORT DATA= WORK.AAOUTFILE= "C:\b.txt"DBMS=DLM REPLACE;DELIMITER='20'x;RUN;二、导入导出EXCEL文件(xls格式)程序如下:PROC IMPORT OUT= WORK.ALLWORDDATAFILE= "F:\cc.xls"DBMS=EXCEL REPLACE;SHEET="Sheet1$";GETNAMES=YES;RUN;PROC EXPORT DATA= WORK.AOUTFILE= "D:\export1.xls"DBMS=EXCEL REPLACE;SHEET="nameofsheet";RUN;三、导入导出ACCESS文件(mdb格式)程序如下:PROC IMPORT OUT= WORK.aaDATATABLE= "username"DBMS=ACCESS REPLACE;DATABASE="D:\all\userinfo.mdb";RUN;PROC EXPORT DATA= WORK.AOUTTABLE= "export1"DBMS=ACCESS REPLACE;DATABASE="D:\example.mdb"; *must be an exsited database; RUN;。

SAS日期格式输出格式大全

SAS日期格式输出格式大全

SAS日期格式输出格式大全原文地址:[转载]SAS日期格式输出格式大全作者:Bugjay 原网址:DATE. -> 16DEC09DATE5. -> 16DECDATE6. -> 16DECDATE7. -> 16DEC09DATE8. -> 16DEC09DATE9. -> 16DEC2009DAY. -> 16DAY3. -> 16DAY4. -> 16DAY5. -> 16DAY6. -> 16DAY7. -> 16DAY8. -> 16DAY9. -> 16DAY10. -> 16DAY11. -> 16DAY12. -> 16DAY13. -> 16DAY14. -> 16DAY15. -> 16DAY16. -> 16DAY17. -> 16DAY18. -> 16DAY19. -> 16DAY20. -> 16DAY21. -> 16DAY22. -> 16 DAY23. -> 16 DAY24. -> 16 DAY25. -> 16 DAY26. -> 16 DAY27. -> 16 DAY28. -> 16 DAY29. -> 16 DAY30. -> 16 DAY31. -> 16 DAY32. -> 16DDMMYY. -> 16/12/09 DDMMYY2. -> 16DDMMYY3. -> 16DDMMYY4. -> 1612 DDMMYY5. -> 16/12DDMMYY7. -> 161209 DDMMYY8. -> 16/12/09 DDMMYY9. -> 16/12/09 DDMMYY10. -> 16/12/2009DDMMYY. -> 16/12/09 DDMMYYB2. -> 16 DDMMYYB3. -> 16 DDMMYYB4. -> 1612 DDMMYYB5. -> 16 12 DDMMYYB6. -> 161209 DDMMYYB7. -> 161209 DDMMYYB8. -> 16 12 09 DDMMYYB9. -> 16 12 09 DDMMYYB10. -> 16 12 2009 DDMMYYC2. -> 16 DDMMYYC3. -> 16 DDMMYYC4. -> 1612 DDMMYYC5. -> 16:12 DDMMYYC6. -> 161209 DDMMYYC7. -> 161209 DDMMYYC8. -> 16:12:09 DDMMYYC9. -> 16:12:09 DDMMYYC10. -> 16:12:2009 DDMMYYD2. -> 16 DDMMYYD3. -> 16 DDMMYYD4. -> 1612 DDMMYYD5. -> 16-12 DDMMYYD6. -> 161209DDMMYYD8. -> 16-12-09 DDMMYYD9. -> 16-12-09 DDMMYYD10. -> 16-12-2009 DDMMYYN2. -> 16 DDMMYYN3. -> 16 DDMMYYN4. -> 1612 DDMMYYN5. -> 1612 DDMMYYN6. -> 161209 DDMMYYN7. -> 161209 DDMMYYN8. -> 16122009 DDMMYYP2. -> 16 DDMMYYP3. -> 16 DDMMYYP4. -> 1612 DDMMYYP5. -> 16.12 DDMMYYP6. -> 161209 DDMMYYP7. -> 161209 DDMMYYP8. -> 16.12.09 DDMMYYP9. -> 16.12.09 DDMMYYP10. -> 16.12.2009 DDMMYYS2. -> 16 DDMMYYS3. -> 16 DDMMYYS4. -> 1612 DDMMYYS5. -> 16/12 DDMMYYS6. -> 161209 DDMMYYS7. -> 161209 DDMMYYS8. -> 16/12/09 DDMMYYS9. -> 16/12/09 DDMMYYS10. -> 16/12/2009DOWNAME. -> Wednesday DOWNAME1. -> WDOWNAME2. -> WeDOWNAME3. -> WedDOWNAME4. -> WednDOWNAME5. -> WedneDOWNAME6. -> WednesDOWNAME7. -> Wednesd DOWNAME8. -> Wednesda DOWNAME9. -> Wednesday DOWNAME10. -> Wednesday DOWNAME11. -> Wednesday DOWNAME12. -> Wednesday DOWNAME13. -> Wednesday DOWNAME14. -> Wednesday DOWNAME15. -> Wednesday DOWNAME16. -> Wednesday DOWNAME17. -> Wednesday DOWNAME18. -> Wednesday DOWNAME19. -> Wednesday DOWNAME20. -> Wednesday DOWNAME21. -> Wednesday DOWNAME22. -> Wednesday DOWNAME23. -> Wednesday DOWNAME24. -> Wednesday DOWNAME25. -> Wednesday DOWNAME26. -> Wednesday DOWNAME27. -> Wednesday DOWNAME28. -> Wednesday DOWNAME29. -> WednesdayDOWNAME30. -> Wednesday DOWNAME31. -> Wednesday DOWNAME32. -> WednesdayEURDFDD. -> 16.12.09EURDFDD2. -> 16EURDFDD3. -> 16EURDFDD4. -> 1612EURDFDD5. -> 16.12EURDFDD6. -> 161209EURDFDD7. -> 161209EURDFDD8. -> 16.12.09EURDFDE. -> 16DEC09EURDFDE5. -> 16DECEURDFDE6. -> 16DECEURDFDE7. -> 16DEC09EURDFDE8. -> 16DEC09EURDFDE9. -> 16DEC2009EURDFDN. -> 3EURDFDN1. -> 3EURDFDN2. -> 3EURDFDN3. -> 3EURDFDN4. -> 3EURDFDN5. -> 3EURDFDN6. -> 3EURDFDN7. -> 3EURDFDN8. -> 3EURDFDN9. -> 3EURDFDN11. -> 3 EURDFDN12. -> 3 EURDFDN13. -> 3 EURDFDN14. -> 3 EURDFDN15. -> 3 EURDFDN16. -> 3 EURDFDN17. -> 3 EURDFDN18. -> 3 EURDFDN19. -> 3 EURDFDN20. -> 3 EURDFDN21. -> 3 EURDFDN22. -> 3 EURDFDN23. -> 3 EURDFDN24. -> 3 EURDFDN25. -> 3 EURDFDN26. -> 3 EURDFDN27. -> 3 EURDFDN28. -> 3 EURDFDN29. -> 3 EURDFDN30. -> 3 EURDFDN31. -> 3 EURDFDN32. -> 3EURDFDWN. -> Wednesday EURDFDWN1. -> W EURDFDWN2. -> We EURDFDWN3. -> Wed EURDFDWN4. -> Wedn EURDFDWN5. -> WedneEURDFDWN7. -> Wednesd EURDFDWN8. -> Wednesda EURDFDWN9. -> Wednesday EURDFDWN10.-> Wednesday EURDFDWN11.-> Wednesday EURDFDWN12.-> Wednesday EURDFDWN13.-> Wednesday EURDFDWN14.-> Wednesday EURDFDWN15.-> Wednesday EURDFDWN16.-> Wednesday EURDFDWN17.-> Wednesday EURDFDWN18.-> Wednesday EURDFDWN19.-> Wednesday EURDFDWN20.-> Wednesday EURDFDWN21.-> Wednesday EURDFDWN22.-> Wednesday EURDFDWN23.-> Wednesday EURDFDWN24.-> Wednesday EURDFDWN25.-> Wednesday EURDFDWN26.-> Wednesday EURDFDWN27.-> Wednesday EURDFDWN28.-> Wednesday EURDFDWN29.-> Wednesday EURDFDWN30.-> Wednesday EURDFDWN31.-> Wednesday EURDFDWN32.-> WednesdayEURDFMN. -> DecemberEURDFMN1. -> DEURDFMN2. -> DeEURDFMN3. -> DecEURDFMN4. -> DeceEURDFMN5. -> DecemEURDFMN6. -> DecembEURDFMN7. -> DecembeEURDFMN8. -> December EURDFMN9. -> December EURDFMN10. -> December EURDFMN11. -> December EURDFMN12. -> December EURDFMN13. -> December EURDFMN14. -> December EURDFMN15. -> December EURDFMN16. -> December EURDFMN17. -> December EURDFMN18. -> December EURDFMN19. -> December EURDFMN20. -> December EURDFMN21. -> December EURDFMN22. -> December EURDFMN23. -> December EURDFMN24. -> December EURDFMN25. -> December EURDFMN26. -> December EURDFMN27. -> December EURDFMN28. -> December EURDFMN29. -> December EURDFMN30. -> December EURDFMN31. -> DecemberEURDFMN32. -> DecemberEURDFMY. -> DEC09EURDFMY5. -> DEC09EURDFMY6. -> DEC09EURDFMY7. -> DEC2009EURDFWDX. -> 16 December 2009 EURDFWDX17.-> 16 Dec 2009 EURDFWDX18.-> 16 December 2009 EURDFWDX19.-> 16 December 2009 EURDFWDX20.-> 16 December 2009 EURDFWDX21.-> 16 December 2009 EURDFWDX22.-> 16 December 2009 EURDFWDX23.-> 16 December 2009 EURDFWDX24.-> 16 December 2009 EURDFWDX25.-> 16 December 2009 EURDFWDX26.-> 16 December 2009 EURDFWDX27.-> 16 December 2009 EURDFWDX28.-> 16 December 2009 EURDFWDX29.-> 16 December 2009 EURDFWDX30.-> 16 December 2009 EURDFWDX31.-> 16 December 2009 EURDFWDX32.-> 16 December 2009EURDFWKX. -> Wednesday, 16 December 2009 EURDFWKX3. -> WedEURDFWKX4. -> WedEURDFWKX5. -> WedEURDFWKX6. -> WedEURDFWKX7. -> WedEURDFWKX8. -> WedEURDFWKX9. -> WednesdayEURDFWKX10.-> WednesdayEURDFWKX11.-> WednesdayEURDFWKX12.-> WednesdayEURDFWKX13.-> WednesdayEURDFWKX14.-> WednesdayEURDFWKX15.-> Wed, 16 Dec 09EURDFWKX16.-> Wed, 16 Dec 09EURDFWKX17.-> Wed, 16 Dec 2009EURDFWKX18.-> Wed, 16 Dec 2009EURDFWKX19.-> Wed, 16 Dec 2009 EURDFWKX20.-> Wed, 16 Dec 2009 EURDFWKX21.-> Wed, 16 Dec 2009 EURDFWKX22.-> Wed, 16 Dec 2009 EURDFWKX23.-> Wednesday, 16 Dec 2009 EURDFWKX24.-> Wednesday, 16 Dec 2009 EURDFWKX25.-> Wednesday, 16 Dec 2009 EURDFWKX26.-> Wednesday, 16 Dec 2009 EURDFWKX27.-> Wednesday, 16 Dec 2009 EURDFWKX28.-> Wednesday, 16 Dec 2009 EURDFWKX29.-> Wednesday, 16 December 2009 EURDFWKX30.-> Wednesday, 16 December 2009 EURDFWKX31.-> Wednesday, 16 December 2009 EURDFWKX32.-> Wednesday, 16 December 2009 EURDFWKX33.-> Wednesday, 16 December 2009 EURDFWKX34.-> Wednesday, 16 December 2009 EURDFWKX35.-> Wednesday, 16 December 2009 EURDFWKX36.-> Wednesday, 16 December 2009EURDFWKX37.-> Wednesday, 16 December 2009JULDAY. -> 350JULDAY3. -> 350JULDAY4. -> 350JULDAY5. -> 350JULDAY6. -> 350JULDAY7. -> 350JULDAY8. -> 350JULDAY9. -> 350JULDAY10. -> 350JULDAY11. -> 350JULDAY12. -> 350JULDAY13. -> 350JULDAY14. -> 350JULDAY15. -> 350JULDAY16. -> 350JULDAY17. -> 350JULDAY18. -> 350JULDAY19. -> 350JULDAY20. -> 350JULDAY21. -> 350JULDAY22. -> 350JULDAY23. -> 350JULDAY24. -> 350JULDAY25. -> 350JULDAY26. -> 350JULDAY27. -> 350JULDAY28. -> 350JULDAY29. -> 350JULDAY30. -> 350 JULDAY31. -> 350 JULDAY32. -> 350JULIAN. -> 09350JULIAN5. -> 09350JULIAN6. -> 09350JULIAN7. -> 2009350MINGUO. -> 98/12/16 MINGUO1. -> *MINGUO2. -> 98MINGUO3. -> 098MINGUO4. -> 9812MINGUO5. -> 98/12MINGUO6. -> 981216MINGUO7. -> 981216 MINGUO8. -> 98/12/16 MINGUO9. -> 98/12/16 MINGUO10. -> 0098/12/16MMDDYY. -> 12/16/09 MMDDYY2. -> 12MMDDYY3. -> 12MMDDYY4. -> 1216MMDDYY5. -> 12/16MMDDYY6. -> 121609 MMDDYY7. -> 121609 MMDDYY8. -> 12/16/09MMDDYY. -> 12/16/09 MMDDYYB2. -> 12 MMDDYYB3. -> 12 MMDDYYB4. -> 1216 MMDDYYB5. -> 12 16 MMDDYYB6. -> 121609 MMDDYYB7. -> 121609 MMDDYYB8. -> 12 16 09 MMDDYYB9. -> 12 16 09 MMDDYYB10. -> 12 16 2009 MMDDYYC2. -> 12 MMDDYYC3. -> 12 MMDDYYC4. -> 1216 MMDDYYC5. -> 12:16 MMDDYYC6. -> 121609 MMDDYYC7. -> 121609 MMDDYYC8. -> 12:16:09 MMDDYYC9. -> 12:16:09 MMDDYYC10. -> 12:16:2009 MMDDYYD2. -> 12 MMDDYYD3. -> 12 MMDDYYD4. -> 1216 MMDDYYD5. -> 12-16 MMDDYYD6. -> 121609 MMDDYYD7. -> 121609 MMDDYYD8. -> 12-16-09 MMDDYYD9. -> 12-16-09 MMDDYYD10. -> 12-16-2009 MMDDYYN2. -> 12 MMDDYYN3. -> 12MMDDYYN4. -> 1216 MMDDYYN5. -> 1216 MMDDYYN6. -> 121609 MMDDYYN7. -> 121609 MMDDYYN8. -> 12162009 MMDDYYP2. -> 12 MMDDYYP3. -> 12 MMDDYYP4. -> 1216 MMDDYYP5. -> 12.16 MMDDYYP6. -> 121609 MMDDYYP7. -> 121609 MMDDYYP8. -> 12.16.09 MMDDYYP9. -> 12.16.09 MMDDYYP10. -> 12.16.2009 MMDDYYS2. -> 12 MMDDYYS3. -> 12 MMDDYYS4. -> 1216 MMDDYYS5. -> 12/16 MMDDYYS6. -> 121609 MMDDYYS7. -> 121609 MMDDYYS8. -> 12/16/09 MMDDYYS9. -> 12/16/09 MMDDYYS10. -> 12/16/2009MMYY. -> 12M2009 MMYY5. -> 12M09 MMYY6. -> 12M09 MMYY7. -> 12M2009 MMYY8. -> 12M2009 MMYY9. -> 12M2009MMYY11. -> 12M2009MMYY12. -> 12M2009MMYY13. -> 12M2009MMYY14. -> 12M2009MMYY15. -> 12M2009MMYY16. -> 12M2009MMYY17. -> 12M2009 MMYY18. -> 12M2009 MMYY19. -> 12M2009 MMYY20. -> 12M2009 MMYY21. -> 12M2009 MMYY22. -> 12M2009 MMYY23. -> 12M2009 MMYY24. -> 12M2009 MMYY25. -> 12M2009 MMYY26. -> 12M2009 MMYY27. -> 12M2009 MMYY28. -> 12M2009 MMYY29. -> 12M2009 MMYY30. -> 12M2009 MMYY31. -> 12M2009 MMYY32. -> 12M2009MMYY. -> 12M2009MMYYC5. -> 12:09MMYYC6. -> 12:09MMYYC7. -> 12:2009MMYYC8. -> 12:2009MMYYC9. -> 12:2009MMYYC11. -> 12:2009MMYYC12. -> 12:2009MMYYC13. -> 12:2009MMYYC14. -> 12:2009 MMYYC15. -> 12:2009 MMYYC16. -> 12:2009 MMYYC17. -> 12:2009 MMYYC18. -> 12:2009 MMYYC19. -> 12:2009 MMYYC20. -> 12:2009 MMYYC21. -> 12:2009 MMYYC22. -> 12:2009 MMYYC23. -> 12:2009 MMYYC24. -> 12:2009 MMYYC25. -> 12:2009 MMYYC26. -> 12:2009 MMYYC27. -> 12:2009 MMYYC28. -> 12:2009 MMYYC29. -> 12:2009 MMYYC30. -> 12:2009 MMYYC31. -> 12:2009 MMYYC32. -> 12:2009 MMYYD5. -> 12-09MMYYD6. -> 12-09MMYYD7. -> 12-2009MMYYD8. -> 12-2009MMYYD9. -> 12-2009MMYYD10. -> 12-2009MMYYD11. -> 12-2009MMYYD13. -> 12-2009MMYYD14. -> 12-2009 MMYYD15. -> 12-2009 MMYYD16. -> 12-2009 MMYYD17. -> 12-2009 MMYYD18. -> 12-2009 MMYYD19. -> 12-2009 MMYYD20. -> 12-2009 MMYYD21. -> 12-2009 MMYYD22. -> 12-2009 MMYYD23. -> 12-2009 MMYYD24. -> 12-2009 MMYYD25. -> 12-2009 MMYYD26. -> 12-2009 MMYYD27. -> 12-2009 MMYYD28. -> 12-2009 MMYYD29. -> 12-2009 MMYYD30. -> 12-2009 MMYYD31. -> 12-2009 MMYYD32. -> 12-2009 MMYYN5. -> 1209MMYYN6. -> 122009MMYYN7. -> 122009MMYYN8. -> 122009MMYYN9. -> 122009MMYYN10. -> 122009MMYYN11. -> 122009MMYYN12. -> 122009MMYYN13. -> 122009MMYYN15. -> 122009 MMYYN16. -> 122009 MMYYN17. -> 122009 MMYYN18. -> 122009 MMYYN19. -> 122009 MMYYN20. -> 122009 MMYYN21. -> 122009 MMYYN22. -> 122009 MMYYN23. -> 122009 MMYYN24. -> 122009 MMYYN25. -> 122009 MMYYN26. -> 122009 MMYYN27. -> 122009 MMYYN28. -> 122009 MMYYN29. -> 122009 MMYYN30. -> 122009 MMYYN31. -> 122009 MMYYN32. -> 122009 MMYYP5. -> 12.09MMYYP6. -> 12.09MMYYP7. -> 12.2009MMYYP8. -> 12.2009MMYYP9. -> 12.2009MMYYP10. -> 12.2009MMYYP11. -> 12.2009MMYYP12. -> 12.2009MMYYP13. -> 12.2009MMYYP14. -> 12.2009MMYYP15. -> 12.2009MMYYP17. -> 12.2009 MMYYP18. -> 12.2009 MMYYP19. -> 12.2009 MMYYP20. -> 12.2009 MMYYP21. -> 12.2009 MMYYP22. -> 12.2009 MMYYP23. -> 12.2009 MMYYP24. -> 12.2009 MMYYP25. -> 12.2009 MMYYP26. -> 12.2009 MMYYP27. -> 12.2009 MMYYP28. -> 12.2009 MMYYP29. -> 12.2009 MMYYP30. -> 12.2009 MMYYP31. -> 12.2009 MMYYP32. -> 12.2009 MMYYS5. -> 12/09MMYYS6. -> 12/09MMYYS7. -> 12/2009MMYYS8. -> 12/2009MMYYS9. -> 12/2009MMYYS10. -> 12/2009MMYYS11. -> 12/2009MMYYS12. -> 12/2009MMYYS13. -> 12/2009MMYYS14. -> 12/2009 MMYYS15. -> 12/2009 MMYYS16. -> 12/2009 MMYYS17. -> 12/2009MMYYS18. -> 12/2009 MMYYS19. -> 12/2009 MMYYS20. -> 12/2009 MMYYS21. -> 12/2009 MMYYS22. -> 12/2009 MMYYS23. -> 12/2009 MMYYS24. -> 12/2009 MMYYS25. -> 12/2009 MMYYS26. -> 12/2009 MMYYS27. -> 12/2009 MMYYS28. -> 12/2009 MMYYS29. -> 12/2009 MMYYS30. -> 12/2009 MMYYS31. -> 12/2009 MMYYS32. -> 12/2009MONNAME. -> December MONNAME1. -> DMONNAME2. -> DeMONNAME3. -> DecMONNAME4. -> DeceMONNAME5. -> Decem MONNAME6. -> Decemb MONNAME7. -> Decembe MONNAME8. -> December MONNAME9. -> December MONNAME10. -> December MONNAME11. -> December MONNAME12. -> December MONNAME13. -> DecemberMONNAME14. -> December MONNAME15. -> December MONNAME16. -> December MONNAME17. -> December MONNAME18. -> December MONNAME19. -> December MONNAME20. -> December MONNAME21. -> December MONNAME22. -> December MONNAME23. -> December MONNAME24. -> December MONNAME25. -> December MONNAME26. -> December MONNAME27. -> December MONNAME28. -> December MONNAME29. -> December MONNAME30. -> December MONNAME31. -> December MONNAME32. -> DecemberMONTH. -> 12MONTH1. -> CMONTH2. -> 12MONTH3. -> 12MONTH4. -> 12MONTH5. -> 12MONTH6. -> 12MONTH7. -> 12MONTH8. -> 12MONTH9. -> 12MONTH10. -> 12 MONTH11. -> 12 MONTH12. -> 12 MONTH13. -> 12 MONTH14. -> 12 MONTH15. -> 12 MONTH16. -> 12 MONTH17. -> 12 MONTH18. -> 12 MONTH19. -> 12 MONTH20. -> 12 MONTH21. -> 12MONYY. -> DEC09 MONYY5. -> DEC09 MONYY6. -> DEC09 MONYY7. -> DEC2009NENGO. -> H.21/12/16 NENGO2. -> 21NENGO3. -> H21 NENGO4. -> H.21 NENGO5. -> H2112 NENGO6. -> H21/12 NENGO7. -> H211216 NENGO8. -> H.211216 NENGO9. -> H21/12/16 NENGO10. -> H.21/12/16PDJULG. -> 5PDJULG3. -> 5PDJULG4. -> 5 PDJULG5. -> 5 PDJULG6. -> 5 PDJULG7. -> 5 PDJULG8. -> 5 PDJULG9. -> 5 PDJULG10. -> 5 PDJULG11. -> 5 PDJULG12. -> 5 PDJULG13. -> 5 PDJULG14. -> 5 PDJULG15. -> 5 PDJULG16. -> 5PDJULI. -> 5PDJULI3. -> 5PDJULI4. -> 5PDJULI5. -> 5PDJULI6. -> 5 PDJULI7. -> 5 PDJULI8. -> 5 PDJULI9. -> 5 PDJULI10. -> 5 PDJULI11. -> 5 PDJULI12. -> 5 PDJULI13. -> 5 PDJULI14. -> 5 PDJULI15. -> 5 PDJULI16. -> 5QTR. -> 4QTR1. -> 4QTR2. -> 4QTR3. -> 4QTR4. -> 4QTR5. -> 4QTR6. -> 4QTR7. -> 4QTR8. -> 4QTR9. -> 4QTR10. -> 4QTR11. -> 4QTR12. -> 4QTR13. -> 4QTR14. -> 4QTR15. -> 4QTR16. -> 4QTR17. -> 4QTR18. -> 4 QTR19. -> 4 QTR20. -> 4 QTR21. -> 4 QTR22. -> 4 QTR23. -> 4 QTR24. -> 4 QTR25. -> 4 QTR26. -> 4 QTR27. -> 4 QTR28. -> 4QTR30. -> 4 QTR31. -> 4 QTR32. -> 4QTRR. -> IVQTRR3. -> IVQTRR4. -> IVQTRR5. -> IVQTRR6. -> IVQTRR7. -> IVQTRR8. -> IVQTRR9. -> IVQTRR10. -> IVQTRR11. -> IVQTRR12. -> IVQTRR13. -> IVQTRR14. -> IVQTRR15. -> IVQTRR16. -> IVQTRR17. -> IV QTRR18. -> IV QTRR19. -> IV QTRR20. -> IV QTRR21. -> IV QTRR22. -> IV QTRR23. -> IV QTRR24. -> IV QTRR25. -> IV QTRR26. -> IVQTRR28. -> IVQTRR29. -> IVQTRR30. -> IVQTRR31. -> IVQTRR32. -> IVWEEKDATE. -> Wednesday, December 16, 2009 WEEKDATE3. -> WedWEEKDATE4. -> WedWEEKDATE5. -> WedWEEKDATE6. -> WedWEEKDATE7. -> WedWEEKDATE8. -> WedWEEKDATE9. -> WednesdayWEEKDATE10.-> WednesdayWEEKDATE11.-> WednesdayWEEKDATE12.-> WednesdayWEEKDATE13.-> Wednesday WEEKDATE14.-> Wednesday WEEKDATE15.-> Wed, Dec 16, 09 WEEKDATE16.-> Wed, Dec 16, 09 WEEKDATE17.-> Wed, Dec 16, 2009 WEEKDATE18.-> Wed, Dec 16, 2009 WEEKDATE19.-> Wed, Dec 16, 2009 WEEKDATE20.-> Wed, Dec 16, 2009 WEEKDATE21.-> Wed, Dec 16, 2009 WEEKDATE22.-> Wed, Dec 16, 2009 WEEKDATE23.-> Wednesday, Dec 16, 2009 WEEKDATE24.-> Wednesday, Dec 16, 2009WEEKDATE25.-> Wednesday, Dec 16, 2009 WEEKDATE26.-> Wednesday, Dec 16, 2009 WEEKDATE27.-> Wednesday, Dec 16, 2009 WEEKDATE28.-> Wednesday, Dec 16, 2009 WEEKDATE29.-> Wednesday, December 16, 2009 WEEKDATE30.-> Wednesday, December 16, 2009 WEEKDATE31.-> Wednesday, December 16, 2009 WEEKDATE32.-> Wednesday, December 16, 2009 WEEKDATE33.-> Wednesday, December 16, 2009 WEEKDATE34.-> Wednesday, December 16, 2009 WEEKDATE35.-> Wednesday, December 16, 2009 WEEKDATE36.-> Wednesday, December 16, 2009 WEEKDATE37.-> Wednesday, December 16, 2009WEEKDATX. -> Wednesday, 16 December 2009 WEEKDATX3. -> WedWEEKDATX4. -> WedWEEKDATX5. -> WedWEEKDATX6. -> WedWEEKDATX7. -> WedWEEKDATX8. -> WedWEEKDATX9. -> WednesdayWEEKDATX10.-> WednesdayWEEKDATX11.-> WednesdayWEEKDATX12.-> WednesdayWEEKDATX13.-> WednesdayWEEKDATX14.-> WednesdayWEEKDATX15.-> Wed, 16 Dec 09WEEKDATX16.-> Wed, 16 Dec 09WEEKDATX17.-> Wed, 16 Dec 2009WEEKDATX18.-> Wed, 16 Dec 2009WEEKDATX19.-> Wed, 16 Dec 2009WEEKDATX20.-> Wed, 16 Dec 2009 WEEKDATX21.-> Wed, 16 Dec 2009 WEEKDATX22.-> Wed, 16 Dec 2009 WEEKDATX23.-> Wednesday, 16 Dec 2009 WEEKDATX24.-> Wednesday, 16 Dec 2009 WEEKDATX25.-> Wednesday, 16 Dec 2009 WEEKDATX26.-> Wednesday, 16 Dec 2009 WEEKDATX27.-> Wednesday, 16 Dec 2009 WEEKDATX28.-> Wednesday, 16 Dec 2009 WEEKDATX29.-> Wednesday, 16 December 2009 WEEKDATX30.-> Wednesday, 16 December 2009 WEEKDATX31.-> Wednesday, 16 December 2009 WEEKDATX32.-> Wednesday, 16 December 2009 WEEKDATX33.-> Wednesday, 16 December 2009 WEEKDATX34.-> Wednesday, 16 December 2009 WEEKDATX35.-> Wednesday, 16 December 2009 WEEKDATX36.-> Wednesday, 16 December 2009WEEKDATX37.-> Wednesday, 16 December 2009。

sas中contents的操作过程

sas中contents的操作过程

sas中contents的操作过程SAS(统计分析系统)是一种强大的数据分析和统计建模工具。

在SAS中,contents是一项重要的操作过程,它提供了有关SAS数据集的详细信息,例如数据表的名称、变量名称、变量类型、变量长度和缺失值等。

在本文中,我们将逐步回答有关SAS中contents操作的各个方面。

第一步:导入数据集在使用SAS进行数据分析之前,首先需要导入数据集。

SAS可以从各种不同的数据源中导入数据,包括Excel电子表格、文本文件以及数据库文件等。

一旦数据集被成功导入,就可以使用contents命令查看该数据集的详细信息。

第二步:使用contents命令一旦数据集被成功导入,我们可以使用SAS中的contents命令来获取关于该数据集的信息。

contents命令的基本语法如下:SAScontents data=dataset;其中,dataset是指已导入的数据集的名称。

第三步:获取数据集的基本信息一旦执行了contents命令,SAS将生成一个包含有关数据集的信息的报告。

该报告提供了许多有用的信息,例如数据集的名称、观测数量、变量数量等。

第四步:变量信息报告的下一个部分提供了有关数据集中每个变量的详细信息。

它包含以下内容:- 变量名称:数据集中每个变量的名称。

- 变量类型:变量的数据类型,如字符型、数值型等。

- 变量长度:变量所占的字节数。

- 格式:应用于变量的格式,用于定义变量的外观显示方式。

- 标签:变量的标签,用于提供关于变量含义的描述。

- 输入格式:用于读取变量的输入格式。

- 缺失值:变量中存在的缺失值的定义。

- 输出格式:用于将变量写入输出数据集的格式。

第五步:观测值摘要接下来的部分提供了关于数据集中观测值的摘要信息。

它包括以下内容:- 数据集中每个变量的最小值、最大值和中位数。

- 数据集中每个变量的缺失值和非缺失值的数量。

- 每个变量的唯一值数量。

第六步:数据集选项SAS的contents命令还提供了一些选项,可以用于进一步探索数据集。

sas put和format语句

sas put和format语句

sas put和format语句
SAS中的PUT语句用于将一个数值或字符值转换为字符值,并将结果存储到一个变量中。

它的一般语法是:PUT(expression, format.)其中,expression是要转换的数值或字符值,format是要应用的格式。

以下是一些示例:1. 将数值转换为指定格式的字符值:data output; input x; y = put(x, dollar8.); datalines; 100 200 ;run;上述代码将数值变量x转换为具有美元符号格式的字符值,并将结果存储到变量y中。

2. 将字符值转换为指定格式的字符值:data output; input x ; y = put(x, UPCASE.); datalines; abc def ;run;上述代码将字符值变量x转换为大写格式的字符值,并将结果存储到变量y中。

另外,SAS中的FORMAT语句用于定义和修改数据集中变量的格式。

它的语法是:FORMAT variable format.;其中,variable是要应用格式的变量,format是要应用的格式。

以下是一个示例:data output; set input; format date date9.;run;上述代码将数据集input中的变量date的格式修改为date9.,它将指示SAS以"ddMMMyyyy"的格式显示日期值。

sas输出方式

sas输出方式

Paper 173-27Let SAS® Build Your Dynamic Web Site from the Data!Jennifer Sinodis, Bank One, Phoenix, AZ Mark Moran, Bank One, Phoenix, AZINTRODUCTIONThis paper will describe how to use SAS to build static or dynamic reports in HTML (Hyper Text Markup Language). Before we begin,let’s define the difference between static reports and dynamic reports. Static reports are prewritten before they are accessed, such as reports created by a SAS program ran in a nightly batch job.Dynamic reports do not exist until they are requested, therefore, the SAS program does not run and create the report until a request is received from the user. For example, a static document is like accessing a book from a library, and a dynamic document is like a book that doesn’t get written until you request it. We will also explain how to use SAS to build a dynamic menu system from your data to access static and/or dynamic HTML reports.USING SAS TO PRODUCE STATIC HTMLThe most common language for web browsers such as Internet Explorer and Netscape is HTML. SAS provides several options to create HTML from SAS data. HTML uses tags such as <h1> and </h1> to structure text into headings, paragraphs, lists, hypertext links etc. If you are interested in learning HTML there are several good resources ING THE PUT STATEMENTThe simplest way to create HTML with SAS is to use the PUT statement. The PUT statement can be used to write lines to an external file. It can write lines containing variable values, character strings, or both.The following is an example of HTML.<html><body bgcolor=white><pre><h3><font color=blue>Title of Report </font></h3></pre><pre><strong>Date Total Count</strong></pre><pre>02/01/200051902/02/2000497…02/05/2000645</pre></body></html>A SAS program could produce this HTML document with the following code:data _NULL_;File ‘c:\Report.html’;put ‘<html><head><body bgcolor=white>’;put ‘<pre><h3><font color=blue>Title of Report’;put ‘</font></h3></pre>’;put '<pre><strong>Date Total Count</strong></pre>';put '<pre>02/01/2000519';…put '02/05/2000645</pre>';put ‘</body></html>’;Run;The browser interprets the HTML language and produces the following report.Even though using the PUT statement is the simplest way towrite HTML, unfortunately you need to know HTML. Luckily, SAS offers solutions in which the SAS programmer does not need to learn HTML.USING HTML FORMATTING MACROSSAS offers four powerful HTML formatting macros that allow you to create HTML without having to learn the language: the output formatter (%out2htm ), the data set formatter (%ds2htm ), the tabulate formatter (%tab2htm ), and the graph formatter (%ds2graf ). The %out2htm macro converts standard SAS procedure output to HTML, the %ds2htm macro converts any SAS data set to HTML, the %tab2htm converts output from the SAS Tabulate procedure to HTML tables, and the %ds2graf converts graph output to HTML graphs.The %out2htm formatting macro quickly converts existing standard SAS output code to HTML by sending captured SAS output to a file as HTML code. The %out2htm macro is applied by placing specific code before and after the standard SAS procedure output code.The following program demonstrates how to use the %out2htm macro to convert a standard report to an HTML document. The %out2htm code needed is marked in bold in the sample code shown below.USING THE OUTPUT DELIVERY SYSTEM (ODS)SAS/Base Version 7 introduced the Output Delivery System (ODS). This system has several new web publishing tools. The features of ODS were enhanced even more in SAS/Base Version 8.ODS creates more visually attractive reports. It controls the formatting of all output objects and transforms basic monospace output to enhanced visual output by allowing us to manipulate the color, style and fonts of the reports, as well as use style sheets and templates.ODS is utilized by placing a few lines of code before and after the standard SAS procedure output code. ODS combines the resulting data from your PROC or DATA step with a template (or table definition) to several available destinations. Some of the destinations are: HTML, Listing, Output, RTF (rich text file), and PDF. The following program shows how to use ODS to convert the same PROC PRINT shown above to HTML. The ODS code is in bold.ODS listing off;ODS html file=“c:\Report.html”;proc print data=SampleData label noobs;…(same code as above)run;ODS html close;When using ODS we turn off the regular output listing window, and redirect our output to an HTML file. As you can see this code easily transforms standard SAS output to an HTML document, but the resulting HTML code and document in the browser look very different than %out2htm generated HTML.The result of this HTML, as it appears in the browser, is shown below. This example is using the default template since we did not specify a template in our SAS ING SAS/INTRNET TO CREATE DYNAMIC HTMLThe above examples showed how to use SAS to create static HTML documents, but with SAS/IntrNet Application Dispatcher 2.0 SAS can create HTML dynamically. SAS/IntrNet acts as a gateway between the web browser and SAS software, or a tool for executing SAS programs through a web interface. Basically, it allows a user to send a request from the web server to the SAS server to run a SAS program. In order to implement the SAS/IntrNet product you need to modify your configuration on your SAS server, as well as defining SAS/IntrNet program and data libraries. Once these changes are made a SAS program can be designed to execute upon receiving a request from the web server and then send the results back to the user.Only a slight change needs to be made to the actual SAS program that produces the HTML in order to produce the HTML dynamically. Simply redirecting your output to _webout will allow SAS to place the resulting HTML back to the user who requested it. The necessary change is marked in bold below.ODS listing off;ODS html file=_webout;proc print data=SampleData label noobs;…(same code as above)run;ODS html close;Now that we have shown how to create static and dynamic HTML we want to show how you can use SAS to access these static and dynamic HTML reports from a web page with a menu access system. You could build a static HTML document with links for each HTML report you want to view, but this can create long lists of reports that become tedious to users who would have to scroll through all of the links in order to make their selection. To make menu pages easier, we suggest you use drop-down lists.These drop-down lists can be built as static documents or dynamically from your data. Dynamic drop-down lists will give you the ability to limit your second selection based upon your first selection. This capability requires additional programming not available in HTML. You can use either VBScript or JavaScript to enhance the programming capabilities of HTML. We selected JavaScript due to its capabilities across browsers. JAVASCRIPTJavaScript is a unique programming language that functions only within a web browser. A full overview of the language is beyond the scope of this paper, but it is necessary to learn some basic JavaScript code and syntax in order to understand how to use SAS to build JavaScript.INTRODUCTION TO JAVASCRIPTJavaScript is a programming language that allows users to add interactive content to web pages. The browser reads the code and executes its instructions. JavaScript commands are included in the HTML code for a web page and are enclosed in <script> tags. The browser knows to run the JavaScript program because it’s enclosed in these tags. It only works with HTML elements and can enhance the interactivity of a web page by creating HTML dynamically, validating form fields and performing basic calculations.JavaScript is essentially an object-based event-driven language. An object is selected, triggering an event and a piece of JavaScript code is executed. For example, when a user clicks a button on a web page, the button object is selected, triggering a“click” event which may activate certain instructions. For JavaScript purposes, objects are defined as computer entities that can be referenced in code. The major web objects are document, elements, form, frame, image, link, window,history and navigator. Each object consists of properties, methods and events.A property is an attribute or characteristic of an object, and can be used to modify an object. Each object has its own specific properties. Some properties exist for several different objects, while other properties only exist for certain objects. For example, the document object has properties of title, bgColor and fgColor. A form object also has a property of title, but not bgColor or fgColor. Each object has several properties that describe it.A method is a predefined action that an object can perform. Certain objects can perform certain methods. For example, the Write(“string”) method is used with the document object, and requires a “string” parameter. This method writes the “string” to the current window.JavaScript connects objects, properties and methods using the dot syntax notation. This notation consists of placing a period, or dot between the objects, properties and methods.Object property syntax:Object.property=new valueExample:document.MyForm.FirstOption.length=0; Method syntax:Object.method()Example:document.MyForm.FirstOption.focus(); Users interact with a web page by typing or clicking on the elements within it. These actions are called events. In JavaScript, event handlers process events. An event handler is a script or function that returns a True or False value. Event handlers are also predefined in JavaScript and are recognized by the event name preceded by the word “on,” such as onSubmit or onClick. Certain event handlers are appropriate for certain objects. To use an event handler with an object it must be added to the HTML tag that defines the object. Event Handler syntax:<TAG onEventName=“do a function()”>Example:<select name="FirstOption"onChange="FillSecondOption()"</select>As mentioned earlier, JavaScript programs are included in the HTML code and are enclosed in the <script> tag. They can also be saved in separate files (MyJavaScript.js) and simply referenced inside the HTML program by the <script> tag. For example, if we create a JavaScript program called MyJavaScriptProgram.js we would include the following in our HTML code, generally at the beginning of the HTML file.<script language=”javascript”src=”MyJavaScriptProgram.js”>It is always important to put comments in your code, and this remains true for JavaScript programs. Comments are text or other characters ignored by the interpreter. Surprisingly, comments in JavaScript can be defined by using “/* */” combination, similar to the comment syntax in SAS and C++. It is also useful to know that JavaScript is extremely case sensitive.ADDING JAVASCRIPT TO OUR HTMLNow that we have briefly defined some JavaScript language, we want to show you how to build a menu page with a two level drop-down list. We will build the web page in HTML and reference a JavaScript program to tell the browser how to populate the drop-down listselection objects.In order to communicate these concepts we will build a menu page that will access banking center reports that are located throughout the country in different markets The banking center drop-down list will be limited based on the market a user selects from the market drop-down list.First, you need to build an HTML file with two drop-down lists--one for market selection and one for banking center selection. Next, define the events that you want to take place based on the user’s actions and decide the functions you want the browser to perform. For our example we want the browser to perform the following actions:•Set up the web page after a user enters it•Limit the selection list of banking centers available after a user selects a market from the market drop-down list •Display the report of the banking center level chosen when the user selects the “Display Report” buttonWe named these functions Setup(), FillSecondOption() and DisplayReport().The following HTML code shows the JavaScript references in bold with a brief description in italics.<html><head><title>Retail Banking Reporting</title><script LANGUAGE="JavaScript"SRC="MyJavaScriptProgram.js"></script>(References the JavaScript program in which the SetUp(), FillSecondOption(), and DisplayReport() functions are defined)</head><body topmargin="0"leftmargin="0"onLoad="Setup()">(Defines the event handler to perform the function Setup() when the body object is completed downloading into the browser)<p align="center"><img src="title.jpg"alt="Retail Banking Reporting"></p><form name="MyForm"><p align="center"><b><font face="Arial"color="#0000FF"size="5"> Market Level:</font></b><select name="FirstOption"onChange="FillSecondOption()"</select></p>(This code defines the event handler to perform the function FillSecondOption() when the select object changes)<p align="left">&nbsp…&nbsp<b><fontface="Arial"color="#0000FF"size="5">Banking Center Level:</font></b><select name="SecondOption"</select></p><p><input type="button"value="DisplayReport"name="DisplayBtn"onClick="DisplayReport()"</p>(This code instructs the browser to perform the function DisplayReport() when a user has pressed and released the mouse button or keyboard equivalent on the button input object) </form></body></html>In the HTML code above the <select> tags are used to create the drop-down list (or selection) objects named “FirstOption” and “SecondOption”. The display button named “DisplayBtn” iscreated with the <input type=”button”> tag. These objects are referenced throughout the JavaScript program.The first event handler referenced (onLoad =”Setup()”) basically tells the browser to execute the function Setup() when the web page is opened. The second event handler (onChange =”FillSecondOption()”)instructs the browser to execute the function FillSecondOption() when the user changes or selects an entry in the drop-down list “FirstOption”. Finally, the third event handler (onClick =”DisplayReport()”) tells the browser to run the function DisplayReport() when the user clicks on the button named “DisplayBtn” .The result of this HTML, as it appears in the browser, is shown below.If you had implemented SAS/IntrNet and wanted to access dynamic HTML reports from this menu web page some additional code would be needed. You need to link the SAS program you want executed that will allow SAS/IntrNet to pass the values of the selections from the drop-down lists to the indicated SAS program as macro values. A sample of the enhanced HTML code from above with the necessary code for SAS/IntrNet is shown in bold below .<p align="center"><img src="title.jpg"alt="Retail Banking Reporting"></p><form name="MyForm"action="../cgi-bin/broker.exe"method="POST"OnSubmit="returnValidate(document.TheForm)"><input type=hidden name=_service value=default><input type=hidden name=_program value="dynamic.RunReports.sas">…<p><input type="submit "value="Display Report"name="DisplayBtn"</p>By adding this code our select objects named “FirstOption” and “SecondOption” become macros that pass to the SAS program “RunReports.sas” and we no longer need the function DisplayReport(). SAS will use the macros in the referenced RunReport SAS program to generate the HTML of the specific banking center level requested.BUILDING THE JAVASCRIPT PROGRAMThe JavaScript program referenced in the <script> tags defines the three functions listed in the HTML: Setup(), FillSecondOption() and DisplayReport().The Setup() function sets up the drop-down lists on opening the web page. It creates the options or choices to show in our first option drop-down list, such as “North”, “South”, or “East”. It also clears out any previous selections and automatically shows the first selection available in the first option drop-down list upon entering the page.The example below shows some of this code.(Note: Due to space limitation some spacing was removed fromthe following programs to help readability)function setup(){document.MyForm.FirstOption.disabled =true;document.MyForm.FirstOption.length =0;document.MyForm.SecondOption.disabled=true;document.MyForm.SecondOption.length =0;(This code defines both objects’ disabled property as true to disable the selection objects while the function is running. It also defines their length property as 0 to clear out these selection lists)var OptElem=document.createElement("OPTION");OptElem.text ="North";OptElem.value ="NORTH";document.MyForm.FirstOption.options.add(OptElem);(This code creates option elements and adds them to the selection object “FirstOption”. It also defines the text and value properties of these options. Similar code will generate several options in the “FirstOption” drop-down list.)The FillSecondOption() function creates elements or choices to show in the second option drop-down list. A sample of this code is shown below.function FillSecondOption(){var FO =document.MyForm.FirstOption.value;(This code creates a variable FO equal to the FirstOption selection list value. In other words, the variable FO equals the market chosen in the first drop-down list.)if (FO =="NORTH")document.MyForm.SecondOption.disabled=true;document.MyForm.SecondOption.length =0;var OptElem=document.createElement("OPTION");OptElem.text ="MAIN";OptElem.value ="M00002.HTML";document.MyForm.SecondOption.options.add(OptElem);(Basically this code creates option elements if the “FirstOption”selection option equals “NORTH” and adds them to the selection object “SecondOption”. It also defines the text and value properties of these options. Similar code will generate several options in the “SecondOption” drop-down list.)This code shows that by defining the banking center elements, if FO = “NORTH” , we can control the options added to the “SecondOption” selection list. Additional code would use an else if statement. For example, after the statement else if FO=”SOUTH” we would define the options added to “SecondOption” for this “FirstOption” value.The DisplayReport() function actually instructs the browser to load a new page when you click the button object. An example of this code follows:function DisplayReport(){var Report=document.MyForm.SecondOption.value;if (Report !="")location.href=Report;}In the DisplayReport() function a new variable called “Report” is created which tells the browser the name of the report the user wants to display. For example, if the user selects the first option selection value of “NORTH” and the second option selection%do i=1%to &list_count;ODS listing off;ODS html file =“c:\&&bccode&i..html”;proc print data=sampledata label noobs;where bankcode =“&&bccode&i";var day count;title ‘Title of Report’;run;ODS close html;%end;%mend runrpt;%runrpt;If you want the third SAS program to create the banking center level reports dynamically, you would need to modify the SAS code shown above slightly. The changes needed are in bold below. ODS listing off;ODS html file =_webout ;proc print data=SampleData label noobs;where bankcode=”&SecondOption ”;var day count;title ‘Title of Report’;run;ODShtmlclose;This program is much simpler and reduces the amount of storage needed, since you will not need to store static reports. By combining the tools of SAS, SAS/IntrNet, HTML and JavaScript you can meet all of your customers reporting needs.CONCLUSIONSince 1998, we have greatly enhanced our reporting capabilities and increased our productivity by using SAS, JavaScript and HTML to provide static and dynamic reporting to our users. Our users are very happy with the visually attractive reports, our reporting capabilities,and the ease of use of our web site. Using SAS to generate JavaScript and HTML from our data has reduced reporting errors and decreased the time required to maintain our web site. By combining SAS/Base and SAS/IntrNet the possibilities seem endless. Our department has been known to say, “we can do anything” and with SAS it’s true.REFERENCESLaFler, Kirk Paul, “Creating HTML Output with Output DeliverySystem”, Proceedings of the Twenty-Fifth Annual SAS Users Group Inernational Conference , 2000.Sloan, Faith R., “Introduction to Dynamic Web Publishing”,Proceedings of the Twenty-Fifth Annual SAS Users Group Inernational Conference , 2000.Haworth, Lauren, “HTML for the SAS Programmer”, Proceedings of the Twenty-Fifth Annual SAS Users Group Inernational Conference ,2000.Goodman, Danny, Dynamic HTML: The Definitive Reference ,O’Reilly & Associates, Inc., 1998.SAS Institute, Inc., SAS Web Tools: Using Web Publishing Tools with SAS Output Course Notes , SAS Institute, Inc., 1998.SAS Institute, Inc., SAS Web Tools: Running SAS Applications on the Web Course Notes , SAS Institute, Inc., 1998.The Professional Development Group, Inc., Introduction to JavaScript , The Professional Development Group, Inc., 1998.ACKNOWLEDGMENTSWe would like to acknowledge EJ Harank for encouraging our participation at SAS conferences and always supporting our training.We also would like to thank our families for their understanding and support in our careers. Thanks to our proof readers Susanne Young,Stacy Ries and Tina Dunning. Thanks also to Vanessa Hayden for all of your advice and training, we miss working with you.SAS and all other SAS Institute Inc. product or service names are registered trademarks or trademarks of SAS Institute Inc. in the USA and other countries. ® indicates USA registration. Other brand and product names are trademarks of their respective companies.。

SAS的输入输出格式2011

SAS的输入输出格式2011




1、字符型输入/输出格式

1、输入格式:$w. 和 $CHARw.
共同特点:缺省值均为变量的长度 不同点: $w. :必须指定w的值,不保留字符串前的空格 $CHARw.:w的缺省值为8,保留字符串前的空格
2、输出格式:$w. 和 $CHARw.
共同特点:保留字符串前的空格 注:一个汉字占两个字节
data qespart; input id$ sex height weight band46$; cards;
cnw1r01 cnw1r02 cnw1r04 cnw1r05 cnw1r06 cnw2r02 cnw2r03 cnw2r04 cnw2r05 2 1 1 2 2 2 1 1 2 154 169 169 153 160 156 173 168 155 49 64 67 50 50 46 62 57 45 C B A B A A B B B
Obs 1Jan2002 03 Jan 2003 15/May/2004 12-FEB-2005 17*May* %2006 1**OCT**2007 30%sep%//2008 1
dd 01JAN2002
2 3 4
5 6 7
03JAN2003 15MAY2004 12FEB2005
17MAY2006 01OCT2007 30SEP2008
遵循以下原则:
2、数值型输入/输出格式
2、输出格式: Bestw.d, w.d 和 Ew. Bestw.d:系统默认格式(相当于后两种格式的自动识 别)。w缺省值为12,最大值可达32 w.d:将数值用不超过d位小数及总宽度不超过w位的定点 数表示 Ew. :用宽度不超过w的浮点数表示
注:宽度设置不合适时,自动调用SAS系统同宽度的Best格式表示。

SAS第一讲

SAS第一讲

支持多种原始数据写法,如:99-10-15,15OCT99,99/10/15, 151099,10-15-99
SAS数据的输入输出格式
日期输入格式yymmddw.
针对yymmdd、yyyymmdd形式的数据
w取值范围:6-32,缺省值为6 原始数据中可在年月日间使用分隔符(同时),分隔符计入w 类似输入格式有mmddyyw.和ddmmyyw.(yymmnw.) 例8 指出前面列举的时间数据的输入格式
SAS逻辑库
SAS逻辑库命名规则
以英文字母(A-Z,大小写)或下划线(_)开始; 由数字、字母、下划线构成; 不超过8个字符
不区分大小写
例1 判断下列字符串能否用作正确的逻辑库名 2012nuM _19Asd Sweetmemory R&B time% R_B 库1 y Bank B.C
状态条
信息显示区、运行文件名、光标位置
SAS主窗口
工作空间子窗口
浏览器窗口(Explorer):用于SAS文件的浏览查看 结果窗口(Results):输出结果文件列表 增强型编辑器窗口(Enhanced Editor ):程序编辑 输出窗口(Output):输出分析结果 日志窗口(Log):显示程序运行进程与出错信息
SAS数据集
什么是SAS数据集
是SAS面向的数据对象
由描述部分(Descriptor portion)、数据部分(Data portion)构成 (某些有索引(index)部分)
SAS数据集
SAS数据集命名规则
以英文字母(A-Z,大小写)或下划线(_)开始;
由数字、字母、下划线构成; SAS文件名 通用规则
字符类型变量缺省格式,输入前w个字符 缺省w为变量长度,变量长度未定时,前者在输入时必须设定, 输出时缺省值为1,后者缺省值为8

sas字体输出控制

sas字体输出控制

使用SAS定制报表的标题和尾注来源] [原文] /publishing/bbu_tip/delwiche_custom_titles.htmlBy Lora D. Delwiche, University of California, Davis and Susan J. Slaughter, Avocet Solutions当你把输出结果发送到Listing窗口时,你可能希望对标题和脚注的外观进行一定的控制。

这是由于列表输出方式只使用一种字体(SAS Monospace)和一种颜色(黑色)。

而其他的输入方式,如HTML、RTF、PDF及PostScript等,则可以提供一些选项供你选择。

对于列表输出,如果你不满意标题或脚注的默认格式,你可以使用PROC TEMPLATE语句来定义客户化的样式模板。

然而,你也可以在TITLE和FOOTNOTE语句中插入一些简单的选项来改变标题和脚注的外观。

一般的TITLE和FOOTNOTE语句的格式如下:TITLE 选项 '字符串1' 选项'字符串2' ?选项 '字符串n';FOOTNOTE 选项 '字符串1' 选项 '字符串2' ?选项 '字符串n';每段文字可以分成几个部分,对每个部分可以应用不同的选项。

SAS将按照你的输入,正确的连接字符串,并且保留必要的空格。

每一个选项都会对其后的字符串产生作用,并且一直保留这一效果,直到为其后的字符串指定了选项,或是语句结束。

以下是你可以使用的主要选项:COLOR= 指定文字的颜色BCOLOR= 指定文字的背景色HEIGHT= 指定文字的高度JUSTIFY= 指定文字的对齐方式FONT= 指定文字的字体BOLD 显示粗体的文字ITALIC 显示斜体的文字颜色选项COLOR=用于制定字体的颜色。

例如下面的语句TITLE COLOR=BLACK 'Black ' COLOR=GRAY 'Gray ' COLOR=LTGRAY 'Light Gray';将生成如下的标题:Black Gray Light GraySAS支持数百种的颜色,从基本的红色一直到较少使用的略带紫红的浅灰色。

sas输入输出数据的相关语句output、put、remove、replace、file、。。。

sas输入输出数据的相关语句output、put、remove、replace、file、。。。

sas输⼊输出数据的相关语句output、put、remove、replace、file、。

index: output put replace file infile没⼈任何规定的输出语句,sas系统会输出pdv当前观测到主数据集原先的位置output语句: TIPS: 1:当output没有规定数据集名字时,把当前观测《也就是⼀⾏数据》输出到data步后⾯的所有数据集的末尾<注意是所有数据集>意味着纵向合并,当规定数据集名字时,把pdv当前观测输出到output规定的数据集末尾。

2:在有output语句和run语句同时存在的data步⾥⾯,pdv只会执⾏output的结果到正在被创建的数据集,⽽执⾏run语句的结果是pdv会清空所有的变量为缺失。

3:如果⼀个output语句出现在程序语句中间,⽆论有没有被执⾏,后⾯的语句都将继续被执⾏,但是不会输出结果到正在被创建的输出数据集,⽽是会持续清空pdv中所有变量值(使⽤retain性质的语句除外). 4:sas中有implicit output和explicit output,在每⼀轮data循环后,sas会默认的将pdv中的数据写⼊数据集,这就是implicit output,还有⼀类是⽤户明确写的output语句,也就是explicit output,当明确规定后,隐式的output就不会再执⾏了。

5:output是将数据输⼊数据集,put是将数据输⼊⽂件或⽇志*需求:输出by组的最后⼀⾏观测值并将上⼀⾏的y值输出;data a;input x y@@;cards;11012012002302403503604703804400;run;proc sort data=a;by x;run;data res;set a;by x;retain rt; *如不⽤retain,下⾯的put能输出正确的值,但是运⾏到run后会⾃动清空,这样output的结果集中rt都会为缺失值;if first.x then rt=0;if last.x then output;rt = y;put rt=;run;proc print data=res noobs;*由⼀个输⼊数据⾏输出多条观测;data a;input id x1-x3;cards;101102030102405060;run;data b;set a;x = x1; output;x = x2; output;x = x3; output;output;run;data c1 c2;*根据条件选择输出; set sashelp.class; if _n_ le 7 then output c1; else output c2;run;*输出每个by组的最后⼀条观测和倒数第⼆条的y值;data a;input x y@@;cards;11012012002302403503604703804400;run;proc sort data=a;by x; run;data b;set a;by x;retain rt;if first.x then rt=0;if last.x then output;rt = y;run;/*读⼊第⼀条观测值时,rt被置为0,last.x为0不执⾏,rt=10,执⾏run,retain的rt保留在pdv中,因为output和run同时存在时run不会输出数据,只有output执⾏的时候rt才会被输出,当读⼊第⼆条观测的时候output也不执⾏,但是这时的rt是保留的第⼆条观测值的y,当读⼊第三条观测的时候output执⾏,顺便输出pdv中的rt,这时的rt是倒数第⼆条观测值的rt,还没有进⾏赋值*/remove语句If you specify no argument, the REMOVE statement deletes the current observation from all data sets that are named in the DATA statement.remove和delete和if⼦句都能起到获取部分数据集的效果,但是delete和if都perform only on physical但是remove既可以logical也可以physical,对于不同的引擎。

SAS的导入、导出excel表格的实现

SAS的导入、导出excel表格的实现

SAS的导⼊、导出excel表格的实现⾸先 SAS 可以使⽤⼿动来导⼊,导出但是这样对于每次操作都需要来⼿动操作,所以就使⽤了 SAS 中的宏来编写代码需求:1. ⾸先是给定excel 的⽂件路径,来⽣成⼀个数据集2. 然后是对数据集中进⾏数据的处理3. 最后是对处理好的数据集导出为⼀个excel 格式的⽂件例⼦:1/* 导⼊excel的数据 */2 %macro import_excel(filepath, out);3 proc import datafile=&filepath out=&out dbms=excel replace;4 run;5 %mend import-excel;67/* 导出excel的数据 */8 %macro export_excel(dataset, filepath);9 proc export data=&dataset file=&filepath dbms=excel replace;10 run;11 %mend export_excel();1213/* 调⽤导⼊宏 */14 %import_excel('C:\Users\ZEK\Desktop\test.xlsx', a);15 run;1617/* 处理数据集 */18 data process;19set a;20if age>14 then desc='已满14岁';21else desc='未满14岁';22 run;2324/* 调⽤导出宏 */25 %export_excel(process, 'C:\Users\ZEK\Desktop\temp.xlsx');26 run;结果:在⽇志窗⼝中会输出这样的⼀个⽇志.注意:在编写代码的时候,最需要注意的是,导⼊和导出的语句是不⼀样的导⼊为:proc import datafile=路径名称out=数据集名称 dbms=excel replace;导出为:proc export data=数据集名称 file=路径名称 dbms=excel replace;千万要注意。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SAS的输入输出格式
什么是格式(Format)? ? 什么是格式 Format is an instruction the SAS System uses to display or write each value of a variable. 即:读入不同格式的数据,并按不同要求显示数据。 常见数据的数据格式: 字符型 数值型 日期时间型 用户自定义型( 用FORMAT过程定义) 注:除自定义类型外,其他类型的数据SAS系统均已定义好了相应的格式,只需 要调用即可 输入格式和输出格式的使用:输入格式 输入格式通常在input语句中使用,输出格式 输出格式通常 输入格式 输出格式 在format语句中使用。
2、数值型输入/输出格式 、数值型
2、输出格式: Bestw.d, w.d 和 Ew. 、输出格式: , Bestw.d:系统默认格式(相当于后两种格式的自动识 :系统默认格式( )。w缺省值为 缺省值为12,最大值可达 最大值可达32 别)。 缺省值为 最大值可达 w.d:将数值用不超过 位小数及总宽度不超过w位的定点 将数值用不超过d位小数及总宽度不超过 位的定点 将数值用不超过 位小数及总宽度不超过 数表示 Ew. :用宽度不超过 的浮点数表示 用宽度不超过w的浮点数表示
y 34231 21311
有如下两列数据,其中第一列后两位数字为小数, 例3. 有如下两列数据,其中第一列后两位数字为小数, 第二列后4位为小数 例如第一个数据 位为小数, 读入后应为 第二列后 位为小数,例如第一个数据12,002读入后应为 120.02。请建立一个 数据集, 。请建立一个SAS数据集,变量为 、y。 数据集 变量为x、 。 12,002 34,231 2,210 21,311
$CHARw. :读取包含空格的字符串
data a; input name $ char14.; cards; Bill Clinton George Bush Tony Blair Saddam Hussein Vladimir Putin ; proc print; run;
如果将char14.去掉,语句改 去掉, 如果将 去掉 为:input name $; 结果是什么样的呢? 结果是什么样的呢?
1、字符型输入/输出格式 、字符型
例1. 下面是一些人名,请将其读入到一个变量NAME中, 下面是一些人名,请将其读入到一个变量 中 注意:姓和名之间有一个空格,建立的SAS数据集如右 注意:姓和名之间有一个空格,建立的 数据集如右 边的形式。 边的形式。 Obs name Bill Clinton 1 Bill Clinton George Bush 2 George Bush 3 Tony Blair Tony Blair 4 Saddam Hussein Saddam Hussein Vladimir Putin 5 Vladimir Putin
5、时间输出格式:TIMEw.d 、时间输出格式:
d:可指明秒数包含的小数位数。 可指明秒数包含的小数位数。 可指明秒数包含的小数位数 输出时总带有分隔符(:) 输出时总带有分隔符(:) 宽度不够时,先显示小时数,再是分钟,再是秒数。 宽度不够时,先显示小时数,再是分钟,再是秒数。
3、日期时间型输入/输出格式 、日期时间型
6、日期时间输入格式:DATETIMEw. 、日期时间输入格式:
读入的日期时间形式为: 读入的日期时间形式为:ddmmmyy hh:mm:ss.ss/ddmmmyyyy hh:mm:ss.ss W:13-40,缺省 缺省18 缺省
7、日期时间输出格式:DATETIMEw.d 、日期时间输出格式:
输出格式形式: 输出格式形式: ddmmmyy:hh:mm:ss.ss/ddmmmyyyy:hh:mm:ss.ss W:7-40,缺省 缺省16 缺省 宽度不够时,从秒数开始截尾,宽度足够时( 宽度不够时,从秒数开始截尾,宽度足够时(w>=19+d)时自动显示 时自动显示 四位数的年份。 四位数的年份。
2、数值型输入/输出格式 、数值型
2、特殊的输出格式: COMMAw.d 和 、特殊的输出格式:
DOLLARw.d COMMAw.d :将数值以包含小数位数不 超过d位的定点数表示 位的定点数表示, 超过 位的定点数表示,并在整数部分自 右往左每三位用逗号分隔, 右往左每三位用逗号分隔,总字符数不超 过w。COMMA6.为其缺省设置。 。 为其缺省设置。 为其缺省设置 DOLLARw.d 在COMMA表示的数据左 表示的数据左 侧加上美圆符号。 侧加上美圆符号。
有如下两列数据,数据中包含有逗号, 例2. 有如下两列数据,数据中包含有逗号,请建立一 数据集, 个SAS数据集,变量为 、y。 数据集 变量为x、 。 12,002 34,231 2,210 21,311
data a; input x comma7. y comma7.; cards; 12,002 34,231 2,210 21,311 OUTPUT: run; Obs x proc print; 1 12002 2 2210 run;
3、特殊日期输入/输出格式:DATEw. 、特殊日期输入 输出格式 输出格式:
输入E7.
3、日期时间型输入/输出格式 、日期时间型
4、时间输入格式:TIMEw. 、时间输入格式:
读入的时间形式为: 读入的时间形式为:hh:mm:ss.ss 时分秒间的分隔符有:(:),(空格),(-);还有PM,AM :(:),(空格),( );还有 时分秒间的分隔符有:(:),(空格),( );还有 读入格式time14. 49235.37 输出格式 例:1 40 35.37 PM 读入格式 timeampm13.2 1:40:35.37 PM
其他格式: 其他格式:MMDDYYxw. 和DDMMYYxw.
3、日期时间型输入/输出格式 、日期时间型
3、特殊日期输入/输出格式:DATEw. 、特殊日期输入 输出格式 输出格式:
输入/输出日期的格式为: ddmmmyy/ddmmmyyyy 缺省方式为DATE7.
3、日期时间型输入/输出格式 、日期时间型
3、两位数年份输入 、两位数年份
YEARCUTOFF=1920(此值可修改) 此值可修改) 此值可修改 管理100年的时间:1920-2019 管理 年的时间: 年的时间 表示12/07/1941 例:12/07/41 表示 18Dec15 表示18Dec2015 表示
data b; input dd date15.; format dd date9.; cards; 1Jan2002 03 Jan 2003 15/May/2004 12-FEB-2005 17*May* %2006 1**OCT**2007 30%sep%//2008 ; proc print; run;
data a; input x dollar8. y dollar8.; cards; $12,002 $34,231 $2,210 $21,311 run; OUTPUT: Obs x proc print; 1 12002 run; 2 2210
y 34231 21311
有如下两列数据,其中第一列后两位数字为小数, 例5. 有如下两列数据,其中第一列后两位数字为小数, 第二列后4位为小数 例如第一个数据 位为小数, 读入后应 第二列后 位为小数,例如第一个数据$12,002读入后应 数据集, 为120.02。请建立一个 。请建立一个SAS数据集,变量为 、y。 数据集 变量为x、 。 $12,002 $34,231 $2,210 $21,311
日期,时间, 日期,时间,日期时间型的数据均以 值的差值数据存入计算机。 与0值的差值数据存入计算机。 值的差值数据存入计算机 零点值的规定
日期型: 日期型: 时间型: 时间型: 日期时间型
0 值(1960.1.1),其他日期为与其的差值 ),其他日期为与其的差值 ), 0值(0时0分0秒) 值 时 分 秒 0值(1960年1月1日0时0分0秒) 值 年 月 日 时 分 秒
3、日期时间型输入/输出格式 、日期时间型
1、日期输入格式 :YYMMDDw. 、
读入的数据形式为:yymmdd / yyyymmdd 读入的数据形式为:
W:6-32,缺省为 缺省为6 缺省为 其他格式: 其他格式:MMDDYYw. 和DDMMYYw.
读入的数据形式为: MMDDYYw.读入的数据形式为:mmddyy/mmddyyyy 读入的数据形式为 DDMMYYw.读入的数据形式为:ddmmyy/ddmmyyyy 读入的数据形式为: 读入的数据形式为
1、字符型输入/输出格式 、字符型
1、输入格式:$w. 和 $CHARw. 、输入格式:
共同特点:缺省值均为变量的长度 不同点: $w. :必须指定w的值,不保留字符串前的空格 $CHARw.:w的缺省值为8,保留字符串前的空格
2、输出格式:$w. 和 $CHARw. 、输出格式:
共同特点: 共同特点:保留字符串前的空格 注:一个汉字占两个字节
3、日期时间型输入/输出格式 、日期时间型
2、日期输出格式 :YYMMDDxw. 、
读入的数据形式为: 读入的数据形式为:yymmdd / yyyymmdd W:2-10(x为N时,2-8),缺省为 为 时 缺省为8 缺省为 x B C D N 无 P S . / 分隔符 空格 : -
YYMMDDw.相当于 相当于YYMMDDDw. 相当于
data a; input x dollar8.2 y dollar8.4; cards; $12,002 $34,231 $2,210 $21,311 OUTPUT: run; Obs x 1 120.02 proc print; 2 22.10 run;
y 3.4231 2.1311
3、日期时间型输入/输出格式 、日期时间型
data a; input x comma7.2 y omma7.4; cards; 12,002 34,231 2,210 21,311 OUTPUT: run; Obs x proc print; 1 120.02 2 22.10 run;
相关文档
最新文档