[程式] SAS loading array 問題
[軟體程式類別]:
SAS
[程式問題]:
SAS loading arra相關問題
[軟體熟悉度]:
新手
[問題敘述]:
在看SAS Adv的書中 有關loading array部分
看完解釋 研究了兩小時還是不懂他的意思
data work.lookup1;
array Targets{1997:1999,12} _temporary_;
if _n_=1 then do i= 1 to 3;
set sasuser.ctargets;
array Mnth{*} Jan--Dec;
do j=1 to dim(mnth);
targets{year,j}=mnth{j};
end;
end;
程式中sasuser.ctargets是一個3*13的table
variables分別是 year Jan Feb ... Dec
像這樣 https://imgur.com/a/b4Jhyhn
想請教的是 _n_ = 1 說明的是對於哪個資料夾的iteration?
並且在接下來的 do i = 1 to 3裡面後續沒有 i 繼續執行
非常想不通為什麼這樣可以填滿targets的array
因為在code裡面並沒有看到指定第幾個row讀取
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 50.255.135.49
※ 文章網址: https://www.ptt.cc/bbs/Statistics/M.1552513655.A.207.html
推
03/14 07:14,
5年前
, 1F
03/14 07:14, 1F
→
03/14 07:14,
5年前
, 2F
03/14 07:14, 2F
→
03/14 07:14,
5年前
, 3F
03/14 07:14, 3F
→
03/14 08:16,
5年前
, 4F
03/14 08:16, 4F
→
03/14 08:16,
5年前
, 5F
03/14 08:16, 5F
謝謝大大們的解答 但我的疑問比較偏向說
do i = 2時是讓系統做了什麼?
還有year的三個值分別是1997 1998 1999
那有哪個指令是讓SAS把year讀到1998 跟 1999的呢?
非常感謝
推
03/14 12:03,
5年前
, 6F
03/14 12:03, 6F
謝謝west大 那這樣說 省略if _n_ = 1 then do i = 1 to 3的話
是否也能讓array完整被loaded?
既然set可以一次讀完整個檔案 那為何需要if _n_ = 1還有外層三圈?
感謝回答!
感謝以上兩位大大解答 已發各100P表感謝!
※ 編輯: Lynnhan (71.192.89.193 美國), 03/28/2020 15:04:26