Как использовать функцию coalesce в sas (с примерами)
Вы можете использовать функцию 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