我需要从目录中删除所有文本文件。以下程序适用于列出的文件(例如:file.txt),但是当我尝试使用 *.txt 时它不起作用。我是否遗漏了什么或者有更好的方法来删除目录中的所有 txt 文件。
data _null_;
fname = "_files";
rc = filename(fname,"&path\file.txt");
if rc = 0 and fexist(fname) then
rc = fdelete(fname);
rc = filename(fname);
run;
Run Code Online (Sandbox Code Playgroud) 我有报告需要发送其他的sharedrive,需要发送标题和日期.我怎样才能做到这一点
PROC EXPORT DATA= WORK.ARG_REPORT
OUTFILE= "/dwdata/sas_data/REPORT.csv" REPLACE;
RUN;
Run Code Online (Sandbox Code Playgroud)
有什么可以添加到REPORT查看日期?thaks
这可能是一个相当简单的问题,但我是SAS的新手,即使在谷歌研究过这个问题之后也很无能为力.
我有一个宏变量 -
%let list = 12AUG2013 13AUG2013 15AUG2013 16AUG2014 09SEPT2014;
Run Code Online (Sandbox Code Playgroud)
我需要得到以下东西 -
a)列表中的总字数:在R中,这将是长度(列表).但在SAS中,长度计算每个角色.COUNTW不起作用.无论如何我能做到这一点?
b)找到第i个单词:如果我需要这个列表中的第3个元素,我会在R中列出[3].我怎么能在SAS中做到这一点?
c)找到元素的位置:假设我需要知道列表变量中16AUG2014的位置,我该如何获得它?
感谢您的帮助!
我需要将sql代码转换为sas代码;
NVL(SPRTELE_STATUS_IND, 'A') = 'A'
AND NVL(SPRTELE_PRIMARY_IND, 'Y') = 'Y'
AND NVL(SPRTELE_SEQNO, 99) =
(SELECT NVL(MAX(SPRTELE_SEQNO), 99)
FROM SATURN.SPRTELE D
WHERE SPRIDEN_PIDM = D.SPRTELE_PIDM
AND D.SPRTELE_TELE_CODE = 'MA'
AND NVL(D.SPRTELE_STATUS_IND, 'A') = 'A'
AND NVL(D.SPRTELE_PRIMARY_IND, 'Y') = 'Y'))
Run Code Online (Sandbox Code Playgroud)
如何将NVL转换为sas?那什么意识
我知道我可以用来%PUT在日志窗口中写一个文本字符串,但是如果我想在日志中写一个函数的结果PROBNORM(x)呢?有没有办法做到这一点?
如何在日志中打印出宏变量的数据类型
%macro mymacro(dt2);
%LET c_mth = %SYSFUNC(intnx(month,&dt2.d,-1,e),date9.) ;
%put &c_mth;
%mend;
mymacro('01sep2014')
Run Code Online (Sandbox Code Playgroud)
我有一堆使用%let或into分配的宏变量:我的问题是我正在尝试在日期上做一堆布尔条件,但我怀疑我的一些变量是字符串,有些是我将它们输入的日期我的代码,但三重检查肯定有办法将一些东西返回到日志
我想要类似于在R中使用str()或mode()或is.numeric()
我有三个住院,门诊和专业索赔数据集.我想在这三个数据集中的任何一个中找到与烟草使用有关的独特人数(1 =是烟草,0 =烟草).
因此,数据集几乎都是:
data inpatient;
input Patient_ID Tobacco;
datalines;
1 0
2 1
3 1
4 1
5 0
;
run;
Run Code Online (Sandbox Code Playgroud)
我正在尝试合并住院病人,门诊病人和专业人员,这样我就可以使用以下三种数据集中的任何一种来获得烟草索赔的患者ID:
data tobaccoall;
merge inpatient outpatient professional;
by rid;
run;
Run Code Online (Sandbox Code Playgroud)
但是,它会在新数据集中覆盖一些带有0的1.如何更好地合并数据集以查找患者是否在任何数据集中拥有声明?
我有一个包含5个变量的SAV文件.在其中两个中我有NA值(写成字符串.我需要将NA转换为"空值"
考虑使用"如果然后重命名"选项但没有成功,因为它只打印出一个观察或保持NA值不变.请协助.
data QUS;
if happy=NA then rename happy="";
if educ=NA then rename educ="";
run;
proc print data=QUS;
run;
Run Code Online (Sandbox Code Playgroud) 来自样本35591,
仅当在%MACRO语句中设置MINOPERATOR选项或作为SAS®系统选项时,IN运算符才能在%IF语句中使用.
需要一个单独的宏处理选项似乎是一个不必要的复杂问题.当然,由于宏处理的性质,宏IN语法及其可处理的内容必须与DATA步IN不同.但是实现强制程序员跟踪两个不同的IN,尽管它们在逻辑上是相同的.
MINOPERATOR的文件.
这应该是一个简单的,但我无法弄清楚:有些情况我需要从表的内容创建一个宏变量,它们有时包含&符号(&)作为文本的一部分.当我调用宏变量时,如何让SAS忽略&符号?例如,这段代码......
data _null_;
test="Amos&Andy";
call symputx("testvar",test);
run;
%put testvar=&testvar;
Run Code Online (Sandbox Code Playgroud)
...将此内容写入日志:
28 data _null_;
29 test="Amos&Andy";
WARNING: Apparent symbolic reference ANDY not resolved.
30 call symputx("testvar",test);
31 run;
NOTE: DATA statement used (Total process time):
real time 0.00 seconds
cpu time 0.00 seconds
WARNING: Apparent symbolic reference ANDY not resolved.
32 %put testvar=&testvar;
testvar=Amos&Andy
Run Code Online (Sandbox Code Playgroud)
如何让SAS忽略&符号而不将WARNING写入日志?非常感谢!