Вы можете использовать функцию COALESCE в SAS, чтобы вернуть первое непропущенное значение в каждой строке набора данных.
В следующем примере показано, как использовать эту функцию на практике.
Пример: как использовать COALESCE в SAS
Предположим, у нас есть следующий набор данных в SAS, который содержит некоторые пропущенные значения:
/\*create dataset\*/
data original_data;
input team $ points rebounds assists;
datalines ;
Warriors 25 8 7
Wizards.12 6
Rockets.. 5
Celtics 24.5
Thunder.14 5
Spurs 33 19 .
Nets.. .
Mavericks.8 10
Kings.. 9
Pelicans.23 6
;
run ;
/\*view dataset\*/
proc print data =original_data;

Мы можем использовать функцию COALESCE для создания нового столбца, который возвращает первое непропущенное значение в каждой строке среди столбцов очков, подборов и передач:
/\*create new dataset\*/
data new_data;
set original_data;
first_non_missing = coalesce (points, rebounds, assists);
run ;
/\*view new dataset\*/
proc print data =new_data;

Вот как было выбрано значение в столбце first_non_missing :
- Первая строка: первое непропущенное значение среди очков, подборов и передач было 25 .
- Вторая строка: первое непропущенное значение среди очков, подборов и передач было 12 .
- Третий ряд: первое непропущенное значение среди очков, подборов и передач было 5 .
И так далее.
Примечание № 1. Если все значения отсутствуют (например, в строке 7), функция COALESCE просто вернет отсутствующее значение.
Примечание №2.Функция COALESCE работает только с числовыми переменными. Если вместо этого вы хотите вернуть первое неотсутствующее значение среди списка символьных переменных, используйте функцию COALESCEC .
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в SAS:
Как нормализовать данные в SAS
Как заменить символы в строке в SAS
Как заменить пропущенные значения нулем в SAS
Как удалить дубликаты в SAS