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