2016-06-01 2 views
0

시작일 및 종료일 매개 변수가있는 보고서가 있으며 특히 2 가지 구독 유형을 제공해야하는 구독에 적합합니다. 1, 이전 주 중 하나 -> 시작 날짜는 이전 회계 주 첫날이며 종료 날짜는 이전 회계 주 마지막 날입니다. 2, 전날의 하나 -> 시작일은 전일이며 종료일도 전날입니다.구독에 유효하지 않은 매개 변수 값이 포함되어 있음

데이터 세트 날짜 필드 : 사용 가능한 날짜 매개 변수와 기본값 모두에 대한 데이터 세트 쿼리 결과입니다. 전날 구독을 만들 때 그 날 만 ... 해당 날 자정 이후에 시작 날짜와 종료 날짜 매개 변수 값이 비어 있고 구독에 "구독에 유효하지 않은 매개 변수 값이 있습니다"라는 상태 메시지가 표시되면서 실패합니다 . 이전 회계 주 시작일 및 종료일 값이 변경 될 때까지 이전 회계 주간으로 생성 된 구독은 1 주일 동안 좋음

답변

0

날짜 매개 변수의 기본값과 값에 대한 데이터 집합을 사용하고 있습니다. 이는 아마도 최선의 방법이 아닙니다.

최종 사용자가 구독하도록 허용하는 보고서를 처리하고 기본 날짜 값을 구독이 일일, 주간 또는 월간 구독인지 여부에 따라 달라지는 방식은 다음과 같은 추가 매개 변수를 갖는 것입니다. 가능하다.

보고서에 추가하는 매개 변수는 기간 (또는 보고서 기간)을 호출하는 매개 변수이며 보고서의 첫 번째 매개 변수이거나 적어도 날짜 매개 변수 앞에 나열된 매개 변수 여야합니다. 이 매개 변수에 대한 드롭 다운의 유일한 값은 매일, 매주 및 매월 (해당되는 경우)입니다. 이것들은 당신이 원하는 무엇이든 될 수 있습니다. 매우 자주 변경 될 것으로 예상되지 않으므로 보고서의 매개 변수에 값 옵션으로 수동으로 입력하십시오. 구독을 만들 때 최종 사용자가이 매개 변수를 선택하면 기본 날짜 값이 변경됩니다. 이는 Period 드롭 다운에서 선택한 값을 평가하는 날짜 매개 변수의 기본값에서 표현식을 통해 수행됩니다.

따라서 최종 사용자가 일일 구독을 원할 경우 기간 매개 변수 드롭 다운에서 매일을 선택하고 시작 및 끝 날짜 매개 변수의 기본값은 이전 날짜 만 포함하도록 변경됩니다. Weekly를 선택하면 시작 및 종료 날짜 매개 변수가 이전 주만 포함되도록 변경됩니다.

다음은 시작 날짜 매개 변수 기본값 표현식의 예입니다.

종료 날짜 매개 변수에 대한
=Switch(Parameters!Period.Value = "Daily" , DateAdd(DateInterval.Day, -1, Today), 
Parameters!Period.Value = "Weekly" , DateAdd(DateInterval.WeekOfYear, -1, DateAdd(DateInterval.Day, -(DatePart(DateInterval.Weekday, Today, 0, 0)-1), Today)) , 
Parameters!Period.Value = "Monthly" , DateAdd(DateInterval.Month, -1, DateAdd(DateInterval.Day, -(DatePart(DateInterval.Day, Today, 0, 0)-1), Today))) 

...

=Switch(Parameters!Period.Value = "Daily" , Today, 
Parameters!Period.Value = "Weekly" , DateAdd(DateInterval.Day, -(DatePart(DateInterval.Weekday, Today, 0, 0)), Today) , 
Parameters!Period.Value = "Monthly" , DateAdd(DateInterval.Day, -(DatePart(DateInterval.Day, Today, 0, 0)), Today)) 

경고! 보고서 디자이너 (미리보기) 또는 온라인에서 기간 값을 변경해도 눈앞에서 날짜 값이 자동으로 변경되지 않습니다. 그러나 구독을 생성 (따라서 실행)하는 동안. 나는 이것이 왜 있는지 보지 못했습니다. 나는 고통스럽지 않고 다른 일을 많이하며 시간을 보냅니다.

시도해보십시오.

관련 문제