Ваша иерархия - Рынок / Сегмент / Предмет, и, возможно, из вопроса можно предположить, что Предмет уникален для всех Рынков и Сегментов.
Промежуточный итог является самым простым на этапе DATA. Вы захотите использовать first.
автоматические переменные, подготовленные, когда у шага есть оператор BY
.
data want;
set have;
by Market Segment Item Month; * add month to make sure incoming data is ordered timewise, if not an error will appear in the log;
if first.Item then RunningDollars = 0;
RunningDollars + Dollars; * The + syntax here is a `SUM` statement that causes the RunningDollars variable to be automatically retaine, meaning the value is available for the next record.
run;