sql - sas 中的日期格式在条件下与 proc sql 连接
问题描述
我有一个宏变量:%let date=201909 和表:
ID Sending-date item
1 15-jul-2019 A
2 23-sep-2019 B
3 12-sep-2019 A
4 1-jan-2019 B
5 5-feb-2019 B
我想做的是验证是否在我的日期(9 月 9 日)和前两个月(8 月和 7 月)指示的月份中发送了一个项目,使用 proc sql 并且不添加新变量。
预期的 result_table 是这样的:
Month Year Number of items
9 2019 2
8 2019 0
7 2019 1
最大的问题是如何转换表格中日期的格式,如我的宏变量日期。
解决方案
这是一种方法。
我使用 cutoff_date 而不是 date,因为它有助于更轻松地区分日期。使用 INTNX() 进行日期计算。在这种情况下,我将截止日期设置为 cutoff_month 的结束和两个月前的开始。您可能需要更清楚地定义它以满足您的需求,但这有效。
%let cutoff_date=201909;
proc sql;
create table want as
select month(sending_date) as Month, count(*) as num
from have
where sending_date between intnx('month', input("&cutoff_date.", yymmn6.), 0, 'e') and intnx('month', input("&cutoff_date.", yymmn6.), -2, 'b')
group by calculated Month;
quit;
推荐阅读
- python - 具有 bulk_save_objects 和声明性基础的 Sqlalchemy 不会在 sql 中添加模式
- javascript - 我无法将 html 元素从 html 导出到 excel(.xlsm)
- node.js - 使用 amazon-cognito-identity-js javascript 获取 idToken
- oracle - oracle apex 阿拉伯字符在 csv 导出中无法正确显示
- r - ggtext 在字幕和标题之间创建过多的空白
- python - 在 python 中使用 uuid 生成文件名
- sql - 将查询重组为按 user_id 分组并计算平均招聘时间
- angular - 使用角度的Html2pdf空白
- .net - 动态评论框
- powershell - 使用 PowerShell 从私有 GitHub 存储库下载文件(使用 OAuth)