2016-08-19 30 views
-4

私はSASの初心者です。今日のSASの30日前にカレンダーテーブルを作成する方法は?

私は、日付(今日から30日間のprir)、how_many_days_before(日付と今日の間の日数を表す)、そしてwhich_day(その名前を示す3つの列を持つ単純なテーブルを作成しようとしています。月曜日、火曜日などの日付)。

編集:ここでは私が試したコードです。ループを使ってマクロを自動化したい。また、出力テーブルには、今のところ、which_dayとhow_many_days_before変数の空白値があります。

%macro which_day; 
    if date=160822 then which_day='monday'; 
    else if date=160821 then which_day='sunday'; 
%mend; 
%macro how_many_days_before; 
if date=160822 then how_many_days_before=0; 
else if date=160821 then how_many_days_before=1; 
%mend; 
data calendar; 
    attrib date format=yymmdd6.; 
    do date=today()-30 to today(); 
    output; 
    end; 
    %which_day; 
    %how_many_days_before; 
run; 

私は運がなくintnx関数を試しました。

おかげ

+3

問題のある箇所がわかるように、コードを投稿してください。 StackOverflow上の人々は問題を解決するのに満足していますが、コード作成サービスではありません。 –

+0

あなたのイメージはあなたの質問に基づいて何をしようとしているのかを知らせません。 – Reeza

+0

こんにちはロバートとリーザ、あなたは正しいです、私は残念です。これが私の最初の投稿だったので、私を許してください。 – Secil

答えて

0

私はこのコードをテストしていませんが、それはあなたのスターターを与える必要があります。欲しいのですが。

data calendar; 
    attrib date today format=date9.; 
    do date=today()-30 to today(); 
    output; 
    end; 
run; 
+1

こんにちはスティグ、これはスターターとして役立ちますように感謝 – Secil

0

マクロを使わずにデータステップで書き込めました。

data calendar; 
    attrib date format=yymmdd6.; 
    do date=today()-30 to today(); 
    how_many_days=today()-date; 
    which_day=weekday(date); 
    output; 
    end; 
run; 
関連する問題