Добавить месяц к квартальной дате - PullRequest
0 голосов
/ 06 января 2020

У меня есть две строки кода, определяющие даты начала и окончания предыдущих кварталов.

put(INTNX('Quarter',today(),-1,'B'),MMDDYY10.)
put(INTNX('Quarter',today(),-1,'E'),MMDDYY10.)

Приведенная выше дата начала отображается как 01.10.2009. Приведенная выше дата окончания отображается как 31.12.2009.

Однако мне нужно добавить один месяц к каждой дате, чтобы равняться приведенному ниже.

11/1/2019 1/31/2019

Я пытался вложить выше в другой функция intnx, но она просто возвращает пустое значение Мысли и помощь будут с благодарностью.

Ответы [ 2 ]

1 голос
/ 06 января 2020

ниже работает отлично.

put(INTNX('Month',INTNX('Quarter',today(),-1,'B'),+1,'B'),MMDDYY10.)

put(INTNX('Month',INTNX('Quarter',today(),-1,'E'),+1,'E'),MMDDYY10.)

1 голос
/ 06 января 2020

Попробуйте

data _null_;
   * compute date values;

    * start of second month in prior quarter;
    start_date = intnx('MONTH', intnx ('QUARTER', today(), -1, 'B'), 1);

    * end of first month after prior quarter;
    end_date   = intnx('MONTH', intnx ('QUARTER', today(), -1, 'E'), 1, 'E');

    * log date values using a desired representation format;

    put (start_date end_date) (=mmddyy10./);

    * store a date value representation in a variable;
    * (this is not typically a desired thing to do);

    start_ymd = put (start_date, mmddyy10.);
    end_ymd   = put (end_date,   mmddyy10.);

    * log the string values that were forced to represent a date (via PUT);

    put start_ymd= / end_ymd=;
run;

В журнале должно отображаться (6 января 2020 г.)

start_date=11/01/2019
end_date=01/31/2020
start_ymd=11/01/2019
end_ymd=01/31/2020
...