2013-07-28 19 views
8

SAS'ta uzun bir dizeyi birleştirmeye çalışıyorum ve IF deyimlerini birleştirmeye katlanabilmem için bir işlev veya üçlü operatör varsa satır içi olması yararlı olacaktır. Dokümanlarda bundan bahsedemiyorum. Bir SQLite veritabanına bazı SAS veri dökümü, böylece ben, gösteri Raylar uygulama için bazı tohumların üretmek için çalışıyorum Temel olarakSAS, bir işlev veya üçlü operatör varsa satır içi var mı?

myString = "some words " || dead == 1 ? 't' : 'f' || " some more words" ....

: Bir VERİ adımda, ben böyle bir şey yapmak istiyorum hızlı bir şekilde.

SAS'ta herhangi bir satır içi var mı?

cevap

15

ifc işlevi (karakter sürümü, ifn sayısal) SAS'da satır içi if işlevidir.

myString = cat("some words ",ifc(dead=1,'t','f')," some more words"); 

(vs kedi, CATX gibi kedi aile işlevleri daha yaygın SAS'da || operatörü daha kullanılmaktadır.): SAS içinde olurdu.

+0

Teşekkürler! Belli bir şekilde yanlış ağacın peşindeydim. – Clay

0

Bir değişkenin değerine bağlı olarak metin oluşturmaya yönelik daha geleneksel bir SAS yolu, bir biçim tanımlamaktır.

proc format ; 
    value dead 1='dead' 0='alive' other='unknown'; 
run; 
... 
myString = catx(' ','some words',put(dead,dead.),'some more words'); 
İlgili konular