2016-09-14 121 views
0

在我公司一名前團隊成員編寫的一些SAS代碼中,他使用符號-<據我所知,這意味着LE(< =),因此包括RHS值爲a -< b,但不是LHS。任何人都可以證實這一點?另外,它在其他語言中有效嗎?SAS小於等於標記

我傾向於擺脫SAS中條件語句的符號版本,但我只是想知道......我可能不久就需要翻譯類似的代碼。

proc format; 
    value score 
    low -< 100 = 'Low' 
    200 -< 300 = '200 -< 300' 
    300 -< 400 = '300 -< 400' 
    400 -< high = 'High' 
    ; 
run; 
+1

你能提供更多的上下文嗎? ' - <'不是一個有效的比較運算符,但它作爲格式定義的一部分是有效的語法。 – Tom

+0

一個例子是: 'proc format; value score low - <100 ='low' 200 - <300 ='200 - <300' 300 - <400 ='300 - <400' 400 - Zephyr

+0

道歉的格式化 - 似乎無法阻止:/ – Zephyr

回答

3

這不是比較運算符。它是在格式定義中指定一系列值的語法的一部分。以下是文檔中的相關描述。

您可以使用小於(<)的符號從範圍中排除值。如果您排除範圍中的第一個值,則將該值後面的<。如果您排除範圍中的最後一個值,請將該值放在<之前。例如,下面的範圍不包括0:

0<-100 

同樣地,下面的範圍不包括100:

0-<100 

如果在高端的值的一個範圍也出現在另一個範圍的低端,並且您不使用<非包含表示法,則PROC FORMAT將該值分配給第一個範圍。例如,在下列範圍內,該值是AJ第一範圍的一部分:

'AA'-'AJ'=1 'AJ'-'AZ'=2 

你可以讀a -< b爲意指「a至小於b」。類似地,a <- b可以被解讀爲「從大於a到b」。

+0

好吧 - 謝謝澄清:) – Zephyr