sas 判断数据集是否存在及如何用sas代码关闭已打开的数据集
来源:互联网 发布:2017年张北云计算招聘 编辑:程序博客网 时间:2024/05/20 22:02
/**1、用宏CHECKDS使用% SYSFUNC来执行EXIST函数,它检查数据集的存在:***/
%macro checkds(dsn);
%if %sysfunc(exist(&dsn)) %then
%do;
proc print data=&dsn;
run;
%end;
%else
%put The data set &dsn does not exist.;
%mend checkds;
%checkds(Sasuser.Houses)
%sysfunc(exist(&dsn)) ne 0为存在,否则%sysfunc(exist(&dsn))=0为不存在。
/****2、使用% SYSFUNC来执行OPEN函数和ATTRN函数快速获取数据集中的变量和观测值。***/
%macro obsnvars(ds);
%global dset nvars nobs;
%let dset=&ds;
%let dsid = %sysfunc(open(&dset));
%if &dsid %then
%do;
%let nobs =%sysfunc(attrn(&dsid,NOBS));
%let nvars=%sysfunc(attrn(&dsid,NVARS));
%let rc = %sysfunc(close(&dsid));
%put &dset has &nvars variable(s) and &nobs observation(s).;
%end;
%else
%put Open for data set &dset failed - %sysfunc(sysmsg());
%mend obsnvars;
%obsnvars(Sasuser.Houses);
/*****3、使用% SYSFUNC来执行OPEN函数判断表是否存在,如果存在关闭*********/
OPTIONS NOCENTER LS=MAX PS=MAX SASMSTORE=SASUSER MSTORED MAUTOSOURCE;
/*
*合并数据集
*T1 BASE 数据集
*T2 追加数据集
*/
%MACRO M_ADD_DATA(T1,T2)/STORE;
%LET DS_FLAG = %SYSFUNC(OPEN(&T1.,IS)); /***&DS_FLAG=0不存在,&DS_FLAG=1存在****/%IF &DS_FLAG. EQ 0
%THEN %DO;
DATA &T1.;
SET &T2.;
RUN;
%END;
%ELSE %DO;
%LET DS_CLOSE = %SYSFUNC(CLOSE(&DS_FLAG.));/*追加之前要关闭打开的数据集*/
DATA &T1.;
SET &T1. &T2.;
RUN;
PROC CONTENTS DATA=&T1.;
RUN;
%END;
%MEND;
- sas 判断数据集是否存在及如何用sas代码关闭已打开的数据集
- SAS入门教程2---建立SAS数据集
- SAS入门教程3---修改SAS数据集
- SAS进阶《深入解析SAS》之Base SAS基础、读取外部数据到SAS数据集
- SAS: 比较两个数据集
- SAS 代码合集
- SAS ODS 过程输出数据集
- sas数据集或报表输出excel
- SAS学习︱逻辑库、数据集创建与查看、数据库链接(SAS与R的code对照)
- SAS学习︱逻辑库、数据集创建与查看、数据库链接(SAS与R的code对照)
- SAS DM数据准备读书笔记7(数据集比较)
- SAS进阶《深入解析SAS》之SAS数据挖掘的一般流程
- SAS数据分析大赛
- SAS数据导出导入
- SAS导入外部数据
- 如何用js判断文件是否存在
- SAS学习笔记之《SAS编程与数据挖掘商业案例》(2)数据获取与数据集操作
- 怎么写好一个判断是否存在数据的代码?
- WebView总结
- 成员变量的隐藏
- 使用sklearn优雅地进行数据挖掘
- Java
- 安卓Launcher 简介
- sas 判断数据集是否存在及如何用sas代码关闭已打开的数据集
- 2016 ACM/ICPC 青岛赛区网络赛 I Count Two Three
- app接口设计之token的php实现
- 中英文长度判断
- CSS-浮动1
- 《Machine Learning》第八讲 支持向量机(SVM)
- CSS-浮动2
- spring mvc 文件上传
- 如何当弹出的div失去焦点的时候自动隐藏(JS如何模拟鼠标点击X,Y坐标)