这是我到目前为止所拥有的。 我正在尝试使用始终显示上个月的过滤器。 以下查询适用于除1月以外的所有月份。
DateDim_End_Date.YEAR=year(getDate())
and DateDim_End_Date.MONTHNUMBER = month(getDate())-1
我正在尝试像
这样的东西CASE WHEN (DateDim_End_Date.MONTHNUMBER = month(getDate())) = 1 THEN
(DateDim_End_Date.YEAR=year(getDate())-1
and DateDim_End_Date.MONTHNUMBER = month(getDate())-1)
WHEN DateDim_End_Date.MONTHNUMBER = month(getDate())) != 1 THEN
(DateDim_End_Date.YEAR=year(getDate())
and DateDim_End_Date.MONTHNUMBER = month(getDate())-1)
END
它不一定是CASE声明来解决这个问题,这只是我最初的方法 提前谢谢。
答案 0 :(得分:1)
您可以执行以下操作:
DateDim_End_Date.YEAR=year(getDate())
and DateDim_End_Date.MONTHNUMBER = month(DATEADD(MONTH, -1, getDate()))
这将解决1月份的问题,因为您现在首先从确定新月份之前的某个日期减去一个月。
但是,将日期存储在单个日期/日期时间列中要容易得多。