Sql 如何在SAS EG上按特定条件聚合数据?
我有一个关于聚合数据的问题,数据结构如下所示:(Sql 如何在SAS EG上按特定条件聚合数据?,sql,sas,Sql,Sas,我有一个关于聚合数据的问题,数据结构如下所示:(表a) 例如,第一行表示从2016年1月17日开始的需求的1/3将用于1天;三分之一使用2天;剩余的1/3将使用3天 ID | Start_Date | Length_of_Use | Percentage ------------------------------------------------- 1 | 17JAN2017 | 1 | 0.333 2 | 17JAN2017 |
表a
)
例如,第一行表示从2016年1月17日开始的需求的1/3将用于1天;三分之一使用2天;剩余的1/3将使用3天
ID | Start_Date | Length_of_Use | Percentage
-------------------------------------------------
1 | 17JAN2017 | 1 | 0.333
2 | 17JAN2017 | 2 | 0.334
3 | 17JAN2017 | 3 | 0.333
4 | 18JAN2017 | 1 | 0.5
5 | 18JAN2017 | 4 | 0.5
6 | 19JAN2017 | 2 | 0.5
7 | 19JAN2017 | 3 | 0.5
8 | 20JAN2017 | 2 | 1
9 | 21JAN2017 | 1 | 1
我有如下使用日期级别的需求:(表B
)
如果我们有上述两个表作为已知信息,
我如何才能将表A
和表B
合并到一个表中,该表可以按开始日期和使用时间级别提供需求,如下所示?(表C
)
ID只是一个序列号,没有关键信息。
第一行的计算公式为:
3*0.333 = 1
(到达日期2016年1月17日,使用期限1)
我想通过“开始日期”和“使用长度”级别计算需求
基于“使用日期”级别的需求(表B
)以及每个“开始日期”和“使用长度”的概率(表A
)
如表B
中的示例,2017年1月17日的使用需求为3,根据概率,其中1个具有使用期限1,这意味着“使用日期”为2017年1月17日;其中1个具有使用期限2,即“使用日期”为2017年1月17日和2017年1月18日;其余1为使用期限3,即“使用日期”为2017年1月17日、2017年1月18日和2017年1月19日
如表B所示,2017年1月18日的使用需求为4,其中2个来自2017年1月17日,因此,其余2个应来自2017年1月18日。根据概率表(表A),从2017年1月18日开始,有两种类型的停留时间,两者的概率均为0.5;因此,起始日期为“2017年1月18日”,使用期限为1,需求为1,使用期限为4的“2017年1月18日”需求为1;whcih列为表C的第4行和第5行
谢谢大家!
ID | Start_Date | Length_of_Use | Demand
------------------------------------------------
1 | 17JAN2017 | 1 | 1
2 | 17JAN2017 | 2 | 1
3 | 17JAN2017 | 3 | 1
4 | 18JAN2017 | 1 | 1
5 | 18JAN2017 | 4 | 1
6 | 19JAN2017 | 2 | 1
7 | 19JAN2017 | 3 | 1
8 | 20JAN2017 | 2 | 1
9 | 21JAN2017 | 1 | 2
为什么最后一行的
需求
等于2?另外,需要什么表B
?请进一步解释需求的计算逻辑?Hi Parfait,2017年1月21日的需求计算为1(开始时间:2017年1月18日,使用期限:4)+1(开始时间:2017年1月19日,使用期限:3)+1(开始时间:2017年1月20日,使用期限:2)+2(开始时间:2017年1月21日,使用期限:1)=5,这可能对应于表B。我想得到表C,这是未知的,表A和表B是我们所拥有的信息。表A是起始需求可以乘以百分比并获得实际使用长度的持续时间百分比信息。谢谢
ID | Start_Date | Length_of_Use | Demand
------------------------------------------------
1 | 17JAN2017 | 1 | 1
2 | 17JAN2017 | 2 | 1
3 | 17JAN2017 | 3 | 1
4 | 18JAN2017 | 1 | 1
5 | 18JAN2017 | 4 | 1
6 | 19JAN2017 | 2 | 1
7 | 19JAN2017 | 3 | 1
8 | 20JAN2017 | 2 | 1
9 | 21JAN2017 | 1 | 2