问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

sas 中如何实现类似excel中edate的功能

发布网友 发布时间:2022-10-20 19:13

我来回答

1个回答

热心网友 时间:2024-03-22 05:53

INTNX 函数
按指定间隔递增日期、时间或日期时间值,并返回日期、时间或日期时间值
语法
INTNX(interval<multiple><.shift-index>, start-from, increment<,alignment>)
参数
interval
指定包含时间间隔的字符型常数、变量或表达式,例如 WEEK、SEMIYEAR、QTR 或 HOUR。
要求:interval 的类型(日期、日期时间或时间)必须与 start-from 和 increment 中的值类型匹配。
multiple
指定间隔的倍数。它将间隔设置为间隔类型的倍数。例如,YEAR2 由两年期间组成。
请参见“Incrementing Dates and Times by Using Multipliers and by Shifting Intervals”
shift-index
指定间隔的开始点。默认情况下,开始点为 1。大于 1 的值会将开始点移位到间隔中靠后的点。移位的单位取决于间隔。例如,YEAR.3 指定将每年期间移位到在每个日历年的三月一日开始,并且在下一年的二月结束。
*:位移索引不能大于整个间隔中的期间数。例如,YEAR2.24 的位移索引有效,但是 YEAR2.25 无效,因为两年期间内没有第 25 个月。
*:若默认位移期间与间隔类型相同,则您仅能使用位移索引位移多期间间隔。例如,因为 MONTH 类型间隔默认情况下按 MONTH 子期间进行移位,所以您不能使用位移索引对每月间隔进行移位。不过,您可以使用位移索引移动双月间隔,因为在每个 MONTH2 间隔中有两个 MONTH 间隔。例如,间隔名 MONTH2.2 指定从偶数月的第一天开始双月期间。
start-from
指定表示 SAS 日期、时间或日期时间值的 SAS 表达式,用以标识开始点。
increment
指定表示日期、时间或日期时间间隔数的负整数、正整数或零。increment 是将 start-from 值移动的间隔数。
alignment
控制间隔内 SAS 日期的位置。alignment 可以是以下值之一:
BEGINNING
指定将返回日期调整到间隔的开始点。别名:B
MIDDLE
指定将返回日期调整到间隔的中点。
别名:M
END
指定返回日期调整到间隔的结束点。
别名:E
SAMEDAY
指定将返回日期调整为与相应间隔增量相同的日历日期。
别名:S
别名:SAME
默认:BEGINNING
详细信息
基础 INTNX 函数按间隔(例如 DAY、WEEK、QTR 和 MINUTE)递增日期、时间或日期时间值。增量取决于开始日期、时间或日期时间值,以及您指定的时间间隔数。INTNX 函数返回您在 start-from 参数中指定的间隔的开始日期、时间或日期时间值。例如,要确定距离 2003 年 10 月 17 日所在周 6 周的那一周的开始日期,请使用以下示例:
intnx(‘week’, ‘17oct03’d, 6);
INTNX 返回值 23NOV2003。
通过使用乘数和移位间隔递增日期和时间 SAS 提供日期、时间和日期时间间隔来对不同的已用时间期间进行计数。通过使用乘数和位移索引,您可以创建间隔的倍数和移动其开始点以构造更复杂的间隔指定。
间隔名称的一般格式如下所示:
name<multiplier><.shift-index>
乘数和位移索引是可选参数,默认值为 1。例如,YEAR、YEAR1、YEAR.1 和 YEAR1.1 都可以指定始于 1 月的通常的日历年。若您为乘数和位移索引指定其他值,您可以创建始于该年内不同时期的多倍间隔。例如,间隔 WEEK6.11 指定始于第二个星期三的 6 周间隔。
了解时间间隔 在年或天内的间隔都以 SAS 日期或日期时间值 0 为基点调整。SAS 使用 1960 年 1 月 1 日午夜的任意参考时间都用作非移位间隔的原点,并相对于 1960 年 1 月 1 日定义移位后的间隔。
例如,MONTH13 定义间隔 1960 年 1 月 1 日、1961 年 2 月 1 日、1962 年 3 月 1 日等等。间隔 1958 年 12 月 1 日、1957 年 11 月 1 日、1956 年 10 月 1 日 等等都是在基本日期 1960 年 1 月 1 日之前的日期。
再举一例,间隔指定 WEEK6.13 定义始于第二个星期五的 6 周期间。相对于包含 1960 年 1 月 1 日的期间进行调整这一规则确定了开始计数的位置,以确定对应于 6 周间隔的第二个星期五的日期。
示例
以下示例展示如何使用 INTNX 函数。
SAS 语句结果
yr=intnx(‘year’,’05feb94’d,3);13515
put yr / yr date7.;01JAN97
x=intnx(‘month’,’05jan95’d,0);12784
put x / x date7.;01JAN95
next=intnx(‘semiyear’,’Oljan97’d,1);13696
put next / next date7.;01JUL97
past=intnx(‘month2’,’Olaug96’d,-1);13270
put past / past date7.;01MAY96
sm=intnx(‘semimonth2.2’,’Olapr97’d,4);13711
put sm / sm date7.;16JUL97

具体你可以用EG模块查询生成器 -添加新的计算列-高级表达式中就有这个时间函数追问我想直接在表格里面将格式改为日期,而不是put输出;此外,虽然月份能够向后推,但是具体的日期都变成了某月1号,如何让它保留之前日期的具体号数。谢谢您啦~

追答增加SAMEDAY选项,默认都是BEGINNING

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
我是个很内向的人有时候会很喜欢听纯音乐,有时候会听特别嗨的DJ_百度知... 与别人握手时该握几下 关于生日祝福语的文案(精选50句祝女子生日幽默风趣的句子) 女人高情商幽默生日祝福语 教师资格证审核通过能重新报名吗 教师资格证审核通过后可以重报吗 报考教师资格证审核通过了还能再重新报考吗 ...名字,霸气高冷的昵称_又狠又霸气的网名_霸气的网名_高冷霸气网名 网名男生霸气冷酷好听,男生网名高冷霸气_男生网名霸气超拽高冷... 记忆枕十大品牌介绍记忆枕真的有用吗 徐工集团有多少员工2022 sas中intnx函数,结果出不来 老师,你好,我想咨询下,我们公司买的酒在超市销售,养生酒,交什么税... 大会展览面积,分五个展区,企业 龙游县塔石镇到江山戴笠故居有多少公里 围观了2022汉诺威工博会,发现工业的可持续化发展道路是今年的讨论焦点... 寂照庵导航路线图(大理才村至大理寂照庵自驾路线) 社区亲子手工活动方案 第一部具有资产阶级共和国宪法性质的法典是 盘点战争电影有哪些,【在线观看】免费百度云资源 中国历史上第一部资产阶级民主宪法是? 第一部资产阶级成文宪法是 西游记中牛魔王的绰号 求画质清晰的刘德华-爱火烧不尽 [高清影音](1)种子下载,谢恩公!_百度... 周华健-风雨无阻 [高清影音]种子下载地址有么?谢恩公! 【私人加油站这个投资项目如何】,了解的请进。 跪求刘德华-男人哭吧不是罪 [高清影音]种子下载,有发必采纳 玛卡稀的玛卡稀的药用原理 玛卡稀的玛卡稀的重大事件 玛卡稀的介绍 sas怎么确定ARIMA模型口径 工程机械国三排放标准实施时间2022年 third_Friday=intnx(&#39;week.6&#39;,mdy(month,1,2012)-1,3);想问一下,mdy... 包河区三轮车上牌点 合肥肥西云谷路三轮车上牌点 法国的依云矿泉水为什么那么贵 魔力擦笔芯为什么会变白?(不是热的) 买了一辆二手多功能拖拉机、没过户只有协议书,现在和原车主有分歧了,原... 网上买了一台拖拉机,没有买卖合同,与卖方描述不符,可以找他退货吗... 管道局中学的简介 廊坊市管道局中学咋样? 如何签东方红拖拉机厂的售后服务合同 管道局中学的介绍 法国公司甲给中国公司乙发盘:“供应50台拖拉机,100匹马力,每台CIF北京4... 玛卡是大补的吗? 黄玛卡能补肾吗 三国演义33回,34回的主要内容 谁有三国演义第31,32,33回的梗概 三国演义第三十三回主要内容介绍 三国演义第33回内容概括,别太长。最好把本章回分成几个部分,每部分用小...