Aggiungere filtri per set di dati, aree dati e gruppiAdd Dataset Filters, Data Region Filters, and Group Filters

In un report un filtro è una parte di un set di dati, di un'area dati o di un gruppo di aree dati che viene creato per limitare i dati utilizzati nel report.In a report, a filter is a part of a dataset, a data region, or a data region group that you create to limit the data that is used in the report. I filtri consentono di controllare i dati del report se non è possibile modificare la query del set di dati, ad esempio se si utilizza un set di dati condiviso.Filters are a way to help you control report data if you cannot change the dataset query, for example, if you are using a shared dataset.

I filtri consentono di controllare i dati da visualizzare ed elaborare in un report.Filters help you control which data is displayed and processed in a report. È possibile specificare filtri per un set di dati, un'area dati o un gruppo, in qualsiasi combinazione.You can specify filters for a dataset, a data region, or a group, in any combination.

Per altre informazioni, vedere Aggiungere un filtro a un set di dati (Generatore report e SSRS) ed Esempi di equazioni di filtro (Generatore report e SSRS).For more information, see Add a Filter to a Dataset (Report Builder and SSRS) and Filter Equation Examples (Report Builder and SSRS).

Nota

È possibile creare e modificare file di definizioni report impaginati (con estensione rdl) in Generatore report e in Progettazione report di SQL Server Data Tools.You can create and modify paginated report definition (.rdl) files in Report Builder and in Report Designer in SQL Server Data Tools. Ogni ambiente di creazione offre modalità differenti per creare, aprire e salvare report ed elementi correlati.Each authoring environment provides different ways to create, open, and save reports and related items.

Scelta del momento in cui impostare un filtroChoosing When to Set a Filter

Quando non è possibile filtrare i dati nell'origine, specificare i filtri per gli elementi del report.Specify filters for report items when you cannot filter data at the source. 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.For example, use report filters when the data source does not support query parameters, or you must run stored procedures and cannot modify the query, or a parameterized report snapshot displays customized data for different users.

È possibile filtrare i dati di un report prima o dopo averli recuperati da un set di dati del report.You can filter report data before or after it is retrieved for a report dataset. Per filtrare i dati prima che vengano recuperati, modificare la query per ogni set di dati.To filter data before it is retrieved, change the query for each dataset. Quando si filtrano nella query, i dati vengono filtrati nell'origine dei dati in modo da ridurre la quantità di dati da recuperare ed elaborare in un report.When you filter data in the query, you filter data at the data source, which reduces the amount data that must be retrieved and processed in a report. Per filtrare i dati dopo che sono stati recuperati, creare espressioni di filtro nel report.To filter data after it is retrieved, create filter expressions in the report. È possibile impostare espressioni di filtro per un set di dati, un'area dati o un gruppo, inclusi i gruppi di dettaglio.You can set filter expressions for a dataset, a data region, or a group, including detail groups. È anche possibile includere parametri nelle espressioni di filtro, per consentire di filtrare i dati per valori o utenti specifici, ad esempio applicando un filtro su un valore che identifica l'utente che visualizza il report.You can also include parameters in filter expressions, providing a way to filter data for specific values or for specific users, for example, filtering on a value that identifies the user viewing the report.

Scelta della posizione in cui impostare un filtroChoosing Where to Set a Filter

Determinare la posizione in cui impostare un filtro in base all'effetto che si desidera ottenere nel report.Determine where you want to set a filter by the effect you want to achieve in your 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.At run time, the report processor applies filters in the following order: on the dataset, and then on the data region, and then on groups from the top down in each group hierarchy. 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.On a table, matrix, and list, filters for row groups, column groups, and adjacent groups are applied independently. Anche in un grafico i filtri per gruppi di categorie e gruppi di serie vengono applicati in modo indipendente.On a chart, filters for category groups and series groups are applied independently. Quando l'elaboratore di 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 unirle alle operazioni AND booleane.When the report processor applies the filter, all filter equations are applied in the order they are defined on the Filter page of the Properties dialog box for each report item, which is the equivalent of combining them with Boolean AND operations.

Nell'elenco seguente viene confrontato l'effetto dell'impostazione dei filtri su elementi del report differenti:The following list compares the effect of setting filters on different report items:

  • Set di dati Impostare un filtro sul set di dati quando si vuole filtrare nello stesso modo una o più aree dati associate a un singolo set di dati.On the dataset Set a filter on the dataset when you want one or more data regions that are bound to a single dataset to be filtered in the same way. 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.For example, set the filter on the dataset that is bound to both a table that displays sales data and a chart that displays the same data.

  • Area dati Impostare un filtro sull'area dati affinché una o più aree dati associate a un singolo set di dati forniscano una vista diversa del set di dati.On the data region Set a filter on the data region when you want one or more data regions that are bound to a single dataset to provide a different view of the dataset. 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.For example, set the filter on one Table data region to display the top ten stores for sales and a different Table data region to display the bottom ten stores for sales in the same report.

  • Gruppi di righe o colonne in un'area dati Tablix Impostare un filtro su un gruppo quando si vuole 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.On the row or column groups in a Tablix data region Set a filter on a group when you want to include or exclude certain values for a group expression to control which group values appear in the table, matrix, or list.

  • 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 intende visualizzare in ogni gruppo un set di dati diverso del set di dati.On the details group in a Tablix data region Set a filter on the details group when you have multiple detail groups for a data region and want each detail group to display a different set of data from the dataset.

  • 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 vuole includere o escludere determinati valori per un'espressione di raggruppamento, in modo da controllare i valori da visualizzare nel grafico.On the series or category groups in a Chart data region Set a filter on a series or category group when you want to include or exclude certain values for a group expression to control which values appear in the chart.

    Torna all'inizioBack to Top

Informazioni su un'equazione di filtroUnderstanding a Filter Equation

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.At run time, the report processor converts the value to the specified data type, and then uses the specified operator to compare the expression and value. Nell'elenco seguente sono descritte le singole parti dell'equazione di filtro:The following list describes each part of the filter equation:

  • Espressione Definisce l'elemento al quale viene applicato il filtro.Expression Defines what you are filtering on. In genere, corrisponde a un campo del set di dati.Typically, this is a dataset field.

  • Tipo di dati Specifica il tipo di dati da usare quando l'equazione di filtro viene valutata dall'elaboratore di report in fase di esecuzione.Data Type Specifies the data type to use when the filter equation is evaluated at run time by the report processor. Il tipo di dati che si seleziona deve essere uno dei tipi di dati supportati dallo schema di definizione del report.The data type you select must be one of the data types supported by the report definition schema.

  • Operatore Definisce la modalità di confronto delle due parti dell'equazione di filtro.Operator Defines how to compare the two parts of the filter equation.

  • Valore Definisce l'espressione da usare nel confronto.Value Defines the expression to use in the comparison.

    Nelle sezioni seguenti sono descritte le singole parti dell'equazione di filtro.The following sections describe each part of the filter equation.

EspressioneExpression

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.When the filter equation is evaluated by the report processor at run time, the data types for the expression and the value must be the same. Il tipo di dati del campo selezionato per Espressione viene determinato dall'estensione per l'elaborazione dati o dal provider di dati usato per recuperare i dati dall'origine dati.The data type of the field you select for Expression is determined by the data processing extension or data provider that is used to retrieve data from the data source. Il tipo di dati dell'espressione immessa per Valore viene determinato dai valori predefiniti di Reporting ServicesReporting Services .The data type of the expression that you enter for Value is determined by Reporting ServicesReporting Services defaults. Le opzioni disponibili per il tipo di dati sono determinate dai tipi di dati supportati per una definizione del report.The choices for data type are determined by the data types supported for a report definition. I valori del database potrebbero essere convertiti dal provider di dati in un tipo CLR.Values from the database might be converted by the data provider to a CLR type.

Tipo di datiData Type

Perché il componente Elaborazione report possa confrontare due valori, è necessario che i tipi di dati siano identici.For the report processor to compare two values, the data types must be the same. Nella tabella seguente è elencato il mapping tra tipi di dati CLR e tipi di dati della definizione del report.The following table lists the mapping between CLR data types and report definition data types. I dati recuperati da un'origine dati potrebbero essere convertiti in un tipo di dati diverso da quello dei dati del report.Data that you retrieve from a data source might be converted to a data type that is different by the time it is report data.

Tipo di dati dello schema di definizione del reportReport Definition Schema Data Type Tipi CLRCLR Type(s)
BooleanBoolean BooleanBoolean
DateTimeDateTime DateTime, DateTimeOffsetDateTime, DateTimeOffset
Valore interoInteger Int16, Int32, UInt16, Byte, SByteInt16, Int32, UInt16, Byte, SByte
FloatFloat Single, Double, DecimalSingle, Double, Decimal
TextText String, Char, GUID, TimespanString, Char, GUID, Timespan

Quando è necessario specificare un tipo di dati, è possibile indicare la propria conversione nella parte Valore dell'espressione.In cases where you must specify a data type, you can specify your own conversion in the Value part of the expression.

OperatoreOperator

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.The following table lists the operators that you can use in a filter equation, and what the report processor uses to evaluate the filter equation.

OperatoreOperator AzioneAction
Equal, Like, NotEqual, GreaterThan, GreaterThanOrEqual, LessThan, LessThanOrEqualEqual, Like, NotEqual, GreaterThan, GreaterThanOrEqual, LessThan, LessThanOrEqual Confronta l'espressione con un valore.Compares the expression to one value.
TopN, BottomNTopN, BottomN Confronta l'espressione con un valore intero .Compares the expression to one Integer value.
TopPercent, BottomPercentTopPercent, BottomPercent Confronta l'espressione con un valore intero o float .Compares the expression to one Integer or Float value.
Compreso traBetween Verifica se l'espressione è compresa tra due valori (inclusi).Tests whether the expression is between two values, inclusive.
InIn Verifica se l'espressione è contenuta in un set di valori.Tests whether the expression is contained in a set of values.

ValoreValue

L'espressione Valore specifica la parte finale dell'equazione di filtro.The Value expression specifies the final part of the filter equation. 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.The report processor converts the evaluated expression to the data type that you specified, and then evaluates the entire filter equation to determine if the data specified in Expression passes through the filter.

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.To convert to a data type that is not a standard CLR data type, you must modify the expression to explicitly convert to a data type. È possibile usare le funzioni di conversione elencate nella finestra di dialogo Espressione in Funzioni comuni, Conversione.You can use the conversion functions listed in the Expression dialog box under Common Functions, Conversion. Ad esempio, per un campo ListPrice che rappresenta i dati archiviati come tipo di dati money in un'origine dati di SQL ServerSQL Server , l'estensione per l'elaborazione dati restituisce il valore del campo come tipo di dati Decimal .For example, for a field ListPrice that represents data that is stored as a money data type on a SQL ServerSQL Server data source, the data processing extension returns the field value as a Decimal data type. Per impostare un filtro in modo da usare solo i valori maggiori di 50000,00=CDec(50000.00) nella valuta del report, convertire il valore in Decimal mediante l'espressione .To set a filter to use only values greater than $50000.00 in the report currency, convert the value to Decimal by using the expression =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.This value can also include a parameter reference to allow a user to interactively select a value on which to filter.

Torna all'inizioBack to Top

Vedere ancheSee Also

Utilizzo delle espressioni nei report (Generatore report e SSRS) Expression Uses in Reports (Report Builder and SSRS)
Parametri report (Generatore report e Progettazione report)Report Parameters (Report Builder and Report Designer)