web-dev-qa-db-fra.com

Iif imbriqué avec plusieurs conditions SSRS

J'ai besoin d'écrire une formule pour un rapport SSRS. Je ne suis pas sûr de la syntaxe exacte, mais je pense que cela devrait être un iif imbriqué mais avec plusieurs critères, en vérifiant la valeur du graphique et des champs de division. À la fin de la journée, si le graphique = 110300 et la division = 100, puis "AP intersociétés - États-Unis" ou si le graphique = 110300 et la division = 200, puis "AP intersociétés - RUS" dans le cas contraire, affichez simplement le nom du graphique. Quelque chose comme ça, mais écrit correctement.

iif Fields!chart.Value="110300" and Fields!division.Value="100" then
Fields!chartname.Value="Intercompany AP - USA" if Fields!chart.Value="110300"
and Fields!division.Value="200" then Fields!chartname.Value=
"Intercompany AP - RUS" else Fields!chartname.Value

J'apprécie grandement toute aide à ce sujet!

10
jenhil34

Vous avez à peu près résolu celui-ci vous-même! Pour écrire cela en T-SQL, cliquez avec le bouton droit sur le nom du graphique et modifiez sa valeur en l'expression suivante:

IIF(Fields!chart.Value="110300" AND Fields!division.Value="100","Intercompany AP - USA",IIF(Fields!chart.Value="110300" AND Fields!division.Value="200","Intercompany AP - RUS","Default Chart Name")

Voir ici pour des explications sur le fonctionnement de la fonction IIF

À partir du lien, vous pouvez voir qu'il prend le format suivant, où les virgules sont utilisées à la place de "Then" ou "Else":

IIF ( boolean_expression, true_value, false_value )

Donc, pour décomposer l'expression:

IIF(Fields!chart.Value="110300" AND Fields!division.Value="100",
    "Intercompany AP - USA",
     IIF(Fields!chart.Value="110300" AND Fields!division.Value="200",
        "Intercompany AP - RUS",
        "Default Chart Name"
     )
)
16
Tom Jenkin