У меня есть сложный вопрос об условной сумме в SAS. На самом деле, это очень сложно для меня, и поэтому я не могу объяснить это словами. Поэтому я хочу показать пример:Как сохранить вычисленные значения между строками при вычислении текущих итогов?
A B
5 3
7 2
8 6
6 4
9 5
8 2
3 1
4 3
Как вы можете видеть, у меня есть техническое описание, состоящее из двух столбцов. Прежде всего, я вычислил условную накопленную сумму столбца А (я могу сделать это самим, так не нужна помощь для этого шага): не
A B CA
5 3 5
7 2 12
8 6 18
6 4 8 ((12+8)-18)+6
9 5 17
8 2 18
3 1 10 (((17+8)-18)+3
4 3 14
Таким образом, мое состояние значение 18. Если накопленных более чем 18 , то оно равно 18 и следующее значение, если сумма первого значения после 18 и превышает сумму более 18. (Как я уже сказал, я могу сделать это сам) Так что сложной частью является вычисление суммарной суммы столбца B в соответствии с к колонке А:
A B CA CB
5 3 5 3
7 2 12 5
8 6 18 9.5 (5+(6*((18-12)/8)))
6 4 8 5.5 ((5+6)-9.5)+4
9 5 17 10.5 (5.5+5)
8 2 18 10.75 (10.5+(2*((18-7)/8)))
3 1 10 2.75 ((10.5+2)-10.75)+1
4 3 14 5.75 (2.75+3)
Как видно из примера, совокупная сумма столбца В является очень конкретной. Когда столбец CA равен нашему значению условия (18), мы вычисляем долю последнего значения для получения нашего значения условия (18), а затем используем эту пропорцию для вычисления суммарной суммы столбца B.
Большое спасибо. Большой :) – Khalid