2013-01-22 14 views
5

Bir veri adımının keep joker karakterlerini kullanmak mümkün mü? Ben (sol bir ile başlayan B tutma değişkenleri x ve y ve tüm değişkenlere A'nın katılmak) aşağıdakileri yapmak istiyorum:Bir veri adımında saklanan joker karakterler

data C; 
    merge A(in=a) 
      B(keep= x y var* in=b); 
    by x y; 
    if a; 
run; 

cevap

8

Evet, : kullanın.

data C; 
    merge A(in=a) 
      B(keep=x y a: in=b); 
    by x y; 
    if a; 
run; 

(Size a adında bir değişken varsa in=a demek için iyi bir fikir değil.)

Eğer ardışık sayılar ile değişkenleri varsa

, a1 gibi a2, ..., aN yapabilirsiniz a1-aN yazın. Ve bir dizi bitişik sütun istiyorsanız (varX, varY ve varZ veri kümesinde fiziksel olarak bitişiktir), varX--varZ diyebilirsiniz. Bu iki örnek arasındaki fark, sadece bir tire mi yoksa iki mi?

+0

Merhaba, hızlı cevap ve açıklama için teşekkürler! – statquant

+0

BTW, regexp veya benzeri sütun adlarını kullanabilir miyim? – statquant

+0

Doğrudan değil. Ayrı bir adımdan geçebilirsiniz; örneğin, geçerli oturumdaki tüm sütun adlarını ve tablo adlarını içeren tablo olan dictionary.columns öğeniz var. SQL'de sorguları çalıştırabilir veya SAS eşdeğer sashelp.vcolumn'u kullanarak SAS veri kümelerini buna karşı çalıştırabilirsiniz. Daha sonra sonuçları bir makro değişkende saklayın ve bu makro değişkenini gerçek bir tutuş adımında kullanın. – Joe

İlgili konular