我有2个客户2个月的交易日期,现在我只需要为该特定客户提取该月的第一个交易日期。就像我需要一个月明智。我在SAS上没有对此有所了解。有人可以帮忙吗?在此先感谢。
Cust_name Vis_date
V 3/1/2016
V 8/1/2016
V 16/1/2016
V 18/1/2016
V 26/1/2016
V 27/1/2016
E 5/1/2016
E 8/1/2016
E 18/1/2016
E 19/1/2016
E 25/1/2016
E 26/1/2016
V 4/2/2016
V 8/2/2016
V 17/2/2016
V 25/2/2016
V 26/2/2016
V 27/2/2016
E 5/2/2016
E 8/2/2016
E 23/2/2016
E 24/2/2016
E 25/2/2016
E 28/2/2016
答案 0 :(得分:0)
如果您创建一个跟踪月份的变量,这变得非常简单!需要将Vis_date格式化为日期变量,以使其工作。
data your_data2;
set your_data;
month = month(vis_date);
run;
proc sort data = your_data2;
by cust_name vis_date;
run;
proc sort nodupkey data = your_data2;
by cust_name month;
run;
答案 1 :(得分:0)
我会首先得到每个记录的月份然后排序。有了这个,您可以通过如下数据步骤拉出观察结果:
data test.doc1;
set test.doc;
Month = month(__Vis_date);
run;
proc sort data=test.doc1;
by Cust_name Month __Vis_date;
run;
data test.doc2;
set test.doc1;
by Cust_name Month;
if first.Month then output;
run;
答案 2 :(得分:0)
您可以在单个SQL语句中执行此操作:
proc sql ; create table want as select Cust_name, put(Vis_date,yymmn6.) as Month, min(Vis_Date) as First_Date format=date9. from have group by 1,2 order by 1,2 ; quit ;