【发布时间】:2017-06-27 22:06:29
【问题描述】:
我有一个包含每日数据的数据集。我需要创建一个变量来表示每个月的周数(1 到(4 或 5))。
我通过以下公式达到了这一点:
WK_NUM = intck('week',intnx('month',DATE,0),DATE)+1;
它运行良好,但通常每个月的第一周和最后几周都不是完整的周,因此该行只包含部分周。我需要对其进行改进,以将上个月或下个月的剩余天数带入每周 7 天。
有什么想法吗?
【问题讨论】:
-
你能展示一下你的开始和你需要什么作为输出吗?
-
我的数据库涵盖了 JAN15 直到今天。让我们以 MAY2017 为例。每个日期我都有多行数据,字段 DATE 包含它的完整日期(MAY01 到 MAY31)。我想创建一个名为 WK_NUM 的变量,它按周(第 1 到第 5 天)对这些天进行分组。我目前的公式可以做到,但我的第一周涵盖 MAY01 至 MAY06(6 天),而我的最后一周涵盖 MAY28 至 MAY31(4 天)。在这些情况下,我希望它从上个月/下个月获得更多的天数,以填补整个 7 天的一周(从星期日到星期六),例如 APR30 到 MAY06(第一周)和 MAY28 到 JUN03(上周)。
-
请将该文本添加到问题中。或者更好的是,添加到问题中以显示您拥有的数据的一些示例记录,并显示您希望从该示例中获得的输出数据。
-
@AYJK 如前所述,请将其添加到问题中。还包括当您查看下个月时如何处理它?所以 6 月 1 日是第 5 周?您是否尝试过 WEEK 函数/格式的变体?
标签: date sas week-number