2012-09-16 2 views
1

MSSQL 2008 Reporting Services 용 보고서 작성기 3을 사용하여 몇 가지 보고서를 작성했습니다. 내 보고서의 일부 필드에 "#Error"가 표시되는 대신 간단한 "-"만 표시하려고합니다. 이것을 극복 할 수있는 내장 함수 나 사용자 정의 코드가 있습니까?SSRS 보고서에 표시된 # 오류를 수정하기위한 맞춤 코드

+0

질문에 +1하지만 여전히 질문해야합니다. 오류 수정은 옵션이 아닙니까? – Jeroen

+0

이전 기능을 사용하고 있기 때문에 이것은 옵션이 아니므로 첫 번째 행에 항상 # 오류를 표시합니다.이 오류는 수정하고 "-"만 표시해야합니다. –

+1

# 오류를 일으키는 수식과 오류를 일으키는 조건과 같은 # 오류가있는 상황을 자세히 설명 할 수 있습니까? –

답변

0

나는 아직도 당신의 공식을보고 싶지만 그것을 보여주지 않기로 결정한 것 같습니다. 그래서 그것없이 응답 할 때 야생의 찌르기를 할 것입니다. 저는 여러분이 현재 행의 필드를 이전 행의 필드로 나누는 것과 같은 일을하고 있다고 생각합니다. 그러나 이것은 #Error이 아닌 첫 번째 행에 Infinity을 줄 것이므로 다른 일이 발생합니다. 그러나 우리가 당신의 공식을 가지고 있지 않기 때문에 이것으로 어쨌든 실행합시다.

이 문제를 해결하는 가장 일반적인 방법은 이전 함수에 대해 반환되는 Nothing을 확인하는 것입니다. 일반적으로 필드에 항상 데이터가 있다고 가정 할 때 첫 번째 행에 있음을 나타냅니다. 이것은 가치가 보장되지 않는 분야에서 일하는 장점이 있습니다. 여기

=IIF(IsNothing(Previous(Fields!MyField.Value)), "-", Fields!MyField.Value/Previous(Fields!MyField.Value)) 

는 관계없이 항상 첫 번째 행를 확인합니다 행 번호를 사용하여 할 수있는 또 다른 방법이다 :

오류가 값 식에 의해 발생되고 있음을
=IIF(RowNumber(Nothing) = 1, "-", Fields!MyField.Value/Previous(Fields!MyField.Value)) 

이 가정 이전 행이 없을 때 유효하지 않은 Format, Color와 같은 다른 속성에 표현식을 적용하는 것과 같은 다른 메커니즘이 아닙니다.

관련 문제