使用 DATETIME18 从现有变量创建具有月份编号的变量。 SAS 中的信息格式
Creating a variable with month number from existing variable with the DATETIME18. informat in SAS
我正在尝试做一些非常简单但惨遭失败的事情。
我想使用 SAS 查询构建器基于现有日期变量创建一个带有月份编号的新变量。
我想更改的变量示例如下:
2015 年 7 月 1 日 00:00
所以我想创建一个新变量,其中包含数字 1。
我现有的变量有一个信息格式 DATETIME18。
所以我尝试了以下方法:
month(t1.My_Date)
month(t1.My_Date, 'DATETIME18.')
以上两者都创建了一个新变量,但所有字段都是空的。
所以我想更改变量信息以删除时间元素,然后使用月份函数,所以我尝试了:
MDY(t1.Issue_Date, 'DATETIME18.', 'DATEw.')
但我收到以下错误:
错误:函数 MDY 需要一个数值表达式作为参数 2。
错误:函数 MDY 需要一个数值表达式作为参数 3。
有什么想法吗?当变量具有 DATETIME18 时,我基本上想从变量中提取月份数。信息格式。
提前致谢
保罗
您的变量是日期时间,month()
函数适用于日期。在使用 month()
之前使用 datepart()
函数:
month(datepart(t1.My_Date))
我正在尝试做一些非常简单但惨遭失败的事情。
我想使用 SAS 查询构建器基于现有日期变量创建一个带有月份编号的新变量。
我想更改的变量示例如下: 2015 年 7 月 1 日 00:00
所以我想创建一个新变量,其中包含数字 1。
我现有的变量有一个信息格式 DATETIME18。
所以我尝试了以下方法:
month(t1.My_Date)
month(t1.My_Date, 'DATETIME18.')
以上两者都创建了一个新变量,但所有字段都是空的。
所以我想更改变量信息以删除时间元素,然后使用月份函数,所以我尝试了:
MDY(t1.Issue_Date, 'DATETIME18.', 'DATEw.')
但我收到以下错误: 错误:函数 MDY 需要一个数值表达式作为参数 2。 错误:函数 MDY 需要一个数值表达式作为参数 3。
有什么想法吗?当变量具有 DATETIME18 时,我基本上想从变量中提取月份数。信息格式。
提前致谢 保罗
您的变量是日期时间,month()
函数适用于日期。在使用 month()
之前使用 datepart()
函数:
month(datepart(t1.My_Date))