1

내가 작업하고있는 보고서에서 사용자는 시작일과 종료일을 입력합니다. 일반적으로이 두 항목은 시작일로 2015 년 5 월 15 일, 종료일로 2015 년 5 월 28 일을 입력하는 경우와 같이 2 주가 소요됩니다.SSRS 보고서 필드에서 날짜 범위를 계산하고 표시하려면 어떻게해야합니까?

열 머리글에 표시해야하는 것은 첫 번째 주 (위의 경우 5/15 - 5/21/16)와 두 번째 주 (다른 열의 첫 번째 주)입니다. 이 경우 5/22 - 5/28/16).

매개 변수 BegDate에 2015 년 5 월 15 일을 포함하고 EndDate 매개 변수에 5/28/2106이 포함된다고 가정하면이 두 열 머리글의 텍스트 상자 식 속성에서 무엇을해야합니까?

답변

1

시도 :

첫째 주 :

=Parameters!BegDate.Value & " - " & 
DATEADD(DateInterval.Day, 7 - DATEPART(DateInterval.Weekday,Parameters!BegDate.Value), Parameters!BegDate.Value) 

둘째 주 :

=DATEADD(DateInterval.Day, -DATEPART(DateInterval.Weekday,Parameters!EndDate.Value)+1, Parameters!EndDate.Value) 
& " - " & Parameters!EndDate.Value 

예 :

enter image description here

알려주세요 이것이 도움이된다면.

+0

챔피언처럼 작동합니다, 감사합니다! –

1

첫 번째 요일이 포함 된 새 열을 데이터 집합에 추가하십시오. 다음과 같이 SQL에서이를 수행 할 수 있습니다.

DATEADD(DAY, 1-DATEPART(WEEKDAY, @d), @d) 

또한 데이터 세트의 계산 된 필드로 사용할 수도 있습니다.

이제 텍스트 상자에서이 필드를 참조하십시오. 필요한 항목에 따라 열 그룹화가 될 수도 있습니다.

+0

감사합니다. 그러나 저장 프로 시저를 변경하고 싶지는 않습니다. 나는 그 보고서 내에서 텍스트 상자에 대한 표현을 작성하여 그것을하고 싶다. –