2009-06-16 15 views

Odpowiedz

6

Trzeba będzie gniazdo sprawozdania IIF jak ten:

= IIF (expression = 1, "Is 1", IIF (expression = 2, "Is 2")) 
+0

thannks jeśli chcę porównać ciąg wtedy? co robię .... jak int Łącznie = 0 jeśli (wyrażenie == "Dobrze") to TotalIncrease – Shamim

+0

Nie możesz mieć zmiennych w tym sensie. Użytkownik zagnieździłby "IIF" w ramach SUM lub innego rodzaju funkcji agregującej ... = Sum (IIF (expression = "Good", 1, 0)). Coś w tym stylu. –

37

Zamiast używać zagnieżdżonych IIF oświadczenia wolę Przełącznik oświadczenie.

Od MSDN ...

=Switch(
    Fields!PctComplete.Value >= 10, "Green", 
    Fields!PctComplete.Value >= 1, "Blue", 
    Fields!PctComplete.Value = 1, "Yellow", 
    Fields!PctComplete.Value <= 0, "Red" 
    ) 

Nadzieja pomaga :)

+0

Dzięki za pracę Mam teraz inny problem, mam nadzieję, że mi pomożecie ... Mam trzy tablice typu LIKE: GOOD, REMOVED, NOTFOUND ..... chcę raport na temat rdlc, które pokazują mi typ forum jak poniżej Thana Good Usunięty NotFound A 5 2 4 B 4 1 0 jak to zrobić – Shamim

+0

Nie jestem całkowicie pewien, co masz na myśli? Czy możesz zmienić zdanie w jakikolwiek sposób, twój przykład utracił formatowanie, ponieważ jest to komentarz. –

1

To Składnia swoje wymagania:

=IIf(CInt(Fields!expression1.value)==1,true,IIf(Cint(Fields!expression2.value)==2,true,nothing)) 

W prawdziwym części można określić oświadczenie do wykonania.

1

Zamiast tego użyj przełącznika. Wiem, że dotarłem tutaj późno, ale mam nadzieję, że może to komuś pomóc.

=Switch(Fields!Parameter.value = 2,"somethingnew", 1=1 ,"somethingelse") 

1 = 1 oznacza ustawienie domyślne w przypadku przełącznika.

Teraz jest podobnie jak

if(Parameter.Value == 2) 
{ 
somethingnew 
} 
else 
{ 
somethingelse 
}