我有一个数据集,其变量的日期为订单(MMDDYY10.)
。我需要提取月份和年份以按月份查看订单,因为有多年。我隐约知道month
和year
函数,但是我如何一起使用它们来创建一个新的月份bin?
理想情况下,我会为每个月/每年创建一个bin,因此我的输出看起来像:
Date
Item 2011OCT 2011NOV 2011DEC 2012JAN ...
a 50 40 30 20
b 15 20 25 30
c 1 2 3 4
total
以下是我创建的示例代码:
data dsstabl;
set dsstabl;
order_month = month(AC_DATE_OF_IMAGE_ORDER);
order_year = year(AC_DATE_OF_IMAGE_ORDER);
order = compress(order_month||order_year);
run;
proc freq data
table item * _order;
run;
提前致谢!
答案 0 :(得分:2)
进行分析时,请使用适当的格式。 MONYY.
听起来像是正确的。这将正确排序并相应地对值进行分组。
类似的东西:
proc means data=yourdata;
class datevar;
format datevar MONYY7.;
var whatever;
run;
所以你的表:
proc tabulate data=dsstabl;
class item datevar;
format datevar MONYY7.;
tables item,datevar*n;
run;
答案 1 :(得分:0)
或者你可以用很好的技巧来做到这一点。
Declare @a varchar(10)
Declare @b varchar(10)
DECLARE MyCursor CURSOR FOR
select col1, col2 from Table
OPEN MyCursor
FETCH NEXT FROM MyCursor INTO @a, @b
WHILE @@FETCH_STATUS = 0
BEGIN
Print @a + ' ' + @b
FETCH NEXT FROM MyCursor INTO @a, @b
END
CLOSE MyCursor
DEALLOCATE MyCursor
始终使用它。