Entries Tagged 'SAS' ↓

SAS书杂谈(1):两本统计书

1. Categorical Data Analysis Using the SAS System (2nd edition, SAS Inc., 2000)

作者三位(SDK),在这个领域都是行家,SAS公司的一位负责统计工具研发的总监Maura E. Stokes , 爱荷华大学生物统计系的教授Charles S. Davis(后来他投身工业界)以及北卡大学教堂山分校生物统计系的教授 Gary G. Koch 。用SAS做Categorical Data Analysis,这书是引用最多的一本。国内一本书,刘勤和金丕焕编的《分类数据的统计分析及SAS编程》(复旦大学出版社,2002),能看到本书的影子(美中不足的是,这本书丝毫没有提到SDK)。

我喜欢这本书,还因为它是我读过的SAS BBU(books by users)系列中排版较好的一本。BBU一般由SAS Press或Wiley两家出版社出版,一个印象是,Wiley出的SAS书排版会比SAS Press的质量高。这本书由这两家联合出版。

以前学Categorical Data Analysis,上手就是Logistic回归,做信用评分/数据挖掘需要这个(这本书的后半部分讲这些模型)。现在的工作,需要多的是本书的前半部分,对列联表做的各种检验,这是统计学里相对传统的部分,也是我这样非统计科班出身学统计学时忽略最多的部分。

还有,这本书的数序公式用得恰到好处,简洁又富有启发性,能让一个(只)有基本数学素养的SAS 程序员体会到模型的含义,又不至于淹没在数学符号的汪洋大海之中。

2.Common Statistical Methods for Clinical Research with SAS Examples(2nd edition, SAS Inc., 2002)

作者是SAS最老的一批咨询顾问Glenn A. Walker。现在这书出了第三版,加上了一位合作者,Duke Clinical Research Institute(世界上最大的学院CRO)的一位SAS程序员,Jack Shostak,他也是SAS Programming in the Pharmaceutical Industry的作者。

我没有比较与新版的区别,只说说手头的第二版。跟SDK一样,这本书是用来恶补现在所需要的统计学基础的,给回归只留了两个章节:

Chapter 1 – Introduction & Basics 
Chapter 2 – Topics in Hypothesis Testing 
Chapter 3 – The Data Set TRIAL 
Chapter 4 – The One-Sample t-Test 
Chapter 5 – The Two-Sample t-Test 
Chapter 6 – One-Way ANOVA 
Chapter 7 – Two-Way ANOVA 
Chapter 8 – Repeated Measures Analysis
Chapter 9 – The Crossover Design
Chapter 10 – Linear Regression
Chapter 11 – Analysis of Covariance
Chapter 12 – The Wilcoxon Signed-Rank Test
Chapter 13 – The Wilcoxon Rank-Sum Test 
Chapter 14 – The Kruskal-Wallis Test
Chapter 15 – The Binomial Test
Chapter 16 – The Chi-Square Test
Chapter 17 – Fisher’s Exact Test
Chapter 18 – McNemar’s Test
Chapter 19 – The Cochran-Mantel-Haenszel Test
Chapter 20 – Logistic Regression
Chapter 21 – The Log-Rank Test
Chapter 22 – The Cox Proportional Hazards Model

章节设置,跟Jerrold Zar那册有名的Biostatistical Analysis类似,正好方便SAS程序员备查。这些统计学,在药厂的clinical部门常用。至于模型味更浓的data mining系列,discovery和pharmacovigilance(PV,药物警戒)部门用得多些。

这本书在写作方面没什么特色,好处在于实用、全面,做工具书再好不过。

————————————————————-

作为非统计出身的SAS程序员,经常徜徉于data steps,现在翻翻它的统计部分,又能感受到它背后的另一片广阔天地。浏览一下SAS/STAT 9.2的研发团队,——罗列书名、人名总能激起我的斗志,噫。

Excel杂谈

SAS-Excel

晚提到Excelpro的新书,《Excel图表之道——如何制作专业有效的商务图表》(刘万祥,北京:电子工业出版社,2010)。说些Excel,从一个SAS程序员的角度。

相对SAS,或其他的软件包(SPSS、R/S-Plus、Matlab等),Excel都是一个轻量级的分析工具。本来,Excel无意在统计分析方面跟那些统计工具包一较长短,各有适用的地方而已。但在商业世界,用Excel做分析的用户太多了,说最流行也不为过,一些统计学者,就提醒广大用户,用Excel做统计分析时一定要谨慎些,它有时候不够严谨有时候不够靠谱。详细的,可以参考谢益辉的三篇博文(以及他文中所附的参考材料):

1.Excel中的缺失值和0

2.为什么避免用Excel作统计计算

3.再谈为什么不用Excel做统计分析

用Excel本身的计算引擎有时是不够严谨,这是故事的一个方面(当然,它应付日常工作还是可以胜任的,对Excel,我们这点信心还是有)。故事的另一个方面,是鉴于Excel的广泛流行,各大BI(商务智能)套件,包括SAS系统,都要提供与Office/Excel整合的功能。上面就是 SAS Add-In for Microsoft Office在Excel里面的一个截图。利用这个Excel插件,商业用户可以继续使用他/她熟悉的Excel,访问SAS数据,并利用SAS的计算引擎来分析和作图,最后结果返回到Excel(或者Word、PPT)。一家公司不提供这玩意,它的BI技术就要受到质疑,至少也是没有做到user-friendly。夸张点说,小小的Excel就这样爬上了BI平台的最顶端。

我们注意到,与Excel的整合,重点是把它作为用户接口和展示平台。对一个传统的SAS程序员,与Excel打交道也是他职业生涯的一部分:

1. 有时候,数据会存储在Excel里面。你可能没法理解,为什么要把数据存在Excel里面,这样轻量级的数据,存在文本里面不是更好吗?在真实世界里,大部分人的行为模式一般是这样,他们打开Word来记事,打开Excel来记录数据。数据存在Excel或许也能接受,如果它们规规矩矩,行列有序。有一种情形就是,在一个Excel Book里,数据散布于各个Sheets,在同一个Sheet,数据可能不是按行列来排,而是长得就像一个report。平心而论,这样的数据真的是user-friendly,只是不够machine-friendly。在Windows平台下,SAS Base有三种最常用的方式读取Excel数据:

1-1 proc import or Import Wizard

1-2 SAS Excel Libname Engine

1-3 SAS DDE (Dynamic Data Exchange,这属于Windows的技术)

Excel不是一个跨平台的数据格式。在Unix平台下,如何读取Excel数据呢?SAS也有解决方案,那需要用到一个SAS/ACCESS Interface to PC Files for UNIX和SAS PC File Server for Windows,这也是一个Libname Engine的方式。

2. 读入Excel数据,一个相反的操作就是把SAS数据(或output)转化成Excel。程序员或许不太愿意,但这在商业世界有需求。这里SAS更是提供了五花八门的解决方案:

2-1 proc Export or Export Wizard

2-2 SAS Excel Libname Engine

2-3 SAS DDE (Dynamic Data Exchange)

2-4 proc printto

2-5 SAS ODS

2-6 data steps

2-7  SAS Add-In for Excel

……

除了DDE,你还可以利用其他非SAS技术,比如ODBC、OLE DB等。有一个小花招。利用ODS,可以把数据转化成用户可以用Excel打开的CSV、XML或者HTML格式,而它们本身是比.xls更优越的存储格式。特别是CSV(comma-separated values file),本身是文本文件,在Windows世界里,很多用户都把它当成Excel的一种格式,默认的打开方式也是Excel(而不是文本编辑器)。

罗列了这么多SAS与Excel的交互,回到Excel本身。它是一个功能强大的电子表格,在数据分析与展示方面也有不俗的表现(Excel作图,可以参考上面提到的Excelpro所达到的境界)。它赢得如此多的用户,说明它能满足大部分人大部分的需求。一个SAS用户,或者SPSS、R/S-Plus、Matlab等用户不必在统计分析方面展示对Excel的优越,这样显得就不够大气了——本来Excel就无意在这方面跟它们竞争。况且,即使工具之间有优劣,工具的本身的先后也不代表他们用户的先后,急于争辩工具厉害的人,往往忽略了人本身,自以为手持屠龙刀,就无敌于天下。笑话。

————————————————————————–

再讲个笑话,跟谢益辉有关(最近举例似乎老拿谢同学说事)。谢于数据可视化颇有研究,最近秀出了不少的工作,当然都是用R来展示。楼下便有人惊呼:R好强大啊。不知道谢听了做如何想。

SAS vs. R

在“统计之都”(COS)发布了一篇《Think  SAS》,是有感于R在学院(尤其是统计系)的流行,主要是写给对工业界感兴趣的在校生看,动员他们在学R之余,不妨考虑一下SAS。不想却引来长篇的R与SAS之争。关于软件的功能,比如R或SAS,本身没有任何问题:一个语言,只要能使分支语句和循环,再加上极少的要求,就可以完成几乎所有的任务了(语言的完备性,要求其实很简单)。所以讨论R与SAS谁更强大,意义不大,这更多是个人使用偏好的问题。在“统计之都”的博客文章,评论大多很精彩,有的甚至要超过正文,读者朋友不妨移步观望下。这将会是一个系列文章,陆续在COS发布,慢慢写了。

又,关于R与SAS,Peter Flom也在写系列比较文章,见

1. SAS v. R: Ease of learning

0. SAS vs. R: Introduction and request

SAS 认证

上午八点半到的知春里的中科软,九点开考,九点半出来,接着赶回公司。上午就这么考了人生第一个除英语六级外的认证,SAS Certified Base Programmer for SAS 9 Credential,一共是70道题(要求时间是两个小时),错了一道,拿了99/100分回家。还好,我06年开始接触SAS,并以此为生,这个成绩不算丢脸。

为什么想到考这个证?美国那里有句话说,“如果你有个SAS认证,你将不愁找不到工作”云云。对有经验的SAS程序员,雇主一般不在乎你是否考过SAS认证,我推荐在校生没事可以整这么一个,可以增加些筹码,以示自己也算是有些投资,花过功夫。我现在不需要这个认证找工作,倒是想借这个机会,重温一些基本概念。SAS公司有一份Base的认证文档说这可以refresh your mind on some details you might have forgotter,就是这个。当然,还有一个很重要的原因,现在考证,可以找东家报销(150美元,很大的一块蚊子肉啊),——做学生时穷,虽然只要半价,还是舍不得考。

计划下半年再考一次SAS Certified Advanced Programmer for SAS 9 Credential,这个拿高分还算是有些挑战性。为考试而考试是个很无聊的事,那就借着这个机会,温习下SAS Advance的东西,这些在日常工作中都要用到,相互促进了。

其实我最想考的是SAS Certified Predictive Modeler using SAS Enterprise Miner 5 Credential,数据挖掘相关的。读书时鼓捣得比较多,现在工作几乎都要忘掉这些了,考个证可以刺激下自个。啥时有机会去美国遛达,就乘机考了这厮。SAS Base和Advance都可以在国内考,唯有这DM需要在美国的SAS公司考。

附些材料,感兴趣的朋友可以参考。

1. 报名,SAS Base和Advance都可以网上预约,或者直接到考场报名,费用是150美元(或相应的人民币)。

预约或查询考点,上www.prometric.com/sas,有国际信用卡就可以支付。

又,考试时间也是可以预定的,从早上八点开始。我订的是早九点,早八点考场工作人员可能都在调试机器,拖后些比较好。

2.参考资料。对考Base来说,SAS公司的SAS OnlineTutor®: Basic and Intermediate SAS,止矣尽矣。这是我见到过的最好的入门材料。或者,同等有分量的入门材料,SAS Programming I: Essential和SAS Programming II: Data Manipulation Techniques。这些材料,既可以为准备考试用,更可以作为入门温习提高用。从准备考试来讲,它们比SAS Little Book实用。

技术博客重新开张

把以前在space写的文字都导入到这个新博客里了。

这新得白花花扎眼的一年,还想多写些关于SAS程序员本身的文字,关于这个职业,它依托的行业环境等等。SAS程序员在国内还不是一个很兴盛的职业。

还会有关于SAS本身的文字,关于SAS语言,SAS公司,关于它的创始人等等。最近我对SAS的创始人Tony Barr比较感兴趣。

技术本身,这个跟饭碗相关,除了SAS技术,很多笔墨可能会停留在CDISC上面。当然还会有自个兴之所至的其他文字,才年初呢,啥都没定。作为跟“统计之都”的约定,所有跟统计相关的文字,我会首先发布到“统计之都”,然后在自个的博客做个备份:

http://cos.name/author/hujiangtang/

FYI: 用SAS/Graph做仪表盘(Dashboard)

dashboard

以前提到过,SAS一个员工做了一份给圣诞老人用的dashboard,在YouTube也能找到。最近Support.sas.com公布了一批Dashboard示例,比较有意思,不妨一看:

http://support.sas.com/kb/26/134.html

具体的:

  • Slider chart dashboard:
  • Bullet graph indicator:
  • Bullet graph dashboard:
  • Dial meter indicator:
  • Dial meter dashboard:
  • Bar chart indicator:
  • Bar chart dashboard:
  • Telesales dashboard:
  • Web marketing analysis dashboard:
  • del.icio.us Tags: ,,

    SAS金融函数(1):期权定价(new in SAS9.2 Base)

    以前贴过一份SAS9.1 Base的金融函数(23个。SAS9.1/ETS还有9个),惜乎没有展开来讲。现在SAS9.2 Base新增了一些有意思的金融函数(还有一些调整,比如,SAS9.1/ETS那9个金融函数都整合到SAS9.2 Base中去了),正好可以慢慢道来,从新增的期权定价函数开始(以前这些函数在SAS的风险管理软件Risk Dimension里面)。

    SAS9.2 Base新增的这些定价函数(8个)都是计算欧式期权价格的,对看涨(call)期权、看跌期权(put)以及不同的期权类型(股票期权、期货期权、货币期权、交换期权),分别提供了以下四种模型:

    Black-Scholes model,传统的股票期权定价模型,见Fischer Black and Myron Scholes (1973)
    Black model,Black-Scholes model的扩展,针对期货期权,见Fischer Black(1976),所以该模型又称作Black-76
    Garman-Kohlhagen model,外汇期权定价模型,见Mark Garman and Steven Kohlhagen(1983)
    Margrabe model,交换期权定价模型,见William Margrabe(1978)

    SAS9.2期权定价函数一览:

        Model,定价模型    Underlying,标的物     函数(Call,看涨)     函数( Put,看跌)
    Black model Futures,期货 BLACKCLPRC BLACKPTPRC
    Black-Scholes model Stock,股票 BLKSHCLPRC BLKSHPTPRC
    Garman-Kohlhagen model Currency,货币 GARKHCLPRC GARKHPTPRC
    Margrabe model Exchange,资产交换 MARGRCLPRC MARGRPTPRC

    具体用法,见SAS9.2的在线帮助文档,Functions and CALL Routines by Category: Financial
    http://support.sas.com/documentation/cdl/en/lrdict/59540/HTML/default/a000245860.htm

    推荐一个网站,可以比较各种不同的期权定价模型:http://www.montegodata.co.uk/

    下期预告:一个通吃的金融函数,Finance(.)

    一个孤零零的金融函数,能够做52种(是52种!)不同的金融计算,前面提到的SAS9.1/ETS那9个金融函数就是被它给硬生生消化掉了,……

    del.icio.us Tags: ,,,,,,,,,,,,,,,,,,,,,,,,,,

    SAS/IML,及其与R/S-Plus、SciLab/Matlab的比较(1)

    SAS的矩阵语言IML(Interactive Matrix Language)只可以处理二维表,数据类型不如R、Matlab等同类矩阵语言丰富,不过它对矩阵的表达和操纵能力一样厉害,而且与SAS程序和数据的相互访问通讯比较好,不妨一学。矩阵语言,看着也类似,下面就做个IML与R/S-Plus、SciLab/Matlab的比较(我手头只有R跟SciLab,以下的例子就用它们,这两个东西我不熟,不妨随时指正。)一句话,SAS/IML在定义矩阵时跟SciLab/Matlab差不多,在提取矩阵元素时跟R/S-Plus相近些:

    1.定义矩阵

    定义矩阵 SAS/IML R/S-Plus SciLab/Matlab
    标量 a={1} 或者a=1 a=1 a={1}

    重复a={2 2 2}

    a={[3] 2 }

    a=rep(2,3)

     
    循环,1到100 a=1:100   a=1:100
    循环,1到100,步长为2 a=do(1,100,2)  

    a=1:2:100

    1*3行向量 a={1 2 3} a=array(c(1,2,3),dim=c(1,3)) a=[1 2 3]

    3*1列向量

    a={1,2,3}

    a=array(c(1,2,3),dim=c(3,1))

    a=[1;2;3] or a={1;2;3}

    2*3矩阵

    b={1 2 3, 4 5 6 }

    a=array(c(1,2,3,4,5,6),dim=c(2,3))

    b=[1 2 3; 4 5 6 ]

    3*3单位阵

    c=I(3)

     

    a=eye(3,3)

    2*3零矩阵 

    d=J(2,3,0)

     

    zeros(2,3)

    2*3全一矩阵

    e=J(2,3,1) or J(2,3)

     

    a=ones(2,3)

    2.矩阵操纵

    矩阵操纵 SAS/IML R/S-Plus SciLab/Matlab

    2行3列,

    b=a[2,3]

    b=a[2,3]

    b=a(2,3)

    所有行

    a[2,]

    a[2,]

    b=a(2,:)

    所有列

    a[,3]

    a[,3]

    b=a(:,3)

    均值

    b=a[:]

     

    b=a(:) 所有元素

    水平叠加(列相加) a||b cbind(a,b) c=[a,b]
    垂直叠加(行相加) a//b rbind(a,b)  
    取最大 a<>b pmax(a,b)  
    取最小 a><b pmin(a,b)  

    3.矩阵运算

    矩阵运算 SAS/IML R/S-Plus SciLab/Matlab

    求逆

    inv(a)

    inv(a)

    inv(a)

    行列式 det(a)   det(a)
    rank(a)   rank(a)
    trace(a)   trace(a)

    元素相乘 

    a#b

    a*b

    a.*b

    元素幂 

    a##b

    a^b

    a.^b

    a**2=a*a

     

    a^2=a*a

    矩阵乘法

    a*b

    a%*%b

     

    转置

    t(a) or a`

    t(a)

    a’

    对角阵 

    diag(a)

    diag(a)

     

    对角元素

    vecdiag(a)

    diag(a)

     
    Kronecker乘积 a@b   kron(m1,m2)
    特征值
    特征向量
    eigval(a)
    eigvec(a)
     

    [eigenvector, eigenvalue]=eig(m)

    matlab

    Technorati Tags: ,,,,,

    SAS Perl Regular Expression and SAS Regular Expressions (2)

    可以先参考先前介绍正则表达式的元字符的那篇。

    SAS对正则表达式 (Regular Expressions, RX) 的支持,表现在以下两大类函数(包括Call Routines)中:

    1. SAS Perl Regular Expressions (PRX),SAS9开始引进,有10个函数;
    2. SAS Regular Expressions (RX) ,SAS6.12就开始支持,5个函数。

    这两个正则表达式系统功能类似,只是语法略有差别。它们的对应如下:

      SAS Perl Regular Expressions SAS Regular Expressions
    版本 SAS9– SAS6.12–
    函数前缀 PRX RX
    定义正则表达式的函数 PRXParse RXParse
    定位函数 PRXMatch RXMatch
      Call PRXSubstr Call RXSubstr
      Call PRXPosn  
      Call PRXNext  
      PRXParen  
    文本替换函数 PRXChange  
      Call PRXChange Call RXChange
    释放内存函数 Call PRXFree Call RXFree
    代码调试函数 Call PRXDebug  

    在RX系统中,比如,用$d或$D来表示数字0-9,在PRX中,用\d,\D却表示所有不是数字的字符。同时学习两套系统很容易弄混。建议只使用SAS PRX。

    1. PRX提供了更丰富的函数;
    2. PRX更为人所知;
    3. PRX据说更有效率。

    (待续……)

    在UltraEdit中运行SAS代码-配置图解

    在UltraEdit(UE)中编辑SAS代码是很方便的,尤其是同时查看很多不同的脚本时(关于在UE中实现SAS代码高亮显示,见文末)。以前有一篇《在UltraEdit中配置Java编译器》,现在说说如何在UltraEdit(UE)中配置SAS,不完全是玩具功能,偶尔有用。我的测试环境是:

    UltraEdit Professional Version 14.00a+1

    SAS 9.1.3 Service Pack 4

    Microsoft Windows  XP Professional Version 2002, Service Pack 2

    Intel(R) Core(TM)2 Duo CPU, 1.95GB of RAM

    1.UE->Advanced->Tool Configuration->Insert

    打开UE,依上面的顺序点击工具栏,你将看到类似下面的Command、Options和Output界面,先在Command栏目,Menu Item Name一栏,写上SAS或者其他能提醒自己的词,在Working Directory一栏填上%p。困难在于Command Line一栏,下面详述之。

    Command

     

    2.Start->All Programs->SAS->SAS 9.1(English)->Properties

    Command Line一栏涉及如何激活你的SAS系统。在你的机器里,依上点“开始”->“所有程序”等,你将看到如下对窗口:

    Target

    我们需要的Target(目标)一栏的字符串,我机器的SAS系统装在D盘,所以这一行是这样的:

    D:\SAS9\sas.exe -CONFIG D:\SAS9\nls\1d\SASV9.CFG

    把以上Target栏中的东西复制到上面提到的Command Line中,后面再加上这么些SAS系统选项(后面再解释):

    -noicon -nosplash -batch -sysin %n

    所以,最后Command Line一栏看上去是这样的(注意:如果你的SAS系统装在其他路径,Target项目会有所不同):

    D:\SAS9\sas.exe -CONFIG D:\SAS9\nls\1d\SASV9.CFG  -noicon -nosplash -batch -sysin %n

    3.Options

    在Options栏目里,勾上Windows Program和Save all files first。

    Options

    4.Output

    在Output栏目里,勾上Output to List Box、Capture Output以及Captured Output。

    Output

    按OK结束。在UE->Advanced的最下面,你将看到新建成功的SAS项目。大功告成哈尔莫斯。

    /*以上参考Batch Submission Using Ultraedit,里面UE和SAS的版本都很旧。*/

     

    随便在SAS Help找一段不是特简单的代码,比如下面的,把它们复制到UE,并保存为比如ultraedit.sas,路径在,比如D:\Ultreedit-SAS\,接下来所有的结果都会保存在这个路径下,而且在UE中点File->Open,也会直接到达这个所谓当前文件夹:

    data Setosa;

            input SepalLength SepalWidth PetalLength PetalWidth @@;

            label sepallength=’Sepal Length in mm.’

                  sepalwidth=’Sepal Width in mm.’

                  petallength=’Petal Length in mm.’

                  petalwidth=’Petal Width in mm.’;

            datalines;

          50 33 14 02  46 34 14 03  46 36 .  02

          51 33 17 05  55 35 13 02  48 31 16 02

          52 34 14 02  49 36 14 01  44 32 13 02

          50 35 16 06  44 30 13 02  47 32 16 02

          48 30 14 03  51 38 16 02  48 34 19 02

          50 30 16 02  50 32 12 02  43 30 11 .

          58 40 12 02  51 38 19 04  49 30 14 02

          51 35 14 02  50 34 16 04  46 32 14 02

          57 44 15 04  50 36 14 02  54 34 15 04

          52 41 15 .   55 42 14 02  49 31 15 02

          54 39 17 04  50 34 15 02  44 29 14 02

          47 32 13 02  46 31 15 02  51 34 15 02

          50 35 13 03  49 31 15 01  54 37 15 02

          54 39 13 04  51 35 14 03  48 34 16 02

          48 30 14 01  45 23 13 03  57 38 17 03

          51 38 15 03  54 34 17 02  51 37 15 04

          52 35 15 02  53 37 15 02

          ;

       ods html;

       ods graphics on;

       title ‘Fisher (1936) Iris Setosa Data’;

       proc corr data=Setosa sscp cov plots;

          var  sepallength sepalwidth;

          with petallength petalwidth;

       run;

       ods graphics off;

       ods html close;

    就在这段代码上,点Advanced->SAS 运行,稍等你就能在D:\Ultreedit-SAS看到所有的结果:

    Result

    其中,

    ultraedit.sas是我们测试的代码,在UE里编辑和运行;

    ultraedit.log 是这次任务的日志文件,可以用UE打开;

    ultraedit.lst 是list output,可以用UE打开,依次见下:

    LogList

    sashtml.htm 是html output,可以用默认的浏览器打开;

    RecMatrixPlot0.gif是上面程序产生的散点图图片。

    HtmlOutput Figure

    ————————–附录———————————

    5.如果以上都没问题,那么我们就可以参详一下在以上设置中碰到的SAS系统选项:

    sysin-specifies to start the SAS System and submit the file in batch mode

    noicon-specifies to restore the main SAS window immediately

    nosplash-specifies to not display the logo screen when the SAS System initiates

    6.关于UE里SAS代码高亮显示,见http://idmcomp.com/index.php?name=Content&pa=showpage&pid=40

    Technorati Tags: ,,,