set taq.cq_&yyyymmdd:;
by symbol date time NOTSORTED ex;
有成千上萬的我在天爲單位運行的代碼數據集。當& yyyymmdd只指定一個數據集(一天,例如20130102)時,它可以工作。然而,當我嘗試運行它爲多個數據集(例如,201301 :),SAS將返回以下錯誤:
BY NOTSORTED/NOBYSORTED cannot be used with SET statement when
more than one data set is specified.
如果我不能在這裏使用NOTSORTED,那是什麼我可以用一個等效聲明?
我對關鍵字NOTSORTED的理解是在數據尚未排序時使用它。因此,我需要先排序嗎?怎麼做?
我也被NOTSORTED引用的變量數量所困惑。它隻影響「時間」,還是影響「符號,數據,時間」?
非常感謝!
更新#2:
的過程中緊跟在SET語句的其餘部分是:
Data _quotes;
SET STATEMENT HERE
Change the name of a variable in the dataset (Variable name is EXN).
last.EXN in a if statement. If the condition is satisfied, label EXN.
Drop some variables.
Run;
DATA NEWDATASET (sortedby= SYMBOL DATE TIME index=(SYMBOL)
label="WRDS-TAQ NBBO Data");
SET _quotes;
by symbol date time;
....
Run;
你的數據集有多大? – Reeza
每個數據集30千兆字節。總共有大約82500個數據集。但作爲測試,我現在只運行30個數據集。 @Reeza –
排序肯定會受到限制。您需要解釋其餘的流程來建議替代方案。請注意我的答案的最後一部分,並且這可能會交錯數據集而不會追加它們。 – Reeza