2016-06-01 4 views
0

SSRS 보고서에 "성, 이름"형식의 이름이있는 필드가 있는데이 필드에 쉼표가 포함되어 있으면 "FirstInitial. LastName"에 넣습니다 (이 부분은 항상 작동합니다). 문자열이 쉼표를 포함하지 않는 경우, 그냥 문자열을 인쇄해야하지만 대신이 보고서는 "# Error"가 표시거짓 일 때의 SSRS 식 평가

=IIF(InStr(Fields!EmployeeName.Value, ", ") > 0, Mid(Fields!EmployeeName.Value, Instr(Fields!EmployeeName.Value, " ") + 1, 1) & ". " & Mid(Fields!EmployeeName.Value, 1, Instr(Fields!EmployeeName.Value, ",") - 1), Fields!EmployeeName.Value) 

이상한 부분입니다 그냥을 할 수있는 "true"로 로직을 변경하는 경우 "쉼표 포함"문자열을 인쇄하도록 설정하면이 표현식이 예상대로 정확하게 작동합니다. "LastNameOnly"문자열은 "LastNameOnly"를 생성하고 다른 문자열은 "쉼표 포함"문자를 출력합니다. 따라서 문이 거짓이라 할지라도 문자열이 사용되지 않고 "true"로직을 통해 계속 실행되고 있으며 오류가 발생합니다.

문자열 수정자가 true 및 false 섹션에 있고 (이에 따라 평가 문을 적절하게 조정할 수 있음) if 문을 시도해 본 결과 차이가없는 것 같습니다.

누구에게이 문제가 발생 했습니까? 또는 어쩌면 나는 무언가를 놓치고있다 ?? 미리 감사드립니다!

2013

답변

0

은 분명히 SSRS 참과 거짓 조건에 관계없이 그 중 하나는 사용하는 것 모두를 평가 Visual Studio를위한 BIDS 확장에 개발 SQL 서버 2008을 사용. 이 문제를 해결하려면 VB 사용자 지정 코드를 사용하는 것이 좋습니다. 여기에 당신이 다른 사람에게 도움이되기를 바랍니다

SSRS

http://dyslexicanaboko.blogspot.com/2012/11/ssrs-logical-flaws-of-iif.html에 VB를 사용하는 방법을 보여줍니다 링크입니다!