【发布时间】:2018-10-01 09:02:58
【问题描述】:
我遇到了一个问题,我有两张桌子,一张在月,一张在周。以下是表格的格式:
Table1
Customer Date1 Sales
1 Jan2018 1110
1 Feb2018 1245
1 Mar2018 1320
1 Apr2018 1100
...
Table2
Customer Date2
1 01Jan2018
1 08Jan2018
1 15Jan2018
1 22Jan2018
1 29Jan2018
1 05Feb2018
1 12Feb2018
1 19Feb2018
1 26Feb2018
1 05Mar2018
...
我想在 Table2 中为销售额创建一个新列,该列将保存来自 Table1 的销售额的分类值。我想将销售额除以该月的天数,然后将这些值分配给相应的周数。因此,2018 年 1 月 1 日周的销售额为 (1110/31)*7。处于过渡期的周将从这两个月中获得价值。例如 29Jan2018 在 2018 年 1 月有 3 天,在 2018 年 2 月有 4 天。 2018年1月一日销量1110/31,2018年2月一日销量1245/28。
所以 2018 年 1 月 29 日的销售额将是 3*(1110/31) + 4*(1245/28)
我想为每个不同的客户这样做。
结果表应该是
Result Table
Customer Date Sales
1 01Jan2018 250.6 i.e (1110/31)*7
1 08Jan2018 250.6
1 15Jan2018 250.6
1 22Jan2018 250.6
1 29Jan2018 282.27
1 05Feb2018 311.25
1 12Feb2018 311.25
1 19Feb2018 311.25
1 26Feb2018 133.39 + 170.32
谢谢!
【问题讨论】:
-
29Jan2018 2018 年 1 月有 3 天,2018 年 2 月有 4 天?
-
随心所欲,如果按月换算,您将无法获得准确的销售情况。你是按相等的比例分割它,还是施加一个重量?你如何计算重量?这样你的计算就会有歧义。这意味着它不会显示正确的结果。 为什么不将每周销售额汇总到每月销售额并更改计算方式?
-
您有 SAS ETS 吗?如果你有那个模块,我相信 PROC EXPAND 和/或 TIMESERIES 都会为你做这件事。