2016-12-02 4 views
0
=switch(
    Fields!HEORG_REFNO.Value=7535,"public", 
    Fields!HEORG_REFNO.Value=7539,"public", 
    Fields!HEORG_REFNO.Value=7609,"public", 
    Fields!HEORG_REFNO.Value=7541,"public", 
    true,"private" 
) 

아니다 위의 스위치 상태에. 경우 (heorg_refno는 = 7539 또는 heorg_refno = 7609 또는 heorg_refno = 7541) 다음 그렇지 않으면 병원은 개인이어야한다 공개 될 것이다. 내가 스위치 문에서 잘못하고있는 무슨스위치 표현 : 'VarExpr'인수 그러므로 그렇게 난 기반으로 새 필드를 만들려고하고, 병원은 개인 또는 공용 내 결과가 날씨에 따라 내가 그룹에 원하는 유효한 값 "

어떤 제안.

답변

0

이 이유 중 하나는 Fields!HEORG_REFNO.Value에 실제로 정수 값이 포함되지 않았지만 String 값. 이 경우 당신은 문자열과 비교해야 할 것 :

=Switch 
(
    Fields!HEORG_REFNO.Value="7535","public", 
    Fields!HEORG_REFNO.Value="7539","public", 
    Fields!HEORG_REFNO.Value="7609","public", 
    Fields!HEORG_REFNO.Value="7541","public", 
    true, "private" 
) 

당신은 SSRS 데이터 세트에서 HEORG_REFNO의 유형을 확인해야합니다.

또한 내 경험에 의하면 너무 많은 내용을 표현식에 넣는 대신 필터링 할 수있는 데이터 세트의 가짜 열을 만드는 것이 좋습니다.

후자는 조만간 혼동을 일으킬 수 있습니다.

+0

예, 데이터 세트에 다른 열을 추가하고이 표현식을 사용하여이 열을 작성하려고하면이 열이 작성됩니다. –

+0

아니요. 귀하의 보고서에 대해 데이터베이스에서 정보를 쿼리하기위한 SELECT 문이 있어야한다고 말하고 있습니다. 때로는 보고서에서 표현식을 사용하는 대신 select 문에 "계산 된 열"을 두는 것이 좋습니다. 'SELECT case When like When RefNo = 7535 그 다음 'public'ELSE 'private'END AS FakeColumn from tablename'. –

+0

오류가 발생합니다. –