2013-03-01 15 views
7

Ho bisogno di scrivere una formula per un rapporto SSRS. Non sono sicuro della sintassi esatta, ma penso che dovrebbe essere un iif annidato ma con più criteri, controllando il valore dei campi grafico e di divisione. Alla fine della giornata se chart = 110300 e divisione = 100 quindi "Intercompany AP - USA" o se chart = 110300 e division = 200 quindi "Intercompany AP - RUS" altro saggio, quindi basta visualizzare il nome della mappa. Qualcosa come questo, ma in realtà scritto correttamente.iif annidato con più condizioni SSRS

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 

Apprezzo molto qualsiasi aiuto su questo!

risposta

14

Hai praticamente risolto questo! Per scrivere questo in T-SQL si fa clic destro il nome del grafico e cambiare il suo valore alla seguente espressione:

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") 

Vedi here per la spiegazione su come funziona la funzione IIF

Dal link si può vedere che ci vuole il seguente formato, dove le virgole sono utilizzati al posto di "Then" o "Else":

IIF (boolean_expression, true_value, false_value)

Quindi, per ripartizione l'espressione:

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" 
    ) 
) 
+0

Grazie mille per il tuo heko @tom jenkin !! – jenhil34