given the sas data sets:
work.first work.second
common
xcommonya
10a1a
13a3a
14b4b
9b2
the following sas program is submitted:
'data work.combine;
set work.first;
set work.second;
run;'
what data values are stored in data set work.combine?
答案:
commonxy
a101a
133b14
4b92
the following sas program is submitted:
'data work.combine;
set work.first
work.second;
run;'
what data values are stored in data set work.combine?
答案:
commonxy
a10.a
13.a14
.b9.
a.1a
.3b.
4b.2
given the sas data sets:
work.one work.two
x
ysumya10
36a3a
14b9
the following sas program is submitted:
'data work.combine;
if _n_=1 then set work.two;
set work.one;
run;'
what data values are stored in data set work.combine?
答案:
sumyxy
36a1036a3
36a1436b9
對於例1中的兩種情況,關鍵是理解第一種情況下兩個set,共用乙個pdv,就是兩個指標讀取資料,寫到同乙個pdv裡面去。而第二種情況是乙個set,乙個pdv,只有乙個指標讀取資料,先讀完first資料集裡面的資料,再去讀second資料集的資料。
例2是乙個較為經典的用法,其主要作用是當單條記錄資料集和多條記錄資料集沒有公共變數可以merge的時候,將這兩個資料集拼接在一起的一種方法,尤其是需要在已知資料集的後面拼上總和這一列資料的時候。而這種寫法之所以有效,是因為set語句讀取資料的時候,預設保留上一條記錄的值,這有點類似於retain語句的功能。pdv是不會被清空的,只會保留上一條記錄的值,當讀取下一條記錄的時候,就改寫上一條記錄的值,所以我們在其它情況下很難注意到。
參考資料
the little sas book.
sas help
Linux中的幾個問題
明天期末考試,就把往年試卷上的敘述題總結一下 1.如果乙個設定使用者id程式未執行任何改變程序的實際使用者id和有效使用者id的系統呼叫,那麼執行該程式的程序,它的實際使用者id和有效使用者id各是什麼?答 實際使用者id在登入時取自口令檔案中的登入項,如果沒有執行任何改變實際使用者id和有效使用者...
boost log 中的幾個問題
boost 日誌示例中有乙個錯誤 下面這個檔案 應該在開頭加一行 include 否則會出下列錯錯誤 error c2027 使用了未定義型別 boost log v2s mt nt5 expressions aux date time formatter generator traits d li...
MS SQL中的幾個問題
1,儲存過程中用到的 n 的意義.n的作用就是如果你的作業系統是簡體中文,你在n後面的單引號裡輸入了日本 德文 法文什麼的,能保證你的字串是正確的,這時n就要必寫 反之如果n後面的單引號裡只有英文和簡體中文 長度不能超過十幾k 那這個n寫與不寫是一樣的。上面的解釋和你所看到是同乙個意思,簡單的可以認...