2012-03-12 12 views
10

Ho un report con più set di dati. Campi diversi da diversi set di dati vengono utilizzati in diverse posizioni del report.SSRS - Espressione utilizzando campi di set di dati diversi

In una parte del report, ho bisogno di fare un calcolo utilizzando i campi di due diversi set di dati. È possibile ciò all'interno di un'espressione?
Posso in qualche modo fare riferimento al set di dati in cui si trova il campo, nell'espressione?

Per esempio, mi piacerebbe fare qualcosa di simile:

=Fields.Dataset1.Field/Fields.Dataset2.Field 

risposta

17

È possibile ottenere ciò specificando l'ambito de 'campi in questo modo:

=First(Fields!fieldName_A.Value, "Dataset1")/First(Fields!fieldName_B.Value, "Dataset2") 

Supponendo A è 10 e B è 2 e sono di tipo numerico, quindi si avrà il risultato di 5 quando il report esegue il rendering.

Quando si è nel Generatore di espressioni è possibile scegliere Categoria: set di dati, il set di dati desiderato evidenziate alla Voce: e quindi fare doppio clic sul campo desiderato in valore: e apparirà nella stringa di espressione con lo scopo aggiunto.

Utilizzando stessa logica è possibile concatenare due campi in questo modo:

=First(Fields!fieldName_A.Value, "Dataset1") & “ “ & First(Fields!fieldName_B.Value, "Dataset2") 
+0

Grazie. Questo è esattamente ciò di cui avevo bisogno. – Zolt

3

Come PerPlexSystem scrive, asuming desideri solo confrontare il primo valore da un set di dati con i valori da un altro insieme di dati, è possibile utilizzare la funzione First .

Tuttavia, se si desidera confrontare i valori di ogni riga di un set di dati con i valori di ciascuna riga di un altro set di dati, sarà necessario utilizzare un sottoreport - vedere here per ulteriori dettagli.

+0

o se non si sopportano i problemi causati dai sottoreport, come problemi di allineamento e le sfumature delle differenze SSRS nel rendering, è possibile utilizzare il metodo = LookupSet() nelle espressioni filtro. –

0

Un'altra opzione è utilizzare un parametro come variabile. Questo è utile se si desidera creare un campo calcolato in uno dei set di dati. Ciò si applica meglio quando il valore del parametro proviene da un set di dati con un singolo record.

Problemi correlati