Zurück mit einer SSRS Frage. Hier ist das Szenario ..Bedingte Formatierung in SSRS mit Code teilen
Mein Bericht enthält eine Zelle, die ein bedingtes Format mit der folgenden Logik haben sollte:
If AV has value:
= 0 ; Then value has to be in "Silver" (White)
<= 0.6 ; Then value has to be in "CornflowerBlue" (Blue)
<= 0.8 ; Then value has to be in "Tomato" (Red)
> 0.7 ; Then value has to be in "Gold" (yellow)
> 0.6 ; Then value has to be in "LightGreen" (Green)
ich dann meinen Code divide erstellt ...
Public function ColorValue(ByVal _AV as Double) As Double
IF _AV = 0 Then
Return "silver"
Else
IF _AV >= (0.8) Then
Return 'Tomato'
Else
IF _AV >= (0.7) Then
Return 'Gold'
Else
IF _AV >= (0.6) Then
Return 'LightGreen'
Else
Return 'CornflowerBlue'
END IF
END IF
END IF
END IF
End Function
und halten auf diesen Fehler bekommen: enter image description here Ich habe noch nie eine Funktion in VB erstellt und so habe ich meine Code teilen zu dieser bestehenden Funktion ..
Public Function FillLowValue(ByVal _target As Double, ByVal _strValue
As String) As String Dim _value As Double If _target = Nothing
Then
Return "Silver"
End If
If _strValue = "N/A" Then
Return "Silver"
Else
Double.TryParse(_strValue, _value)
End If
If _value < (_target - (_target * 0.2)) Then
Return "CornflowerBlue"
Else
If _value >= (_target + (_target * 0.2)) Then
Return "Tomato"
Else
If _value <= _target Then
Return "LightGreen"
Else
Return "Gold"
End If
End If
End If
Return "Silver"
End Function
Ich habe auch den folgenden Fehler gegoogelt und erreichte bis Seite 10 ohne Glück bei meinen Suchen. Hoffentlich könnte mir jemand wenigstens eine Idee geben, wo man hinschauen kann.
PS: Könnten Sie bitte auch meine IF-Logik überprüfen?
auch versucht, diesen Ansatz, der den Bericht akzeptiert, aber das Rück keinen Wert auf die Zelle selbst
Public Function ColorValue(ByVal _AV As Double) As String
If value = 0 Then
Return "Silver"
ElseIf value >= 0.8 Then
Return "Tomato"
ElseIf value >= 0.7 AND value < 0.8 Then
Return "LightGreen"
ElseIf value >= 0.6 AND value < 0.7 Then
Return "Gold"
ElseIf value > 0.6 Then
Return "CornflowerBlue"
End If
End Function
Vielen Dank im Voraus
Hallo Vielen Dank für Ihre Antwort Ich habe auch versucht, diesen Ansatz: Public Function Colorvalue (ByVal _AV As Double) As String Wenn Wert = 0 Then Return "Silver" ElseIf Wert> = 0,8 Dann Return "Tomate" \t \t \t ElseIf Wert> = 0,7 und Wert <0,8 Dann \t \t \t \t Return "Lightgreen" \t \t \t ElseIf Wert> = 0,6 und Wert <0,7 Dann \t \t \t Return "Gold" \t \t \t ElseIf Wert> 0,6 Dann \t \t \t \t Return "CornflowerBlue" End If End Function Die Bericht akzeptiert, gibt aber keinen Wert für die Zelle zurück. –
@JosephCzarCorpus, Wie von Trevor erwähnt, gibt Ihre Funktion ein Double zurück, aber Sie geben eine Zeichenfolge zurück, d. H. "Gold". –