Как использовать функцию 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; 

Пример функции слияния SAS

Вот как было выбрано значение столбца first_non_missing :

  • Первый ряд: первое непропущенное значение среди очков, подборов и передач составило 25 .
  • Второй ряд: первое непропущенное значение среди очков, подборов и передач составило 12 .
  • Третий ряд: первое непропущенное значение среди очков, подборов и передач составило 5 .

И так далее.

Примечание №1 : Если все значения отсутствуют (как в строке 7), то функция COALESCE просто вернет недостающее значение.

Примечание №2 . Функция COALESCE работает только с числовыми переменными. Если вместо этого вы хотите вернуть первое непропущенное значение из списка символьных переменных, используйте функцию COALESCEC .

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в SAS:

Как нормализовать данные в SAS
Как заменить символы в строке в SAS
Как заменить пропущенные значения нулями в SAS
Как удалить дубликаты в SAS

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *