2017-05-13 3 views
3

私は少し問題があり、誰かが私を助けることができたら感謝します。SASを使用して常時丸めることはできますか?

私がしようとしているのは、基本的に時間部分を最も近い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; 

しかし、私はすべての時間を丸めるしたい、ない5 them.Iのは、ビッグデータを使用しています:

これは私のコマンドです。

ご協力いただきありがとうございます。

+0

あなたの質問をよりよく説明できますか?最も近い30分に時間を丸める方法の回答をすでに投稿しているようです。あなたはどうやってやるのか分からないのですか? – Tom

答えて

0
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; 
1

上記の例のデータラインだけでなく、他のデータに対しても丸めを行う方法を尋ねると仮定すると、これら2つのタスクを2つの異なるデータステップに分けることをお勧めします。あなたのサンプルデータを作成

まず(この後で自分のメインデータのために交換することができます)

DATA sampledata; 
    infile datalines; 
    INPUT TRD_EVENT_TM hhmmss8.; 
datalines; 
00:14:12 
00:16:12 
09:01:23 
09:46:32 
15:59:45 
; 
RUN; 

次にあなたが時間変数の丸めを行います。

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

これはあなたが持っていた質問に対する回答です。

関連する問題