楼主: xt_jane
16944 7

intnx函数 [推广有奖]

  • 0关注
  • 1粉丝

VIP1

大专生

63%

还不是VIP/贵宾

-

威望
0
论坛币
2165 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
495 点
帖子
36
精华
0
在线时间
33 小时
注册时间
2007-10-3
最后登录
2015-7-29

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
data _null_;
call symput ("beginm",put(intnx('month',today(),-1),date9.));
call symput ("endm",put(intnx('month',today(),0)-1,date9.));
run;


求助问下INTNX函数是什么意思啊?

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:int symput Today month begin null

日期时间 n个间隔 函数:
比如几天2015.7.9
执行  intnx('month',today(),-1)以后 就是当前日期跳到上一个月1号:也就是 2015.6.1
执行  intnx('year',today(),10,'sameday')它的意思是跳到2025.7.9(注:这里加了sameday参数)

使用道具

藤椅
xt_jane 发表于 2015-7-9 18:20:00 |只看作者 |坛友微信交流群
yang1015661763 发表于 2015-7-9 16:47
日期时间 n个间隔 函数:
比如几天2015.7.9
执行  intnx('month',today(),-1)以后 就是当前日期跳到上一 ...
那后面的-1的意思就是月份减1就是上个月是吧

那后面那句call symput ("endm",put(intnx('month',today(),0)-1,date9.));又是哪天呢

不就比上面那句多了一个0吗,感觉我还是没有理解精髓

使用道具

板凳
苹果叶 在职认证  发表于 2015-7-12 20:39:20 |只看作者 |坛友微信交流群
xt_jane 发表于 2015-7-9 18:20
那后面的-1的意思就是月份减1就是上个月是吧

那后面那句call symput ("endm",put(intnx('month',today ...
call symput ("endm",put(intnx('month',today(),0)-1,date9.));

首先是这一句 intnx('month',today(),0)
会把日期定位到这个月的第一天,因为intnx 这个函数,假设你不定义‘sameday’ 的话,会直接给到那个月的第一天,现在间隔给的是0,也就是给到这个月第一天,假设是1, 那就是下个月的第一天

然后 intnx('month',today(),0)    -1了,那就是这个月第一天-1, 所以是上个月的最后一天。

使用道具

报纸
TDDHA 发表于 2017-10-20 16:10:23 |只看作者 |坛友微信交流群
O(∩_∩)O谢谢

使用道具

地板
零花钱00 发表于 2017-11-8 16:38:25 |只看作者 |坛友微信交流群
苹果叶 发表于 2015-7-12 20:39
call symput ("endm",put(intnx('month',today(),0)-1,date9.));

首先是这一句 intnx('month',today() ...
date=intnx("month",return_date,1,"end");
这里"end",啥意思呢

使用道具

7
苹果叶 在职认证  发表于 2017-11-17 21:43:18 |只看作者 |坛友微信交流群
零花钱00 发表于 2017-11-8 16:38
date=intnx("month",return_date,1,"end");
这里"end",啥意思呢
intnx 最后一个参数有beginning middle same end 四个选项,默认beginning,就是返回你设定的间隔之后的那个月的第一天,end 就是最后一天,middle 就是中间,same 就是和原来时间同样的那天。

如果第一个参数是year,类推。
  1. data _null_;
  2.   a = today();
  3.   b1 = intnx('month', a, 1, 'b'); * b for beginning;
  4.   b2 = intnx('month', a, 1, 'e'); * e for end;
  5.   b3 = intnx('month', a, 1, 'm'); * m for middle;
  6.   b4 = intnx('month', a, 1, 's'); * s for same
  7.   put a = b1 = b2 = b3 = b4 =;
  8.   format a b1 - b4 yymmdd10.;
  9. run;

  10. a=2017-11-17 b1=2017-12-01 b2=2017-12-31 b3=2017-12-16 b4=2017-12-17
复制代码


使用道具

8
小沐君 发表于 2018-10-10 09:11:50 来自手机 |只看作者 |坛友微信交流群
学习了

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-25 01:43