京公网安备 11010802034615号
经营许可证编号:京B2-20210330
SAS-一些有用的语句
今天本想继续介绍 summary过程的,但是发现别人整理的比我更好,于是周末再更,好好整理一下描述性统计分析及评分卡建模,今天给大家介绍一些sas有用的语句吧。
1.如果在同一程序中需要多次调用print语句,用%str可以节省程序书写;
%let print=%str(proc print data=sashelp.class;run;);
&print;
2.查看变量类型;
data a;
set sashelp.class;
w=vtype(age);
run;
3.结构查询语言;
select语句用来检索数据(order从句,format选项) ;
create语句创建表格;
update语句增加或修改表格中列的数值(insert和delete语句插入和删除行,用alter语句增加、修改、删去列)
例子:
data employee;
input empname $ empcity $ empyears emptitle $ sales;
cards;
aa beijing 3 engineer 2300
bb shangqiu 2 teacher 3000
cc changsha 32 worker 4000
dd changsha 20 salesrep 1000
;
proc sql;
create table changsha as /*对表格的操作*/
select empname,
empcity,
empyears format=yymmdd8.,/*对表格列的操作*/
sales*2 as totalsales,
/*count(empyears) as count_emp,*//*计算by排序文件的观测数、均值(avg)*/
/*10*(sales-empyears) as total,*//*有效的表达式*/
emptitle
from employee
where empcity='changsha'
order by empyears asc; /*asc升序,desc降序*/
alter table changsha add gender char(1);/*对表格列的操作,添加性别变量,相似modify,drop*/
update changsha/*对表格值的操作:赋值*/
set gender='f'
where empname in ('aa','cc');
update changsha
set gender='m'
where gender is missing;
insert into changsha /*对表格行的操作,插入一条观测*/
values('ff', 'changsha',10, 8000,'teacher','m');
delete from changsha /*对表格行的操作*/
where empyears>20;
quit;
proc print data=changsha;
run;
4.计算行数;
%let dsid=%sysfunc(open(sashelp.class,i));
%let n=%sysfunc(attrn(&dsid,nobs));
%let rc=%sysfunc(close(&dsid));
%put obsnum=&n;
5.scan()用法:
data a;
arg='ABC.DEF(X=Y)';
word=scan(arg,-3);
/*put word;*/
run;
data c;
arg='ABC.DEF(X=Y)';
word=scan(arg,-20);
put word;
run;
data d;
input Arr $ & 22.;
ArrivalGate=scan(Arr,1,' ');
DepartureGate = scan(Arr,2,' ');
put DepartureGate ArrivalGate arr;
cards;
Arrival DepartureGates
;
run;
6.sysfunc()用法;
data a;
input group $ number point;
cards;
A 1 85
A 2 66
B 1 69
C 3 55
D 4 24
;
run;
%macro macro_name(group,number,point);
data out_&group.;
group="&group";
number=&number.;
point=&point.;
run;
%mend;
%macro test;
*打开存放参数的数据集;
%let dsid=%sysfunc(open(work.a,i));
%put &dsid; *%put是在日志输出改宏变量的值;
*fetch是为了判断是否读取完数据集记录,若已读完,则返回-1,否则返回0,赋给宏变量rc;
%let rc=%sysfunc(fetch(&dsid));
%do %while(&rc=0);
*trim是去掉字符右边的空格,left是去掉字符左边的空格,getvarc(&dsid,1)是读取数据集的第一列,
读取第二列则为getvarc(&dsid,2),getvarc是针对字符,若该列是数值型的则为getvarn(&dsid,2);
%let group=%sysfunc(trim(%sysfunc(left(%sysfunc(getvarc(&dsid,1))))));
%let number=%sysfunc(trim(%sysfunc(left(%sysfunc(getvarn(&dsid,2))))));
%let point=%sysfunc(trim(%sysfunc(left(%sysfunc(getvarn(&dsid,3))))));
%put &group; %put &number; %put &point;
%macro_name(&group,&number,&point);*将参数传给调用你所需要运行的宏macro_name;
%let rc=%sysfunc(fetch(&dsid)); *同上fetch;
%put &rc;
%end;
%let rc=%sysfunc(close(&dsid)); *关闭数据集;
%put &rc;
%mend;
%test;
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
在Python Pandas数据分析中,DataFrame是承载结构化数据的核心载体,数据清洗、数据修正、条件赋值、字段更新等实操场景,都离不 ...
2026-09-09 很多数据分析师掌握了Excel函数、会写SQL查询,但当被问到“数据从哪里来”“数据加工有哪些步骤”“如何使用分析工具连接数 ...
2026-09-09卡方检验(Chi-Square Test)是统计学中针对分类数据的经典显著性检验方法,核心用于判断两个离散分类变量是否相互独立、数据实 ...
2026-09-09CDA数据分析师 出品 作者:李诗怡 1. 销售漏斗阶段判断 题目:销售漏斗模型中,通过广告、社交媒体等方式触达品牌信息(如浏览品 ...
2026-09-07在Python数据分析中,Pandas库的DataFrame是最核心、最常用的结构化数据表对象,类似于Excel的二维表格,具备规整的行列结构、字 ...
2026-09-07在数据分析、经营复盘、业绩预测与经济统计工作中,平均增速(平均增长率)是衡量数据长期变化趋势、业务发展快慢的核心指标。不 ...
2026-09-07 很多数据分析师精通Excel单元格操作,但当被问到“表结构数据的基本处理单位是什么”“字段和记录的本质区别”“为什么表结 ...
2026-09-07随着大数据技术的快速发展,商业竞争逐步从传统的经验式经营转变为数据驱动的精细化运营。海量的用户行为数据、交易数据、运营数 ...
2026-09-04CDA数据分析师 出品 作者:李诗怡 1. 波士顿矩阵(BCG Matrix) 定义: BCG于1970年提出的业务组合分析工具,以"市场增长率"(纵 ...
2026-09-04 数据分析师八成以上的时间在和数据表格打交道,但许多人拿到Excel后习惯性地先算、先分析,结果回头发现漏了一列关键数据, ...
2026-09-04数据透视表是Excel与Power BI中最核心的数据分析工具,具备快速汇总、维度拆分、动态筛选的能力,可高效完成数据归类与统计展示 ...
2026-09-03在Power BI数据分析可视化场景中,堆积柱状图+折线图是最常用的复合图表组合。堆积柱状图适合展示各细分维度当期数值、结构占比 ...
2026-09-03 很多数据分析师每天与Excel打交道,但当被问到“表格结构数据的基本处理单位是什么”“数据类型误判会引发哪些分析错误”“ ...
2026-09-03CDA数据分析师 出品 作者:李诗怡 一、8个核心数据清洗函数 1. TRIM:一键清除多余空格(最常用) 作用:仅保留文本中"单词/字 ...
2026-09-02数据分析的核心并非单纯操作工具、整理报表或绘制图表,而是依靠科学的思维逻辑挖掘数据价值、解释业务现象、指导经营决策。在完 ...
2026-09-02在社会经济、产业研究、区域治理与大数据实证分析中,面板数据是最具研究价值的数据类型。面板数据同时包含截面维度与时间维度信 ...
2026-09-02 很多数据分析师能熟练计算均值、标准差,但当被问到“如何用一张图让业务方3秒内看懂核心结论”“面对不同数据类型该怎么选 ...
2026-09-02在数据驱动决策的体系中,数据分析按照分析目的可分为描述性分析、诊断性分析、预测性分析与指导性分析四大类型。其中,诊断性分 ...
2026-09-01网络请求是Python爬虫开发、接口测试、数据拉取的核心基础功能,Python生态中主要依靠 urllib 和 requests 两大库实现HTTP请求操 ...
2026-09-01 很多数据分析师面对业务问题时,常常感到“知道要分析,却不知道用什么方法”。其实,数据分析并非无章可循——从三大基础范 ...
2026-09-01