Utiliser «Like» dans les expressions SSRS
-
14-11-2019 - |
Question
J'essaie de mettre en évidence un champ lorsque la valeur contient le mot «date limite». J'essaye d'utiliser l'expression:
=IIf(Fields!Notes.Value like "%deadline%","Yellow","Transparent")
Dans la propriété BackgroundColor.
Il ne met pas en évidence le champ (ne change pas la couleur d'arrière-plan). Le champ «Notes» est un type de données de texte et j'utilise Report Builder 3.0 si cela fait une différence. Qu'est-ce que je fais mal?
La solution
SSRS fait NE PAS Utilisez la syntaxe SQL, mais utilise plutôt Visual Basic.
Utilisez quelque chose comme ceci:
=IIf(Fields!Notes.Value.IndexOf("deadline") >= 0,"Yellow","Transparent")
Ou. Contient au lieu de .Indexof
=IIf(Fields!Notes.Value.ToLowerInvariant().Contains("deadline"),"Yellow","Transparent")
Autres conseils
C'est comme dans l'accès: pas '%' mais '*':
=Fields!Notes.Value Like "*deadline*"
"Instant" fonctionne pour moi:
=IIF(InStr(Fields!Notes.Value,"deadline")>0, "Yellow", "Transparent")
N'oubliez pas que la valeur de comparaison est en cas de cas, alors utilisez peut-être UCase autour:
=IIF(InStr(UCASE(Fields!Notes.Value),"DEADLINE"))>0, "Yellow", "Transparent")
Pourquoi ne pas utiliser quelque chose comme:
Fields!Notes.Value.Contains("deadline")