Я писал отчет proc tabulate
, в котором суммируются данные в таблице по дням и по неделям.Группа за неделю в SAS
До сих пор это то, что у меня есть:
PROC TABULATE
DATA=WORK.FB_REPORT
;
VAR ORDERS UNITS PRICE SERVICE_CHARGE FRUIT_BOUQUET_REV REVENUE;
CLASS SALES_TYPE/ ORDER=UNFORMATTED MISSING;
CLASS ORDER_DATE/ ORDER=UNFORMATTED MISSING;
TABLE
/* By Row*/
ORDER_DATE *( Sum={LABEL="Sum"} )
all = 'Total' *( Sum={LABEL="Sum"} ) , /* CHANGE THIS LINE */
/* By Column */
SALES_TYPE *(ORDERS UNITS PRICE SERVICE_CHARGE MERHCREV REVENUE REVENUE)
all = 'Total' *(MERCHREV REVENUE REVENUE) ;
;
RUN;
Как я могу изменить all = 'Total'*(Sum={LABEL="Sum"})
заявление таким образом, что, суммируя по группировке недель в ORDER_DATE
?
Самый простой способ: создать переменную, содержащую неделю, и использовать ее для вашего отчета. Мне интересно, продемонстрирует ли кто-нибудь интересную функцию, которая элегантно решает ее без дополнительного шага данных. – mvherweg