2016-09-15 53 views
0

所以我有什麼可能是一個非常愚蠢的問題,但由於某些原因我的「問題」是不是工作不同的日期在SSRS報告用同樣的計算

真的很簡單。一個在SSRS表矩陣中的字段是一個到期日,通過使用SQL函數使用DateAdd計算:

=DateAdd(DateInterval.Day, (Int(Fields!TMinus.Value) * 7), Parameters!StartDate.Value) 

TMinus是負整數模擬周起始日期是活動開始的日期。

我用這個公式來設置一個活動的交貨期連續單元格計算VB.NET同樣的事情:

Dim intTMinus As Integer = CInt(dataItem.GetDataKeyValue("TMinus").ToString) 
CType(dataItem.FindControl("RlblDue"), RadLabel).Text = CDate(DateAdd(DateInterval.Day, (intTMinus * 7), dtStartDate)).ToString 

的問題是,在SSRS報告顯示不同的日期比即使我已經使用硬編碼值來試圖找到報告中的罪魁禍首。

這種計算報告:

=DateAdd(DateInterval.Day, (Int(-40) * 7), '12/09/2016') 

顯示的日期:2015年7月12日在電網,但2016年3月4日在報告

回答

0

DateAdd參數數據類型必須分別爲DateInterval,Double和DateTime。您爲第三個參數傳遞字符串'12/09/2016',但它需要DateTime。順便說一下,SSRS中的字符串必須用雙引號包圍。

固定的表達後,它應該是這樣的:

=DateAdd(DateInterval.Day, (Int(-40) * 7), CDATE("2016-09-12")) 

將返回:07/12/2015在VB您的網格。

CDATE("2016-09-12")轉換在DateTime值的日期字符串。

檢查您的參數設置爲Date/Time型。

REFERENCE

讓我知道,如果這有助於。

相關問題