Я пытаюсь создать таблицу, которая содержит итоговые значения для каждой группы. У меня есть разделы, подразделы и элементы. После каждого подраздела должна появиться строка с итогами этого подраздела и после каждого раздела строка с общей суммой раздела.Tabulate With Category as Label
Я пробовал использовать proc tabulate
, но промежуточные итоги называются суммой или другой фиксированной меткой. Я хотел бы использовать название категории для промежуточных итогов.
Пример 1
Сначала небольшой пример, чтобы проиллюстрировать, ниже я есть полный пример работает , который показывает то, что я пытался с Proc tablulate и что я хотел бы достичь.
Входные данные
==============================
Group Group2 Item Weight
----- ------ ---- ------
Mammals Cats Lion 215
Mammals Cats Cheetah 70
Mammals Dogs Wolf 80
Mammals Dogs Jackal 45
==============================
желаемого результата
===================
Group/Item Weight
----------- ------
Lion 215
Cheetah 70
Cats 285
----------- ------
Wolf 80
Jackal 45
Dogs 125
----------- ------
Mammals 410
===================
Пример 2
slighly больше пример кода SAS, который также включает в себя пропущенные значения
data animals;
input group1 $ group2 $ animal $ weight;
datalines;
Mammals Cats Lion 215
Mammals Cats Cheetah 70
Mammals Cats Leopard 65
Mammals Dogs Wolf 80
Mammals Dogs Jackal 45
Birds Raptors Eagle 6
Birds Raptors Hawk 5
Birds . Duck 2
. . Snake 3
;
Моя неудачная попытка, таблица слишком сложна
PROC TABULATE DATA=ANIMALS OUT=ANIMAL_SUMMARY;
VAR weight;
CLASS group1/ORDER=DATA MISSING;
CLASS group2/ORDER=DATA MISSING;
CLASS animal/ORDER=DATA MISSING;
TABLE group1*(group2*(animal Sum) Sum) Sum, weight;
RUN;
форма данных, близких к желаемому результату
data target;
input group1 $ group2 $ animal $ weight;
datalines;
. . Lion 215
. . Cheetah 70
. . Leopard 65
. Cats . 350
. . Wolf 80
. . Jackal 45
. Dogs . 125
Mammals . . 475
. . Eagle 6
. . Hawk 5
. Raptors . 11
. . Duck 2
Birds . . 13
. . Snake 3
. . . 491
;
Особое спасибо за предложение использовать 'PROC REPORT', мне нужно будет больше читать об этом, но, похоже, оно больше подходит для задачи. – Leonhard