假设我有一个名为“date”的日期变量。 我需要得到一个“week”变量,它不显示周数,而是显示周名,实际上是一周的第一天。例如, 当前周值为“2019-7-28”,我需要整个周的值。接下来的一周将是“2019-08-04”,以此类推。你知道吗
我的解决方案使用python,但是我在SPSS中得到一条警告消息,没有得到任何新的变量值:
STRING day (A10).
STRING monthday monthnumber (A2).
DO IF (XDATE.MDAY(date) < 10).
COMPUTE monthday =
CONCAT('0',STRING(XDATE.MDAY(date),F1)).
ELSE.
COMPUTE monthday =
STRING(XDATE.MDAY(date),F2).
END IF.
EXECUTE.
DO IF (XDATE.MONTH(date) < 10).
COMPUTE monthnumber =
CONCAT('0',STRING(XDATE.MONTH(date),F1)).
ELSE.
COMPUTE monthnumber =
STRING(XDATE.MONTH(date),F2).
END IF.
EXECUTE.
COMPUTE day =
CONCAT(monthday,'/',monthnumber,'/',STRING(XDATE.YEAR(date),F4)).
EXECUTE.
STRING Week (A11).
begin program.
from datetime import datetime, timedelta
def weekname(day):
dt = datetime.strptime(day, '%d/%m/%Y')
week = dt - timedelta(days=dt.weekday())
return week.strftime('%Y/%b/%d')
end program.
SPSSINC TRANS result = week
/FORMULA "weekname(day)".
EXECUTE.
我得到的警告如下: 警告 变量名重复。你知道吗
但主要问题是Week变量中没有值。你知道吗
有人能帮忙吗?你知道吗
非常感谢!!!你知道吗
以下是您的解决方案的简短版本:
实际上,我从IBM支持部门得到了一个解决方案。这里不需要使用python。你知道吗
相关问题 更多 >
编程相关推荐