我有两个变量“ shift”和“ scheduled”的数据集。 “ shift”变量包含许多不同的时间值记录,例如“ ED A 7a-4p”;计划变量包含计划轮班的天数或天数,因此,例如,单元格中将有一个“ 3”代表3天。
我创建了以下代码来了解给定小时内要安排多少班次。
data ED_A_7a_4p;
set schedule schedule10;
if shift = 'ED A 7a-4p' and Scheduled = '3' then SevenToEightAM = ???;
if shift = 'ED A 7a-4p' and Scheduled = '7' then EightToNineAM = ???;
run;
我希望创建的变量(例如“ SevenToEightAM”)等于“预定的”变量列中的数字。因此,如果“预定”为3,我希望“ SevenToEightAM”等于3。
问题在于“计划的”是完全随机的,我无法对其进行自动编码,因此我希望SAS中有一个条件选项,该选项使我可以将“ SevenToEightAM”设置为数据集中的“计划的”。
答案 0 :(得分:0)
您可能想要一个TABULATE
报告,而不是创建新变量。试试:
data have;
set original;
scheduled_num = input(scheduled, best12.);
run;
Proc TABULATE data=have;
class shift;
var scheduled_num;
table shift, scheduled*sum;