date9.===>16feb2018

yymmdd10.===>2018-04-22

yymmddn8.===>20180422

输入日期 日期宽度 INFORMAT

03/11/2014 10 mmddyy10.

03/11/14 8 mmddyy8.

December 11, 2012 20 worddate20.

14mar2011 9 date9.

14-mar-2011 11 date11.

14-mar-2011 15 anydtdte15.

Datetime 对应的几种格式,供参考(例如:‘30May00 10:03:17.2’dt)

30May2000:10:03:17.2 DATETIME20.

30May00 10:03:17.2 DATETIME18.

30May2000/10:03 DATETIME15.

Day函数:得到日期的天,例如:day(‘2016-09-01’d)=1;

Month函数:得到日期的月份,例如:month(‘2016-09-01’d)=9;

Year函数:得到日期的年份,例如:year(‘2016-09-01’d)=2016;

Hour函数:得到时间的小时,例如:hour(‘18:10:01’t)=18;

Minute函数:得到时间的分钟,例如:minute(‘18:10:01’t)=10;

Datepart函数:获取日期时间类型中的日期部分;

Timepart函数:获取日期时间类型中的时间部分。

例如:

data time;

format time datetime18.;

time='30May18 10:03:10'dt;

a=put(timepart(time),time.);

run;

yymmdd10.:这种格式可以将要日期表示为: yyyy-MM-dd的样式;

hhmmss.:这种格式可以将时间类型格式化为:HH:mm:ss的形式。

intck:根据间隔,计算两个日期之间的间隔数;

intnx:计算某个间隔数之后的一个日期。

data samprate1;set samprate1;if n=1;run; /取第一条记录/

/取第一条记录的seed,取最优随机数/

proc sql noprint;

select distinct seed into:seed separated by " "

from samprate1;

quit;/用变量值创建一个宏变量/

/*记录temp_c_t3的数据量,名为num_of_records /

proc sql;

select count() into: num_of_records from temp_c_t3;

quit;

取上周日日期和rolling12月的日期:

data timing;

format date1 yymmdd10. date2 yymmdd10.;

date2=intnx('week',today(),0);/上周末,数据截止日/

if mod(year(date2),4)=0 then do;

if (month(date2)100+day(date2))>228 then date1=date2-365;

else date1=date2-364;

end;

else if mod(year(date2)-1,4)=0 then do;

if month(date2)>2 then date1=date2-364;

else date1=date2-365;

end;

else date1=date2-364;/闰年,平年往前R12的date1计算/

month=year(date2)10000+month(date2)100+day(date2);/数据截止日*/

run;

添加最后一笔往前rolling一年的日期oneyearago

data lastandfirst;

set lastandfirst;

format oneyearago yymmdd10.;

if month(lastpurchase) =2 and day(lastpurchase)=29 then do;

oneyearago=mdy(month(lastpurchase),day(lastpurchase)-1,

year(lastpurchase)-1)+1;

end;

else do;

oneyearago=mdy(month(lastpurchase),day(lastpurchase),

year(lastpurchase)-1)+1;

end;

run; /添加最后一笔往前rolling一年的日期oneyearago/

proc sort data=trans;by customer_id;run;

proc sort data=lastandfirst;by customer_id;run;

data trans;

merge trans(in=a) lastandfirst;

by customer_id;

if a;

oneyear=0;

if oneyearago<=purchasetime<=lasttime then oneyear=1;

run;

/********计算最后一笔往前rolling一年的av am af ipt**********/

%macro rfm(input,timevar,output);

proc sql;

create table a1 as

select customer_id,purchasetime,sum(price) as salesbyday,sum(unit) as ui

from &input where &timevar=1 group by 1,2 having sum(price) ne 0;

quit;

proc sort data=a1;by customer_id purchasetime;run;

data &output(keep=customer_id av am af ipt);

set a1;

by customer_id;

if first.customer_id then do;

f=0;

v=0;

u=0;

end;

if salesbyday>0 then q=1;

else q=-1;

f+q;

v+salesbyday;

u+ui;

if last.customer_id then do;

if f=0 and v>0 then f=1;

if f ne 0 then do;

m=v/f;

ipt=u/f;

end;

av=v;

am=m;

af=f;

if f>0 then output;

end;

run;

%mend;

%rfm(trans,oneyear,rfm_1year);

ddmmyy日期格式是多少_日期格式相关推荐

  1. python论文格式检查系统_论文格式检查软件

    论文格式检查软件 [篇一:毕业论文格式检查使用说明书] " 毕业论文格式检查 v1.0" 使用说明书 " 毕业论文格式检查 v1.0" 是专门用来对毕业设计(论 ...

  2. python论文格式检查系统_毕业论文格式检查软件

    毕业论文格式检查软件 [篇一:毕业论文格式检查使用说明书] " 毕业论文格式检查 v1.0" 使用说明书 " 毕业论文格式检查 v1.0" 是专门用来对毕业设计 ...

  3. 参考文献格式字号字体_论文格式的字体字号要求?

    您好,在写论文的时候针对不同的场景都会有不同的要求,而每个场景都是有模板或具体的要求的.如毕业论文每个学校的要求都不同,而且本科和研究生也不同,可以了解清楚后把写好的论文进行修改即可.不过也可以通过一 ...

  4. mysql 日期索引的使用_日期使用

    mysql 日期索引的使用 时区糟透了. 特别是夏令时. 我不介意像与此行为相关的编程错误那样,不停移动时钟或失去一个小时的睡眠. 更糟糕的是Java的旧日期/时间API. Java社区通过JSR 3 ...

  5. C#.Net工作笔记008---c# 日期时间大小比较_日期相减

    技术交流QQ群[JAVA,C++,Python,.NET,BigData,AI]:170933152 /// <summary>         /// 比较两个日期大小         ...

  6. 参考文献格式字号字体_论文格式要求及字体大小

    一.封面 题目:小二号黑体加粗居中. 各项内容:四号宋体居中. 二.目录 目录:二号黑体加粗居中. 章节条目:五号宋体. 行距:单倍行距. 三.论文题目: 小一号黑体加粗居中. 四.中文摘要 1.摘要 ...

  7. ddmmyy日期格式是多少_解锁9个日期时间计算套路,效率提高3.2%

    小伙伴们好啊,今天老祝和大家学习一组日期时间计算的套路,让工作效率再高一点点. 1.日期时间合并 如下图,需要将A列日期和B列的时间合并到一起,变成既有日期又带有时间的数据. C2公式为: =A2+B ...

  8. ddmmyy日期格式是多少_如何在Excel 2013/2016/2019中将mmddyyyy文本转换为普通日期格式...

    本文将讲述如何将非标准日期格式或文本转换为Excel中的标准日期.如果您的日期为mmddyy文本格式,并且您希望使用Excel公式将其更改为mm / dd / yyyy的正常日期格式.如何在Excel ...

  9. ddmmyy日期格式是多少_英语中关于年月日以及数字

    - 1 - 英语中关于年月日.时间及数字的读写 1. What day is today? Sunday \Monday\ Tuesday\ Wednesday\ Thursday\ Friday\  ...

最新文章

  1. python代码案例详解-Python综合应用名片管理系统案例详解
  2. 游戏网页设计:拟物还是扁平?
  3. matlab dist函数
  4. 用Java写数据到POST请求
  5. struts集成spring官方例子
  6. 深入理解【缺页中断】及FIFO、LRU、OPT这三种置换算法
  7. 关于ftp的被动模式与IPTABLES策略
  8. python爬取新浪博客_python爬取韩寒博客的实例
  9. 兄弟连php课程大纲,LAMP兄弟连PHP课程学习笔记 第四天 流程控制分支语句
  10. 【Qt】无法定位程序输入点 于动态链接库
  11. 【网页设计自习室#005】网页页面中banner海报设计
  12. 论文笔记:Delving into Data: Effectively Substitute Training for Black-box Attack
  13. java模拟器怎么打开apk文件,APK是什么 APK文件怎么打开【详解】
  14. java毕业设计视频点播系统Mybatis+系统+数据库+调试部署
  15. 探究MySQL的索引结构选型
  16. 【LeetCode刷题笔记-39 714.买卖股票的最佳时机(含手续费)】
  17. {__ob__: Observer }的解决方式
  18. oracle数据库分页查询
  19. 外星人显卡拓展坞支持linux,外星人扩展坞可以用哪些显卡?
  20. 360掐架搜狗浏览器

热门文章

  1. windows10资源管理器出现两个OneDrive
  2. 【进阶四】Python实现(MD)HVRP常见求解算法——差分进化算法(DE)
  3. 七大无需编程的DIY开发工具
  4. 仿iOS猎豹垃圾清理(实现原理+源码)
  5. vim 配置替换错误E488: Trailing characters
  6. 关于人工智能不会使大脑变懒惰的议论文_关于中秋节作文300字3篇
  7. Hive源码阅读--导读
  8. mysql数据库连接时出现2003错误代码10038
  9. itchat实现命令行聊天+记录聊天图片/表情
  10. 中国三反手机市场趋势报告、技术动态创新及市场预测