申し訳ありませんが、おそらく非常に単純な質問ですが、私はそれに答えを見つけることができないようです。SAS intnx quarter variation
と言うが、我々は4分の4バック前月から含まれているテーブルを作成したい:
%macro asd;
%let today = %sysfunc(today());
%let quarter_count_back = 4;
%let first_quarter = %sysfunc(intnx(month,&today.,-1));
proc sql;
create table quarters
(
Quarters num informat = date9. format = date9.
);
insert into quarters
%do i = 0 %to -&quarter_count_back.+1 %by -1;
values(%sysfunc(intnx(quarter,&first_quarter.,&i.)))
%end;
;
quit;
run;
%mend asd;
%asd;
run;
このコードはうまく動作し、APR2016から始まり、四半期での時間に戻ってテーブルを作成します。しかし、 'first_quarter'行の数字を-2、-3などに変更すると、コードは常にJAN2016から始まりますが、それはちょうど私には意味がありません!例えば:それは私のコードでこの行を入れた場合、テーブルはMAR2016から開始し、四半期で戻るべきことを論理的ようだが、そうでない
%let first_quarter = %sysfunc(intnx(month,&today.,-2));
、それはJAN2016から始まります。
私がここで間違っていることに関するアイデアはありますか?
ありがとうございます!
第4引数はINTNXとデフォルトの動作についてです。あなたは '' s ''か同じものが欲しい。 – Reeza