2017-10-26 28 views
0

これまで私がこれまで行ってきたことです。 私は最後のフル月を常に表示するフィルタを持っているようにしています。 以下のクエリは、1月を除くすべての月に有効です。IDT - 今月から前月(12月)を取得する方法

DateDim_End_Date.YEAR=year(getDate()) 
and DateDim_End_Date.MONTHNUMBER = month(getDate())-1 

私はそれがこれを解決するためのCASE文である必要はありません

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 

ような何かをしようとしていた、それは事前に おかげで私の最初のアプローチでした。あなたは今、最初の新しい月が何であるかを決定する前の日付から月を減算しているので、1月の問題を解決します

DateDim_End_Date.YEAR=year(getDate()) 
and DateDim_End_Date.MONTHNUMBER = month(DATEADD(MONTH, -1, getDate())) 

答えて

1

あなたのような何かを行うことができます。

単一の日付/日付時刻の列に日付を格納する方がはるかに簡単です。

+0

フィードバックいただきありがとうございます、私は確かに心に留めておきます! – needHelp

関連する問題