本站分享:AI、大数据、数据分析师培训认证考试,包括:Python培训Excel培训Matlab培训SPSS培训SAS培训R语言培训Hadoop培训Amos培训Stata培训Eviews培训

SAS BASE_SAS BASE机经_视频教程

sas培训 cdadata 5294℃

SAS BASE视频教程

关键词:sas base考试、sas base题库、sas base机经

课程特点:

SAS BASE编程技术教程是为考取SAS BASE的系统培训课程。本课程可以作为SAS BASE的培训课程,也可以作为SAS初学者的入门课程。

SAS作为应用最广泛的统计软件之一,应用范围很广。SAS大部分功能都是通过编程来实现,打好坚实的编程基础,才能在解决实际问题的时候灵活应用。

本课程最大的特点是适合零基础的初学者,将SAS的基础讲的全面、简单易懂,SAS编程其实并不神秘,大段大段的大型程序也是由一个一个的简单语句写成。学完课程,一只脚已经踏入了SAS的大门,在以后遇到实际问题的时候,在现有知识的基础上,将会很快掌握更高深的技巧来解决问题。
注意:证书考试:不考统计应用只考编程基础


零基础你也可以学的SAS BASE  参考价:300

课程大纲:

1. 导入数据(infile input、import)

第一部分:原始数据分类

1.1标准数据和非标准数据

1.2 数值数据和字符数据

第二部分:data步使用infile+input读入原始数据3

2.1 input简单方式

2.2 input列方式(columns)读入

2.3 input格式化(format)方式

2.4 input列表(list)方式

2.5 input命名方式(name)

2.6 infile语句

第三部分:通过IMPORT访问外部数据文件

3.1 IMPORT过程的通用格式

3.2 导入EXCEL、SPSS、STATA文件示例

3.3 导入Tab分割符文本文件

3.4 导入.csv数据文件

3.5 导入‘任意分割符’文本文件

3.6 一次性导入excel的多个sheet

3.7一次性导入多个excel表格

2. 变量输入输出格式(format)

第一部分:输入格式

1.1输入格式使用方法

1.2 数值变量常用输入格式

1.3 字符变量常用输入格式

1.4日期常用输入格式

第二部分:proc format自定义输出格式

2.1数值按照范围

2.2字符编码

2.3日期编码

3. 数据部修改和选择观测(keep drop rename等)

第一部分:变量选择:drop 与keep

1.1常用使用方法

1.2 在set中使用

1.3在data option中使用

第二部分:rename、retain和delete

2.1 Rename重新命名变量名

2.2 Retain计算累积值

2.3 delete删除观测

第三部分:观测选择:if和where

3.1 if用法

3.2 where用法

3.2 where用法

第四部分:变量长度length和累积语句

4.1变量长度

4.2累积语句

4.排序和转置(sort transpose)

第一部分:数据集排序(sort)

1.1 Sort格式

1.2 sort案例

第二部分:改变数据结构(transpose)

2.1 transpose过程语法

2.2数据集转置

2.3长格式转换为宽格式

2.3宽格式转换为长格式

5.SAS数据集合并(set merge)

第一部分:Set语句

1.1 set语句格式2

1.2 set常用用法举例4

第二部分:MERGE语句5

2.1 merge语句格式5

2.2 One-to-one合并5

2.3One-to-many匹配合并

6.数组array(array)

第一部分:定义数组

1.1用格式一定义一维、二维数组。

1.2用格式二定义二维数组。

1.3格式三定义数组

第二部分:引用数组元素

2.1显式下标

2.2.隐含下标

第三部分:Array 应用案例

3.1缺失值填补

3.2编码变量

3.3.计算新变量

3.4确定变量所属的类型应用

3.5宽格式转换为长格式

3.6 first.、 last. 、 retain 用法

3.7 长格式转换为宽格式

3.8. 宽格式转换为长格式实际案例

7.统计量计算(mean freq univariate)

第一部分:相关过程(corr)

1.1计算相关系数和偏相关系数

1.2 相关过程句法

第二部分:频数过程(FREQ)

2.1 频数过程语法

2.2 频数过程案例

第三部分:均值过程(MEANS)

3.1 PROC MEANS过程介绍

3.2 PROC MEANS应用案例

第四部分:单变量过程(UNIVARIATE)

4.1 PROC UNIVARIATE过程介绍

4.2 PROC UNIVARIATE应用案例

第五部分: proc datasets

8.输出控制(ods和report)

第一部分:输出传送系统(ODS)

1.1 ODS传送目标

1.2查询输出对象

1.3 传送至目标LISTING

1.4 传送至目标OUTPUT

1.5 传送至目标PRINTER

1.6 生成RTF格式文件

1.7传送至目标HTML

1.8传送至目标csv

第二部分:Proc report

2.1 基本的report过程

2.2 在proc report中使用define

2.3 在proc report中加入统计量

2.4 proc report中加入计算的变量

9.循环语句(do end)

第一部分: Do 循环

1.1简单DO语句

1.2循环DO语句

1.3 DO OVER语句

1.4 DO WHILE语句

1.5 DO UNTIL语句

第二部分: 一些常用语句

2.1 SELECT语句

2.2 IF THEN语句

2.3 子集IF语句

10.SAS常用函数(数值、字符、日期函数)

第一部分:常用字符函数

1.1截取字符substr

2.2字符串左对齐、右对齐–left、 right

2.3大小写–lowcase、 upcase、propcase

2.4加引号、去掉引号–quote、dequote

2.5从字符串中去掉指定字符–compress

2.6返回字符表达式x中的第n个词– scan

2.7替换字符串中的特定词– tranwrd

2.8连接字符串–cat、 cats、catx

第二部分:常用数值函数

2.1算数函数sum、int、log等

2.2 滞后\差分函数–lag() 、difn()

2.3正态分布随机数函数— rannor 、normal

2.4对数正太分布随机数

第三部分:常用日期函数

3.1两个日期之间的天数–datdif(sdata,edata,basis)

3.2返回由年月日定义的sas日期值–mdy(month,day,year)

3.3返回SAS日期值或文字的月份– month(date)

3.4返回两个日期之间的年数– yrdif(sdata,edata,basis)

3.5计算两个时间之间的周期时间间隔– INTCK

3.6给出时间间隔和初始时间,返回一个最终时间- INTNX


需要的请加微信:efenxi


题目分享:
嚷嚷了这么久, 是时候分享楼主遇到的题目了! 
70题:
3. 原题
5. 原题
6. 变型题 – 问为什么program fail. 原因就是KEEP statement should not include equal sign ‘='(类似这样的, 反正知道KEEP statement 不能有等号就是了)
10. 原题
11. 原题
13. 变型题 – Program里面第三个statement 变成 array Difcount{3} Diff1-Diff3; 答案选Diff1 Diff2 Diff3
15. 原题
16. 原题
17. 原题
20. 原题
21. 填空题 – Program里面第三个statement 变成 if Sales GT 50; 答案是1.
22. 原题
24. 原题
28. 原题
30. 原题
31. 原题
32. 原题
33. 原题
34. 原题
35. 变型题 – output statement 变成了else output other; . 答案是2 2 1
36. 原题
37. 原题
40. DO WHILE 变成了 do until (Prod GT 6); 答案还是选7
42. text=’US-Australia Denmark’; Pos=find(text, ‘US’, ‘i’, 5); 答案是SAS will assign to Pos a value of 5
43. 只问了怎么把numeric variable shipped_date 改成 character variable 然后是类似Feburary 02, 2009 这种形式的. 答案是 put(shipped_date, worddate). <worddate的width我忘了…>
46. Observation 里多了一个Revenue 2007 variabe with missing value, 不过答案还是1.6
51. 选项改了. 认真读题, 选一个包含metadata这个关键词的答案
52. SAS data set WORK.EMP_NAME 里多了一个observation, 这个observation不能和WORK.EMP_DEPT里任何一个数据匹配, 所以答案是3
53. 问题变成 what is the value of variable total before the first iteration of data step? 答案还是选missing
56. 原题
57. 这题values for variable day 变成了 9和12, 所以是要extract日期里面的day, 用day() function.
58. 原题
60. Drop=option 里少了一个variable, 所以答案是3
61. 原题
62. 题目变成create a report stored in a PDF file. 只要把原题答案里面的html 改成pdf就好了
65. 原题
66. 程序变成 data WORK.SALES;
                               do Year 1 to 7;
                                     do Month=1 to 12;
                                              X+1;
                                      end;
                                     output;
                                end; run;
                   答案是7个observations are written to the WORK.SALES data set
67. IF-Then statement 变成 if X<10 then X=3;  答案是X would get a value of 3
69. 原题


123题
7. 原题
11. 变型题. 答案还是end variable的值为1
27. 原题
50. 题目和答案一样, 只是变成了填空题. 记得题目已经给出了分号, 自己不用再填分号上去了
52. 原题
54. 原题
64. 变型题. 程序里依次是set statement, length statement 然后是 format statement. 反正variable length还是不变, 与原来data set里面一样, 因为set statement 在最最最前面
68. 原题
94. 原题
104. 原题
108. 原题
110. 原题, 只是数据变了


95题(70+25)
93. 选Qtrl1=sum(of month{*});


新题: 
1. 给出两个data set, dataset A 里面包含 EmpID Name Salary 三个variable, dataset B 里包含 EmpIDNumber (类似,不是很记得了) Name Salary 三个variable. 问 data C; set A B; run; 执行之后, 新的data set C 里面有多少个variable. 答案是4个
2. 题目给出四个data set的命名, 问有哪几个是正确的. 类似于 2test, 2_test, _test, _2test. 答案是两个. 记得data set名字开头不能是数字,只能是 _ 或者字母
3. 只需读入前10个observations, 问infile statement 需要什么option. 答案是 obs=10
4. 给出一个data set, 例如 test, 里面的records是这样的(类似)
a b c d e
f g h
i j k l
m n o p q


程序给出来的是
data test2;
    set test;
    input name1 name2name2 name3 name4name4 name5; 
run;
问在执行过程中_ERROR_是什么样的. 答案是 1 0 0 1. 因为name5 是numeric variable. 只要observations里 的第5个value是有character的话, 就会出现执行错误. 如果本来就没有记录, 例如第二和第三个observation, 程序自动给missing value, 不会生成error的.


5. 给出一个population 和growth rate, 问2012年至2021年的人口数. 题目中graphic里面是有每一年的记录,所以记得在DO LOOP里面加上output, 以至于每执行完一次iteration都会输出结果
6. YEARCUTOFF = 1920, YEAR1=19, YEAR2=20, 问DIFF=YEAR2-YEAR1. 答案是 -99.
7. label test=’testing*one*two’; (类似的code), 问how to control the label to wrap to the next line? 答案是在proc print statement 处加上split=’*’ .
8. 读SAS LOG 辨析错误. 题目中读instream data的时候datalines 后面没有加分号导致出错.
9. ODS HTML FILE = ‘file-specification’; proc print data=a; proc freq data=b; run; ODS HTML close. 题目问HTML FILE里面包含多少个结果的输出. 答案是both proc print 和 proc freq. 有些朋友疑惑 proc print data=a 后面没有run, 所以不知道会不会输出. 其实不影响, 只要proc freq后面有run就好. 楼主自己编过程序验证过了.
10. proc sort data=test; by var1 var2 var3 descending date var4; 答案是descending only applies to variable date.
11. 给出一个数据集test
var1 var2 var3
a      15     25
b      15     20
c       14     18 (数据类似, 反正方法都一样)


data test2;
    set test;
    retain total;
    input var1$ var2 var3;
    if _N_ =1 then total = 0;
       else total=var2+var3;
run;


答案应该是
var1   var2   var3   total
a        15     25       0
b        15     20       35
b        14     18        32
解析: 在compile阶段, 因为retain没有给variable total 赋值, 所以默认是missing. 执行阶段, 读入第一个observation 的时候, _N_=1, 所以第一个observation的 total=0. 因为retain total, 在第二次iteration中, _N_=2, total=0. 读入第二行数据时, 既然 if _N_ =1 is not true, 我们就执行 total=var2+var3. 区别于之前我们见过的题目, total并没有被累加, 而是被var2 和var3 的sum 取代了. 因此, 原来的total=0 被overwrite, 变成了total=15+20=35. 同样是因为retain total, 在第三次iteration中,  刚开始时PDV 里面_N_=3, total=35. 同样, 读入第三行数据时, total 被 var2+var3的和取代, 变成total=14+18=32.


12. 题目给出数据集 test
var1 var2 
a       1        
b      3         
c       5        



data test2;
      set test;
     input var1 $ var2;
      total=total+var2;
      run;
proc print data=test2;
run;


答案应该是:
var1 var2 total
a       1        .
b      3         .
c       5        .

解析: total在compile的过程中assigned了missing value, 所以任何数跟missing value相加还是missing value.

经验和题目就分享到这里了, 希望这份机经能对接下来要考试的朋友们有所帮助! 我也希望跟大家分享一下经验可以攒人品应付接下来的advance 考试啦啦啦! 顺便顺便, 发个个人学习笔记 祝即将要考试的朋友们, 当然还有我自己啦, 能人品大爆发, 100%过过过!

附件:Certification – SAS Base – Summary Note.pdf 

转载请注明:数据分析 » SAS BASE_SAS BASE机经_视频教程

喜欢 (3)or分享 (0)