ReportService的日期參數計算的一個技巧

 

 

公司的食堂每個月需要統計當月的就餐情況,但是,他們不是按照自然月來計算,而是根據上個月的21號到本月的20號。因此要求我提供的兩個參數,開始日期和結束日期的默認值就是這兩個日期。


VBscript函數可以應用於reportingService的計算公式,因此,我先從參數的全局參數中的ExcutionTime中獲取當前時間,然後,通過dateadd()函數來獲取上個月的日期,最後,要將日期定位到上個月21日,我曾經使用日期函數進行計算,基本算法是獲取當前取得的日期是當月的第幾天,然後,計算出這一天和21日之間差幾天,然後,用dateadd()函數將參數定位到21日。這樣做比較麻煩,或來我想到了format()函數,我就利用這個函數計算出我所要的日期:

開始日期=cdate(format(dateadd(dateinterval.month,-1, Globals!ExecutionTime ),"yyyy-MM-21"))

結束日期==cdate( format(Globals!ExecutionTime,"yyyy-MM-20"))

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章