Я новичок в SAS и хотел бы получить помощь по следующему вопросу:
1: Пример таблицы показан ниже
Time Color Food label
2020 red Apple A
2019 red Orange A,B
2018 blue Apple A,B
2017 blue Orange B
Logi c для возврата метки:
when color = 'red' then 'A'
when color = 'blue' then 'B'
when food = 'orange' then 'B'
when food = 'apple' then 'A',
поскольку для строки 2 у нас есть и красный, и оранжевый, тогда наша метка должна содержать оба 'A, B ', то же, что и в строке 3.
Требуется распечатать этикетку для каждой комбинации. Я знаю, что мы можем использовать оператор CASE WHEN, чтобы определить, как наша этикетка должна основываться на цвете и еде. Здесь у нас есть только 2 вида цветов и 2 разных блюда, но что, если нам нравятся 7 разных цветов и 10 разных блюд, тогда у нас будет 7 * 10 различных комбинаций. Я не хочу перечислять все эти комбинации, используя оператор case when.
Есть ли удобный способ вернуть метку? Спасибо за любые идеи! (Предпочитаю реализовать это в PRO C SQL, но SAS также приветствуется)