Time 如何使用SAS随时轮换?

Time 如何使用SAS随时轮换?,time,sas,rounding,Time,Sas,Rounding,我有点小问题,如果有人能帮助我,我将不胜感激 我想做的基本上是把时间部分四舍五入到最接近的30分钟 我的问题是如何使用SAS进行舍入数据 这是我的命令: DATA sampledata; INFORMAT TRD_EVENT_TM time10.; FORMAT TRD_EVENT_TM TRD_TMR time14.; INPUT TRD_EVENT_TM; TRD_TMR = round(TRD_EVENT_TM, 1800); INFILE; 00:14:12 00:16:12 09:01

我有点小问题,如果有人能帮助我,我将不胜感激

我想做的基本上是把时间部分四舍五入到最接近的30分钟

我的问题是如何使用SAS进行舍入数据

这是我的命令:

DATA sampledata;
INFORMAT TRD_EVENT_TM time10.;
FORMAT TRD_EVENT_TM TRD_TMR time14.;
INPUT TRD_EVENT_TM;
TRD_TMR = round(TRD_EVENT_TM, 1800);
INFILE;
00:14:12
00:16:12
09:01:23
09:46:32
15:59:45
;
PROC PRINT; RUN;
但我想随时轮换,而不是五次。我在使用大数据


感谢您的关注。

假设您正在询问如何对其他数据进行舍入,而不仅仅是上面示例中的数据行,我建议您将这两个任务分为两个不同的数据步骤

首先创建示例数据(稍后可以交换主数据)

然后执行时间变量的舍入

data test;
    set sampledata;
    format TRD_EVENT_TM TRD_TMR time.;
    TRD_TMR = round(TRD_EVENT_TM, 1800);
run;

希望这是对您的问题的回答。

您能更好地解释您的问题吗?您似乎已经发布了如何将时间舍入到最接近的30分钟的答案。你不知道怎么做的是什么?
data Sampledata_RT;
    set Sampledata04;
    TRD_EVENT_ROUNDED = intnx('minute30',TRD_EVENT_TM,1,'b');
    TRD_EVENT_ROUFOR = put(TRD_EVENT_ROUNDED,hhmm.);
    CountedVOLUME = TRD_PR*TRD_TUROVR;
run;
data Sampledata_RT;
    set Sampledata04;
    TRD_EVENT_ROUNDED = intnx('minute30',TRD_EVENT_TM,1,'b');
    TRD_EVENT_ROUFOR = put(TRD_EVENT_ROUNDED,hhmm.);
    CountedVOLUME = TRD_PR*TRD_TUROVR;
run;