在SAS中使用“

在SAS中使用“,sas,Sas,我必须转换一些SAS代码。在其他编程语言中,我习惯于在比较中使用,例如在伪代码中:如果x

我必须转换一些SAS代码。在其他编程语言中,我习惯于在比较中使用,例如在伪代码中:如果x 在SAS中,操作员在此实现了什么:


intckmonth,startdate,enddate dayenddate符号符号为了更详细地了解代码在做什么,这是一种古老的方法,可以确定从一个日期到下一个日期的月数,例如,计算生日


最初,SAS函数intck和intnx只计算两个日期之间或其他类似时间间隔内当月的第一次次数。因此,INTCK‘月’、‘2020年10月31日’、‘2020年11月1日’d=1,而INTCK‘月’、‘2020年10月1日’、‘2020年11月30日’d=1。不理想!因此,您需要添加这段特殊的代码,-dayenddate只是为了更详细地了解您的代码在做什么,这是一种古老的方法,可以确定从一个日期到下一个日期的月数,例如,计算生日


最初,SAS函数intck和intnx只计算两个日期之间或其他类似时间间隔内当月的第一次次数。因此,INTCK‘月’、‘2020年10月31日’、‘2020年11月1日’d=1,而INTCK‘月’、‘2020年10月1日’、‘2020年11月30日’d=1。不理想!所以您需要添加这段代码,-dayenddate谢谢您的回答,这很有用。我认为我现在接受的另一个答案是,如果其他用户遇到类似的代码,并且需要准确地理解它在做什么,那么它会稍微有好处。谢谢你的回答,这很有用。我认为我现在接受的另一个答案是,如果其他用户遇到类似的代码,并且需要确切地理解它在做什么,那么它会稍微有好处。
if (BASELINE) then PERCENT_CHANGE = (VALUE-BASELINE) / BASELINE ;
if day(enddate) < day(startdate) then diff = intck(month,startdate,enddate) - 1;
else diff = intck(month,startdate,enddate);
intck(month,startdate,enddate,'c')