SUM dışında, SAS gerçekten satır işlevlerinden yoksundur. Uzatılmış eksik kodları uzunlamasına veri kümesinin dalgaları içinde saymak istedim.SAS: vartayı sas makrosuna geçirme
Her dalga için sabit kodlanmış bir varlist üzerinde işlem yapmak için dizileri kullanabilirim, ancak her dalga için arayabileceğim bir makro yapma şansım olmadı. Sorun, özellikle ilk - son gösterim kullanılıyorsa, varyantın içinden geçmek için bir yol gibi görünmüyordu.
data xxx;
input a b c d e f;
datalines;
1 2 3 4 5 6
.w .w .w .w .w .w
3 4 5 .w .w .w
;
run;
data yyy(drop=i); set xxx;
array wave1vars(*) a--c;
wave1count = 0;
do i = 1 to dim(wave1vars);
if wave1vars(i) = .w then wave1count = wave1count +1;
end;
array wave2vars(*) d--f;
wave2count = 0;
do i = 1 to dim(wave2vars);
if wave2vars(i) = .w then wave2count = wave2count +1;
end;
run;
Neden bir makro listesini% mymac (varlist = a - c) parametresinin değeri iyi olarak kullanacağını anlamıyorum. – Tom