2016-07-14 4 views
0

私は、日付の配列を取って、元の日付ベクトル内の日付の指定されたバッファ内にあるすべての日付の配列を出力するコードを作成しています。SAS:doループで継続的に観測を追加する

私の計画では、2つのネストされたdoループを使用して元の配列の配列をループし、バッファを追加/減算し、データセットを使用してこれらの2つの観測値を元のセットに追加します。

私は次のコードを使用していますが、無限ループに終わり、SASがクラッシュします。

%let buffer = 3;  
data dates_with_buffer; 
    do i = -1*&buffer. to &buffer.; 
     do j = 1 to 14; 
     set original_dates point = j; 
     output_dates = dates + &buffer.; 
     output; 
     end; 
    end; 
run; 
+1

入力データセットと望ましい出力の例を提供することができます。 – Altons

答えて

1

あなたは、設定された声明にpoint=を使用する場合は、あなたが無限ループを防ぐためにもstop文を含める必要があります。これを試してみてください:

%let buffer = 3;  
data dates_with_buffer; 
    do i = -1*&buffer. to &buffer.; 
     do j = 1 to 14; 
     set original_dates point = j; 
     output_dates = dates + &buffer.; 
     output; 
     end; 
    end; 
    stop; 
run; 
関連する問題