2017-09-05 1 views
0

내가 SSRS에서 식을 작성하려고 해요 :SSRS 기본 시작/종료 날짜는 특정 날짜의 기간을 돌아

오늘의 DAY는 < = 15 일, 반환 급여 기간 지난 달 16 일 마지막 날에 경우

시작 날짜 :

오늘의 DAY 인 경우 월 의> = 16 일,이 표현 내가 지금 가지고 있지만 작동하지 않는 15

에 현재 월 일 1을 반환

=IIF(DAY(TODAY) <= 15, DateAdd(DateInterval.Day, 1-Day(Today), Today), DateAdd(DateInterval.Month, -1, (DateAdd(DateInterval.Day, 16-Day(Today), Today)))), 
IIF(DAY(TODAY) >= 16, dateadd("m",0,dateserial(YEAR(Today),MONTH(Today),1) 

종료 날짜 :

=IIF(DAY(TODAY) <= 15, DateAdd(DateInterval.Day, -1, DateSerial(Year(Date.Now), Month(Date.Now), 1)), 
IIF(DAY(TODAY) >= 16, dateadd(dd,datediff(dd,datepart(dd,getdate()),15),getdate()) 

답변

0

지난 주 비슷한 비슷한 ...

--StartDate, if current day is more than 16, set to 1, else 16 
=iif(DatePart("d",Today) >= 16, DateSerial(Year(Today), Month(Today), "1").AddMonths(-1), DateSerial(Year(Today), Month(Today),"16").AddMonths(-1)) 

--EndDate, if current day is more than 16 set to 15, else month end 
=iif(DatePart("d",Today) >= 16, DateSerial(Year(Today), Month(Today), "15").AddMonths(-1), DateSerial(Year(Today), Month(Today),"1").AddDays(-1)) 
+0

이것은 작동합니다! 고맙습니다! – cmpmd2

0

를 사용하여 다음과 같은 식을

STARTDATE :

= 
Iif (Day(Today())>15 
, DateAdd("d", -Day(Today())+1, Today()) 
, DateAdd("d", -Day(Today())+16, DATEADD("m", -1,Today())) 
) 

종료 날짜 :

난 그냥해야했다
= 
Iif (Day(Parameters!DateParam.Value)>15 
, DateAdd("d", -Day(Today())+15 , Today()) 
, DateAdd("d", -Day(Today()) , Today()) 
) 
관련 문제