Еще один вопрос SAS от меня (я заметил, что они не появляются здесь так часто ...):
У меня есть набор данных, содержащий что-то вроде этого:
Name | Category | Level | Score
John | cat1 | 1 | 80
John | cat1 | 2 | 70
John | cat1 | 3 | 10
John | cat2 | 1 | 60
John | cat2 | 2 | 95
John | cat2 | 3 | 43
John | cat2 | 4 | 28
И вывод (в формате Excel) должен выглядеть следующим образом:
| cat1 | cat2 |
name | 1 | 2 | 3 | 1 | 2 | 3 | 4 |
John | 80 | 70 |10 |60 |95 |43 |28 |
То, что я делаю сейчас, использует proc transpose
, чтобы получить данные в правильном порядке, а затем proc export
, чтобы перейти к .xls.
Это прекрасно работает, за исключением одной вещи. Я не могу заставить работать второй слой подразделения. Итак, прямо сейчас, перед моим proc transpose
, я фактически сопоставляю свою категорию и уровень в моем наборе данных (например, делая его '1_cat1'), а затем транспонирую это значение, давая мне следующий вывод:
name | 1_cat1 | 2_cat1 | 3_cat1 | 1_cat2 | 2_cat2 | 3_cat2 | 4_cat2 |
John | 80 | 70 | 10 | 60 | 95 | 43 | 28 |
Есть ли способ получить первый желаемый результат?