【发布时间】:2015-06-15 22:55:24
【问题描述】:
我们将在每天上午 9 点到 10 点的高峰时段收到一系列备受瞩目的订单代码。所有订单都被捕获到一个永久数据集 ORDERS 中。现在我们必须将优先顺序设置为 1 仅用于高配置订单。
我正在使用以下代码捕获一个小时的 5 个间隔以及该小时内相应的高配置代码:
data orders;
input time PROF_CODE $ ;
datalines;
900 A1
936 R2
948 BQ
960 AJ
900 CT
936 A1
936 R2
924 BQ
900 AJ
912 CT
;
data profile_orders;
set orders;
array profile_code {900:960, 5} _temporary_;
array HPC_CODE{5} $ _temporary_ ('AJ', 'BQ', 'CT', 'A1', 'R2');
do i = 900 to 960 by 12 ;
do j = 1 to 5 by 1 ;
if _n_ = 1 then
input profile_code(i,j) @;
end;
end;
drop i j;
datalines;
5 8 3 7 11
6 44 54 88 1
4 7 3 77 9
3 4 3 4 9
91 3 8 0 12
;
我有一个包含订单时间、代码和订单详细信息的数据集。我必须仅为在此期间收到的订单设置 proriry 标志,并让代码与永久数据集和上面的数据线匹配。我可以从上述数据步骤本身以及数据线中读取永久数据集吗?我们在电子邮件中收到的这种代码顺序每天都会发生变化。所以我们只想从数据线上读取代码。
数组值: profile_code --> (900,1) :5, (900,2) : 8, (900,3) :3, (900,4) : 7, (900,5) :11 (912,1):6, (912,2):44, (912,3):54, (912,4):88, (912,5):1 (924,1):4, (924,2):7, (924,3):3, (924,4):77, (924,5):9 (936,1):3, (936,2):4, (936,3):3, (936,4):4, (936,5):9 (948,1) :91, (948,2) : 3, (948,3) :8, (948,4) : 0, (948,5) :12
预期输出:
910 A1 7 936 R2 9 第948章 4 960 阿杰。 . .
(我已将时间间隔四舍五入到输入数据集顺序中最接近的 12 分钟间隔)。
【问题讨论】:
-
简单地说,我的问题是,我可以从同一个 DATA 步中读取永久数据集和数据线吗?
-
是的,您可以从同一数据步骤中读取永久数据集和数据线。
-
@reeza,你能提供任何样品吗?
-
您没有显示 set 声明,所以我不确定您总体上要做什么。但是要在 cmets 中回答您的问题,是的,您可以。我不确定这会不会做你想做的事。
-
如果您提供一个您希望最终数据集看起来如何的示例,人们将能够建议如何最好地构建它。
标签: sas