2011-09-15 7 views
1

SSRS의 표현식에서 표현식을 사용하려고하는데 실제로 복잡해지고 있습니다. 이 문제를 해결할 방법이 있습니까?SSRS 표현식을 변수로 사용하기

예를 들어

연락처 내가 넣어이 사용되어 다음에 수행 할 작업을

=fields!sales.value/fields!contacts.value 

을 즉에 내가 판매를 나누어 전환율을 만들 수있는 연락처의 판매 및 수의 번호가있는 경우 임계 값의 전환율을 가진 사람들이 밴딩에 표시되도록 다양한 밴드에 판매합니다.

=iif(fields!sales.value/fields!contacts.value<0.5,"poor","Ok") 

이 2 밴딩 (확인 가난한)에 대한 괜찮지 만, 내가 원하는 5 개에 줄무늬 더 복잡해진다.

첫 번째 변수를 정의한 다음이를 iif 문에서 사용할 수 있어야합니까?

SSRS 2008에서 어떻게합니까?

미리 감사드립니다.

+1

이러한 계산은 SSRS 대신 소스 데이터에서 수행 할 수 있습니까? 또는 옵션이 아닌가요? – PaulStock

+0

niktris는 질문에 대한 문자 그대로의 답을 가지고 있습니다. 그러나 Paul의 아이디어도 고려해 볼 가치가 있습니다. SQL 쿼리에서 이러한 종류의 작업을 수행하는 것이 더 쉽거나 더 깔끔한 경우가 종종 있습니다. –

답변

1

더 나은는 최초의 진정한 조건

=Switch( 
    fields!sales.value/fields!contacts.value < value1, "very poor", 
    fields!sales.value/fields!contacts.value < value2, "poor", 
    ... 
    fields!sales.value/fields!contacts.value < value(n-2), "good", 
    fields!sales.value/fields!contacts.value < value(n-1), "very good", 
    True, "excellent" 
) 

값 1 < 값 2 < ... < 값 N에게 반환 스위치를 사용합니다.

마지막 사실은 또 다른 당신이 그런 행이 사용하는 기능

Public Function GetRating(ByVal rating As Decimal) As String 

Select Case rating 

Case Is < value1 
    Return "poor" 
... 

Case Is < valuen 
return "very good" 

Case Else 
Return "excellent" 

End Function 

을 만들 수있는 사용자 정의 VB 코드를 사용


는 SQL 사례 표현의 기본의 사용과 같은 더미입니다 표현

= Code.GetRating(fields!sales.value/fields!contacts.value) 
관련 문제