我有以下 SAS 代码:
DATA _NULL_;
today = today();
if day(today) ge 1 and day(today) le 15 then do;
date2=put(intnx('month',today,-1,'m'), date11.);
date1=put(intnx('month',today,-1,'E'), date11.);
end;
if day(today) > 15 then do;
date2=put(intnx('month',today,0,'B'), date11.);
date1=put(intnx('month',today,0,'m'), date11.);
end;
call symput('dt',date1);
call symput('dt2',date2);
RUN;
Run Code Online (Sandbox Code Playgroud)
上面的代码表示,如果今天的日期部分小于或等于 15,则将 date2 设置为上个月中旬,将 date1 设置为上个月的最后/月底。否则,将 date2 设置为当月月初,将 date1 设置为当月中旬。
我喜欢 SAS 使用“m”或“middle”来获取该月的中间日期。它非常适合有 30 天且中间日期为 15 日的月份。但对于有 31 天的月份,它总是在 16 日,二月是特例。我希望始终将中间放在 15 号。
我尝试在每一行添加“-1”以检查它是否能给我所需的内容,但当我调用该变量时它返回一个空白日期。对于不工作的日期调用,它返回一个点 -1。
其中之一是%put &rpt_dt. &rpt_dt2.; . 01-JAN-2023
由于 1 月有 31 天,如果我这样设置 -1:
date1=put(intnx('month',today,0,'m')-1, date11.);
Run Code Online (Sandbox Code Playgroud)
我会得到想要的 1 …
我正在创建一个函数来返回 SAS EG 中的每月工作日编号。我可以使用 weekday() 找到周末,但我还需要考虑银行假日。我们有一个银行假期表,我尝试了几种方法来使该函数能够读取银行假期表并返回当月已经过去的银行假期数。
本质上,我需要一种从函数内执行 SQL 并从 SQL Select 语句返回 2 个值的方法。我有使用 Select into 的 SQL,它可以工作。如何将这些值返回到函数中的代码中?
有没有办法在SAS7BDAT
没有SAS的情况下将文件导入Stata?
usesas
需要SAS.
我有一组数据如下.我需要排除基于MODEL的'计数<100'的第一行.一旦计数> 100,无论计数> 100还是<100,都将保留以下行.
|Make |Model |SoldMonth|Counts|
|ford |class_c |Jan_2015 |80 |
|ford |class_c |Feb_2015 |90 |
|ford |class_c |Mar_2015 |70 |
|ford |class_c |Apr_2015 |120 |
|ford |class_c |May_2015 |130 |
|ford |class_c |Jun_2015 |50 |
|ford |class_c |Jul_2015 |70 |
|ford |class_c |Aug_2015 |140 |
|ford |class_c |Sep_2015 |110 |
|ford |Maxi |Jan_2015 |20 |
|ford |Maxi |Feb_2015 |50 |
|ford |Maxi |Mar_2015 |80 |
|ford |Maxi |Apr_2015 |120 |
|ford |Maxi |May_2015 |130 |
|ford |Maxi |Jun_2015 |110 …
Run Code Online (Sandbox Code Playgroud) 我有一个类似于下面的数据集:
ID COL70 COL71 COL72 COL73 COL74
1 4 3 2 -998 .
2 2 0 2 1 -998
3 1 -998 -998 . .
4 3 4 -998 -998 -998
Run Code Online (Sandbox Code Playgroud)
我想要做的是让一个新列让我们称之为NEWCOL,它具有从COL74向后看的第一个非负值,所以它看起来如下:
ID COL70 COL71 COL72 COL73 COL74 NEWCOL
1 4 3 2 -998 . 2
2 2 0 2 1 -998 1
3 1 -998 -998 . . 1
4 3 4 -998 -998 -998 4
Run Code Online (Sandbox Code Playgroud)
我在WPS工作,所以这需要在SAS或PROC SQL中.
我有一个文本文件,其中包含 SAS 日期格式日期。现在,我需要使用 Scala 将此文件加载到 Hive 中的表中。
SAS 日期:21558 预期输出:2019-01-09
你能帮我用正确的命令来获得这个输出吗