• 全国 [切换]
  • 二维码
    晒展免费版

    手机WAP版

    手机也能找商机,信息同步6大终端平台!

    微信小程序

    微信公众号

    当前位置: 首页 » 行业新闻 » 热点新闻 » 正文

    有关ADSTDTC/AEENDTC日期填补引发的几点思考

    放大字体  缩小字体 发布日期:2025-01-29 06:13:05   浏览次数:2  发布人:7370****  IP:124.223.189***  评论:0
    导读

    1.首先,在SAS中,没有合适的format可以对“2020-06”字符型日期直接转为数值型。无论是用yymmdd6.有关的格式还是yymmn6.格式。关于yymmn6.格式:是一种将“202006”这种字符型日期转为数值型的format;但转换之后的数值型日期指的是当月的第一天即20200601号的数值型日期时间,下面程序运行之后结果相等。yymmn6.格式的使用与anydtdte.格式使用差不

    1.首先,在SAS中,没有合适的format可以对“2020-06”字符型日期直接转为数值型。无论是用yymmdd6.有关的格式还是yymmn6.格式。

    关于yymmn6.格式:是一种将“202006”这种字符型日期转为数值型的format;但转换之后的数值型日期指的是当月的第一天即20200601号的数值型日期时间,下面程序运行之后结果相等。






    yymmn6.格式的使用与anydtdte.格式使用差不多,将需要填补的日期转换为任何日期格式,只可以用来转为数值型(且转为的数值型为当月的第一天),且对2010-10-01这种的完整日期格式无效,从数值型转为字符型用anydtdtc.这个格式会报错,







    2.日期变量的比较字符型可以和字符型比较,数值型可以和数值型比较,且不报错,因此进行日期变量之间的比较时候不必转为数值型,无论字符型日期完整不完整都可以进行比较。






    3.关于日期填补,示例请看如下:





    sap





    paragram变成分别对应上面规则1234

    intck函数与intnx很类似,第一个用于计算两个变量之间的间隔,第二个用于计算在第一个变量固定间隔多少个之后的值是多少。

    以此为例:intnx('month', input(aa, anydtdte.), 0, 'e'),intnx函数的参数解释如下:

    'month':表示在月的基础上按间隔递增。

    input(aa, anydtdte.):将需要填补的日期转换为任何日期格式。

    0:表示在本月的基础上递增(如果想在下月就写1,以此类推)。

    'e':表示递增到月末(如果是月初就是'b',月中就是'm')。

    我在网上也找到了其他填补的方法:











    首先用year()/month()/day()函数取出首次治疗日期的单个部分来,然后从开始日期或结束日期中用scan函数用T和-作为分隔符提取年、月、日。然后对于组合的日期采用mdy()函数,此函数共三个参数,分别是月、日、年,用逗号分割三个参数




    示例:sy年sm月1日

    4.需要计算AE的持续时间,想要的结果是xx天xx时xx分的形式。天好做,用结束日期-开始日期+1.但是计算小时分钟,因为直接用intck函数计算的是间隔的小时数或分钟数而不是,真正零碎的不到一天或不到一小时的时间,因此需要除以相应的分母,比如24小时、60分钟,   并根据结果是正是负增加相应的24或60,取余数计算。如下所示.






     
    (文/匿名(若涉版权问题请联系我们核实发布者) / 非法信息举报 / 删稿)
    打赏
    免责声明
    • 
    本文为昵称为 7370**** 发布的作品,本文仅代表发布者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,发布者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们154208694@qq.com删除,我们积极做(权利人与发布者之间的调停者)中立处理。郑重说明:不 违规举报 视为放弃权利,本站不承担任何责任!
    有个别老鼠屎以营利为目的遇到侵权情况但不联系本站或自己发布违规信息然后直接向本站索取高额赔偿等情况,本站一概以诈骗报警处理,曾经有1例诈骗分子已经绳之以法,本站本着公平公正的原则,若遇 违规举报 我们100%在3个工作日内处理!
    0相关评论
     

    (c)2008-现在 All Rights Reserved.