16

Próbuję napisać wyrażenie pola dla komórki w moim raporcie, w którym muszę zmienić kolor tła komórki w zależności od wartości ciągu w komórce. Przykład: jeśli kolumna ma wartość "Zatwierdzona", komórka powinna pokazać zielony kolor tła. Próbowałem następujące:Wyrażenie pola SSRS w celu zmiany koloru tła komórki

= IIF(fields!column.value = "Approved", "Green") 

i

= IIF(Fields!column.Value, "Approved", "Green") 

Ani działa .. wiem, że czegoś brakuje w składni .. Prawdopodobnie nie będę refering zielonego na tylnym koloru ziemi w składnia. Proszę pomóż!

+0

Jeśli hop rozwiązany problem należy przyjąć jego odpowiedź – DForck42

Odpowiedz

44

Problem z IIF (Fields! Column.Value = "Approved", "Green") polega na tym, że brakuje trzeciego parametru. Poprawna składnia jest IIF ([niektóre wyrażenie logiczne], [skutkować jeśli wyrażenie logiczne jest prawdziwe], [skutkować jeśli logiczną false])

Spróbuj

=IIF(Fields!Column.Value = "Approved", "Green", "No Color") 

Oto lista przykładów ekspresji Expression Examples in Reporting Services

IIF in SSRS report

+0

Dziękuję bardzo za réponse .. rozwiązuje składni część .. ale kiedy przeglądam raport, widzę, że wartość ciągu "Zatwierdzona" jest zastąpiona przez wartość ciągu "Zielony". i chcę zmienić kolor tła, a nie wartość ciągu. – Avinash

+1

Niezależnie od tego, czy korzystasz z narzędzia do tworzenia raportów, czy z OFERT, po kliknięciu widoku właściwości komórki w oknie właściwości, powinna istnieć właściwość Kolor tła. To tam podajesz swoje wyrażenie z góry. – Hopdizzle

+0

Ah .. To rozwiązuje ten wymóg .. Dziękuję bardzo za pomoc. Bardzo doceniane .. – Avinash

3

Wykorzystaj wykorzystania właściwości koloru i Backcolor napisać wyrażeń dla zapytania. Dodać następujące możliwości ekspresji dla właściwości koloru, który chcesz zaspokoić)

przykładu

=iif(fields!column.value = "Approved", "Green","<other color>") 

iif potrzebuje 3 wartości, pierwszej kolumnie odnoszącej się, to drugi jest do obsługi prawda i trzeci jest do obsługi Fałsz na rachunku iif

0

= IIF (Fields! ADPAction.Value.ToString(). ToUpper(). contains ("fail"), "Red", "White")

Konieczne jest także przekonwertowanie na duże litery w celu porównania on jest testem binarnym.

+0

Witam, witam w SO, miło jest zobaczyć, że zaczynasz od odpowiedzi. Kod jest bardziej czytelny, gdy formatujesz go jak kod, wciskasz go po 4 spacje! – iScrE4m

1

= IIF (Fields! Column.value = Warunek, "Red", "Black")

Powiązane problemy