Столбец A содержит "?"
, поэтому он является символьным. Код @reeza должен быть then ""
или ifc(a='?',"", a)
. Кроме того, если вы не выберете переменную группировки, контекст N_obs
будет утерян.
Предлагайте
data have;
input a $ nsp ;
datalines;
1 2
2 3
? 7
2 7
run;
proc sql;
select
nsp
, case when a='?' then '' else a end as a
, count(*) as nsp_count
from have
group by nsp
;
quit;
В запросе также регистрируется сообщение NOTE: The query requires remerging summary statistics back with the original data.
, поскольку Proc SQL выполняет автоматическое повторное объединение групповых агрегатов с отдельными строками в группе.