ORDER=DATA in PROC REPORT
01-27
昨天幫忙看一個lisitng的時候,才注意到原來order=data和我之前理解的是不一樣的。看下面的例子:之前我的理解這樣做可以保持ONSETDAT_C這個變數在data中的順序(按實際日期排序,而不是alphabetically)。但是結果是這樣的:
推薦閱讀:
注意Subject 002中,17MAY2016的record排在了16MAY2016的前面,並不是data裡面的順序。後來bing才知道,原來定義變數的order=data,PROC REPORT並不是從當前這個group中查找原始data的順序,實際上這裡並沒有任何group的概念。PROC REPORT是從整個data中獲取順序。在上面的例子中,17MAY2016出現在了subject 001的第一位,這樣PROC REPORT會把17MAY2016的順序放在最前面。於是在第二個subject的records裡面,17MAY2016就排在了最前面(因為它在整個data裡面出現的順序比該subject的其他兩個日期都要早)。
解決方案:
結尾附上SAS對這個問題的解釋:Usage Note 24542: How to get the exact order of your input data set in PROC REPORT output when the ORDER=DATA option is specified in a DEFINE statement
推薦閱讀:
※SAS 是一個什麼樣的公司,為什麼常年位於最佳僱主前幾名?
※SAS入門指南
※sas界面為什麼那麼丑?
※SAS入門書籍有哪些值得推薦?
※有一定SAS基礎後如何深入學習?
TAG:SAS |