2017-01-04 6 views
1

Wie schreibe ich einen Ausdruck SSRS LIKE, um zu sehen, ob ein Feld Werte in einem anderen Feld enthält? Wenn zum Beispiel der Name in einem Feld 'Johnson' ist, sollte der Name im zweiten Feld ebenfalls 'Johnson' sein, und wenn nicht, dann formatiere die Farbe des Feldes.SSRS 'Like' Ausdruck vergleicht zwei Felder

Hier ist Code, den ich bisher versucht habe, der nicht richtig funktioniert.

=iif(instr(Fields!JT_Name.Value, "Fields!Base_Name.Value"),"Transparent","Yellow") 

Antwort

3

INSTR() Funktion liefert eine ganze Zahl, die Startposition des ersten Auftretens der Zeichenkette angibt.

Es gibt 0 zurück, wenn die Zeichenfolge nicht enthalten ist.

Versuchen:

=iif(instr(Fields!JT_Name.Value, Fields!Base_Name.Value)=0,"Transparent","Yellow") 

Oder wenn Sie die gelbe Farbe anwenden möchten, wenn die Zeichenfolge nicht enthalten Versuch:

=iif(instr(Fields!JT_Name.Value, Fields!Base_Name.Value)>0,"Transparent","Yellow") 

Lassen Sie mich wissen, ob das hilft.

+0

Wenn ich den Code = 0 verwende, dann ist nichts gelb markiert, obwohl es sein sollte. Wenn ich den Code> 0 verwende, dann ist alles gelb markiert, obwohl es nicht sein sollte. Gibt es eine andere Art und Weise? – BIReportGuy

+1

@BIReportGuy, In Ihrem Ausdruck haben Sie das Basisfeld mit doppelten Anführungszeichen umgeben, das dieses Verhalten verursachen könnte. Ich habe den Ausdruck aktualisiert, probiere ihn aus. –

+0

Ich entfernte die Anführungszeichen und es hat funktioniert! Danke vielmals! – BIReportGuy