Filtro dei dati del report nel report (Generatore report 2.0)

I filtri consentono di controllare i dati da visualizzare ed elaborare in un report. È possibile specificare filtri per un set di dati, un'area dati o un gruppo, in qualsiasi combinazione.

Se possibile, filtrare i dati nell'origine dati prima che vengano recuperati per un report modificando la query in modo da includere parametri di query per limitare i dati da recuperare. Per ulteriori informazioni, vedere Applicazione di filtri ai dati del report all'origine (Generatore report 2.0).

Quando non è possibile filtrare i dati nell'origine, specificare i filtri per gli elementi del report. Utilizzare, ad esempio, i filtri di report quando l'origine dati non supporta parametri di query o quando è necessario eseguire stored procedure e non è possibile modificare la query o quando lo snapshot di un report con parametri visualizza dati personalizzati per utenti diversi.

Scelta della posizione in cui impostare un filtro

Determinare la posizione in cui impostare un filtro in base all'effetto che si desidera ottenere nel report. In fase di esecuzione, il componente Elaborazione report applica i filtri prima al set di dati, quindi all'area dati e infine ai gruppi procedendo dall'alto verso il basso in ogni gerarchia di gruppi. In una tabella, una matrice e un elenco i filtri per gruppi di righe, gruppi di colonne e gruppi adiacenti vengono applicati in modo indipendente. Anche in un grafico i filtri per gruppi di categorie e gruppi di serie vengono applicati in modo indipendente. Quando il componente Elaborazione report applica il filtro, tutte le equazioni di filtro vengono applicate nell'ordine con cui sono definite nella pagina Filtro della finestra di dialogo Proprietà per ogni elemento del report. Ciò equivale a combinarle con le operazioni AND booleane.

Nell'elenco seguente viene confrontato l'effetto dell'impostazione dei filtri su elementi del report differenti:

  • Set di dati   Impostare un filtro sul set di dati quando si desidera filtrare nello stesso modo una o più aree dati associate a un singolo set di dati. Impostare, ad esempio, il filtro sul set di dati associato sia a una tabella che visualizza dati di vendita che a un grafico che visualizza gli stessi dati.

  • Area dati   Impostare un filtro sull'area dati se si desidera che una o più aree dati associate a un singolo set di dati forniscano una vista differente del set di dati. Impostare, ad esempio, il filtro su un'area dati della tabella per visualizzare i primi dieci negozi per vendite e un'altra area dati della tabella per visualizzare gli ultimi dieci negozi per vendite nello stesso report.

  • Gruppi di righe o colonne in un'area dati Tablix   Impostare un filtro su un gruppo quando si desidera includere o escludere determinati valori per un'espressione di raggruppamento, in modo da controllare i valori di gruppo da visualizzare nella tabella, nella matrice o nell'elenco.

  • Gruppo di dettagli in un'area dati Tablix   Impostare un filtro sul gruppo di dettagli quando si dispone di più gruppi di dettagli per un'area dati e si desidera visualizzare in ciascun gruppo un set di dati differente del set di dati.

  • Gruppi di serie o di categorie in un'area dati del grafico   Impostare un filtro su un gruppo di serie o di categorie quando si desidera includere o escludere determinati valori per un'espressione di raggruppamento, in modo da controllare i valori da visualizzare nel grafico.

Creazione di un'equazione di filtro

In fase di esecuzione, il componente Elaborazione report converte il valore nel tipo di dati specificato, quindi utilizza l'operatore specificato per confrontare l'espressione e il valore. Nell'elenco seguente sono descritte le singole parti dell'equazione di filtro:

  • Espressione   Definisce l'elemento al quale viene applicato il filtro. In genere, corrisponde a un campo del set di dati.

  • Tipo di dati   Specifica il tipo di dati da utilizzare quando l'equazione di filtro viene valutata dal componente Elaborazione report in fase di esecuzione. Il tipo di dati che si seleziona deve essere uno dei tipi di dati supportati dallo schema di definizione del report.

  • Operatore   Definisce la modalità di confronto delle due parti dell'equazione di filtro.

  • Valore   Definisce l'espressione da utilizzare nel confronto.

Nelle sezioni seguenti sono descritte le singole parti dell'equazione di filtro. Per esempi di equazioni di filtro, vedere Esempi di equazioni di filtro (Generatore report 2.0).

Espressione

Quando l'equazione di filtro viene valutata dal componente Elaborazione report in fase di esecuzione, i tipi di dati per l'espressione e il valore devono essere identici. Il tipo di dati del campo selezionato per Espressione viene determinato dall'estensione per l'elaborazione dati o dal provider di dati utilizzato per recuperare i dati dall'origine dati. Il tipo di dati dell'espressione immessa per Valore viene determinato dai valori predefiniti di Reporting Services. Le opzioni disponibili per il tipo di dati sono determinate dai tipi di dati supportati per una definizione del report. I valori del database potrebbero essere convertiti dal provider di dati in un tipo CLR. Per ulteriori informazioni, vedere Informazioni sui set di dati del report (Generatore report 2.0).

Tipo di dati

Perché il componente Elaborazione report possa confrontare due valori, è necessario che i tipi di dati siano identici. Nella tabella seguente è elencato il mapping tra tipi di dati CLR e tipi di dati della definizione del report. I dati recuperati da un'origine dati potrebbero essere convertiti in un tipo di dati diverso da quello dei dati del report. Per ulteriori informazioni, vedere Informazioni sui set di dati del report (Generatore report 2.0).

Tipo di dati dello schema di definizione del report

Tipi CLR

Boolean

Boolean

DateTime

DateTime, DateTimeOffset

Integer

Int16, Int32, UInt16, Byte, SByte

Float

Single, Double, Decimal

Text

String, Char, GUID, Timespan

Quando è necessario specificare un tipo di dati, è possibile indicare la propria conversione nella parte Value dell'espressione.

Operatore

Nella tabella seguente sono elencati gli operatori che è possibile utilizzare in un'equazione di filtro. Viene inoltre fornita la descrizione delle azioni eseguite dal componente Elaborazione report per valutare l'equazione di filtro.

Operatore

Azione

Equal, Like, NotEqual, GreaterThan, GreaterThanOrEqual, LessThan, LessThanOrEqual

Confronta l'espressione con un valore.

TopN, BottomN

Confronta l'espressione con un valore Integer.

TopPercent, BottomPercent

Confronta l'espressione con un valore Integer o Float.

Between

Verifica se l'espressione è compresa tra due valori (inclusi).

In

Verifica se l'espressione è contenuta in un set di valori.

Valore

L'espressione Value specifica la parte finale dell'equazione di filtro. Il componente Elaborazione report converte l'espressione valutata nel tipo di dati specificato dall'utente, quindi valuta l'intera equazione di filtro per determinare se i dati specificati in Espressione passano attraverso il filtro.

Per eseguire la conversione in un tipo di dati diverso da un tipo di dati CLR standard, è necessario modificare l'espressione in modo da eseguire una conversione esplicita in un tipo di dati. È possibile utilizzare le funzioni di conversione elencate nella finestra di dialogo Espressione in Funzioni comuni, Conversione. Ad esempio, per un campo ListPrice che rappresenta i dati archiviati come tipo di dati money in un'origine dati di SQL Server, l'estensione per l'elaborazione dati restituisce il valore di campo come tipo di dati System..::..Decimal. Per impostare un filtro in modo da utilizzare solo i valori maggiori di 50000.00 nella valuta del report, convertire il valore in Decimal mediante l'espressione =CDec(50000.00).

Questo valore può inoltre includere un riferimento di parametro per consentire la selezione interattiva di un valore in base al quale applicare un filtro. Per ulteriori informazioni, vedere Esempi di equazioni di filtro (Generatore report 2.0).