它的语法结构很简单:
DM <window> 'command(s)' <window> <CONTINUE>;
<window>窗口可以是编辑窗口edit,记录窗口log,或者,输出窗口output.
'command(s)'命令必须在引号' '里面,如果是几条命令则必须用分号;隔开
<CONTINUE>即DM语句运行后在执行的SAS语句。
简单应用:
dm 'flsvlast'; *保存代码;
dm 'log; clear; output; clear;'; *清除记录和输出;
dm 'next VIEWTABLE:; end;'; *关闭已打开的数据;
dm "vt work.a" ; *自动打开数据集;
dm "VT libname.dataset COLHEADING=NAMES" continue;*打开的数据集变量表头显示为变量名;
dm "VT libname.dataset COLHEADING=LABEL" continue;*打开的数据集变量表头显示为变量标签;
dm "VT sdtm.dm ; show 'SUBJID VISIT' forward 3;" continue;*打开的数据集,显示变量SUBJID VISIT(单变量可不加引号),从第3行开始展示;
dm 'next VIEWTABLE; end;' continue;*关闭一个已经打开的数据集(最后一个打开的那个);
dm ' ends';*关闭SAS;
dm 'var libname.dataset;' continue;*打开表的属性菜单;
dm 'odsresults' clear ;*清除结果菜单rusult;
dm "DEXPORT libref.dsn 'filename.xls' replace";*简单的输出导入,主要对excel和txt文件
dm "DIMPORT 'filename.xls' libref.dsn replace";
dm log(out) 'file "filepath.filenane.extension" '; *保存记录(输出)到指定文件;
dm log/out/wedit ‘winclose’; *关闭指定的窗口;
*将指定内容复制至剪贴板;
dm 'whostedit; include "filepath.filename.extension";EDCMD selectall; EDCMD copy; EDCMD winclose;' ;
*将剪贴板内容粘贴至指定文件开始位置;
dm 'whostedit; include " filepath.filename.extension "; EDCMD paste;'
continue;
dm 'flsvlast; winclose;' continue;
直接跳转到某个逻辑库下或者lib下:
dm 'dmsexp; top; expand "work"; ' ;
dm 'dmsexp; top; expand "libraries"; ' ;
跳转到日志窗口和output窗口以及结果窗口:
dm 'log;' continue;
dm 'output;' continue;
dm 'odsresults' continue;
展开和折叠结果窗口:
dm 'odsresults' COLLAPSE ;
dm 'odsresults' EXPAND ;
dm 'odsresults' COLLAPSE ALL;
dm 'odsresults' EXPAND ALL;
网友评论