Aggiunta di parametri di propagazione a un report (Generatore report e SSRS)Add Cascading Parameters to a Report (Report Builder and SSRS)

I parametri di propagazione consentono di gestire quantità elevate di dati del report.Cascading parameters provide a way of managing large amounts of report data. È possibile definire un set di parametri correlati in modo che l'elenco dei valori di un parametro dipenda dal valore scelto per un altro parametro.You can define a set of related parameters so that the list of values for one parameter depends on the value chosen in another parameter. Il primo parametro può essere ad esempio indipendente e presentare un elenco di categorie di prodotti.For example, the first parameter is independent and might present a list of product categories. Quando l'utente seleziona una categoria, il secondo parametro dipende dal valore del primo parametro.When the user selects a category, the second parameter is dependent on the value of the first parameter. I relativi valori vengono aggiornati con un elenco di sottocategorie all'interno della categoria scelta.Its values are updated with a list of subcategories within the chosen category. Quando l'utente visualizza il report, per filtrarne i dati vengono utilizzati sia i valori dei parametri di categoria che di sottocategoria.When the user views the report, the values for both the category and subcategory parameters are used to filter report data.

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.

Per creare parametri di propagazione, è innanzitutto necessario definire la query del set di dati e includere un parametro di query per ogni parametro di propagazione necessario.To create cascading parameters, you define the dataset query first and include a query parameter for each cascading parameter that you need. È inoltre necessario creare un set di dati distinto per ogni parametro di propagazione allo scopo di fornire i valori disponibili.You must also create a separate dataset for each cascading parameter to provide available values. Per ulteriori informazioni, vedere aggiungere, modificare o eliminare valori disponibili per un parametro di Report ( Generatore report e SSRS ) .For more information, see Add, Change, or Delete Available Values for a Report Parameter (Report Builder and SSRS).

Per i parametri di propagazione l'ordine è importante in quanto la query del set di dati relativa a un parametro riportato più avanti nell'elenco include un riferimento a ciascun parametro riportato in precedenza.Order is important for cascading parameters because the dataset query for a parameter later in the list includes a reference to each parameter that is earlier in the list. In fase di esecuzione l'ordine dei parametri nel riquadro dei dati del report determina l'ordine in cui le query del parametro vengono visualizzate nel report e quindi l'ordine in cui un utente sceglie ogni valore del parametro successivo.At run time, the order of the parameters in the Report Data pane determines the order in which the parameter queries appear in the report, and therefore, the order in which a user chooses each successive parameter value.

Per informazioni sulla creazione di parametri a cascata con più valori includendo la caratteristica Seleziona tutto, vedere How to have a Select All Multi-Value Cascading Parameter(Come creare un parametro a cascata multivalore Seleziona tutto).For information about creating cascading parameters with multiple values and including the Select All feature, see How to have a Select All Multivalue Cascading Parameter.

  1. Nel riquadro dei dati del report fare clic con il pulsante destro del mouse su un'origine dati e quindi scegliere Aggiungi set di dati.In the Report Data pane, right-click a data source, and then click Add Dataset.

  2. Nella casella Nomedigitare il nome del set di dati.In Name, type the name of the dataset.

  3. In Origine datiscegliere il nome dell'origine dati o fare clic su Nuova per crearne una.In Data source, choose the name of the data source or click New to create one.

  4. In Tipo di queryscegliere il tipo di query per l'origine dati selezionata.In Query type, choose the type of query for the selected data source. In questo argomento si presuppone che venga usato il tipo di query Testo .In this topic, query type Text is assumed.

  5. In Querydigitare la query da usare per recuperare i dati per questo report.In Query, type the query to use to retrieve data for this report. La query deve includere le parti seguenti:The query must include the following parts:

    1. Un elenco di campi dell'origine dati.A list of data source fields. In un'istruzione Transact-SQLTransact-SQL , ad esempio, l'istruzione SELECT specifica un elenco di nomi di colonne del database di una determinata tabella o vista.For example, in a Transact-SQLTransact-SQL statement, the SELECT statement specifies a list of database column names from a given table or view.

    2. Un parametro della query per ogni parametro di propagazione.One query parameter for each cascading parameter. Un parametro della query limita i dati recuperati dall'origine dati specificando determinati valori da includere o escludere dalla query.A query parameter limits the data retrieved from the data source by specifying certain values to include or exclude from the query. In genere, i parametri della query si trovano in una clausola di restrizione nella query.Typically, query parameters occur in a restriction clause in the query. In un'istruzione SELECT Transact-SQLTransact-SQL , ad esempio, i parametri della query si trovano nella clausola WHERE.For example, in a Transact-SQLTransact-SQL SELECT statement, query parameters occur in the WHERE clause. Per altre informazioni, vedere "Filtraggio delle righe usando WHERE e HAVING" nella documentazione di Reporting ServicesReporting Services inclusa nella documentazione online di SQL ServerFor more information, see "Filtering Rows by Using WHERE and HAVING" in the Reporting ServicesReporting Services documentation in SQL Server Books Online.

  6. Fare clic su Esegui (!).Click Run (!). Dopo aver incluso i parametri della query e aver eseguito la query, verranno creati automaticamente i parametri del report corrispondenti ai parametri della query.After you include query parameters and then run the query, report parameters that correspond to the query parameters are automatically created.

    Nota

    L'ordine in cui si presentano i parametri della query quando si esegue per la prima volta una query determina anche l'ordine in cui vengono creati nel report.The order of query parameters the first time you run a query determines the order that they are created in the report. Per modificare l'ordine, vedere modificare l'ordine di un parametro di Report ( Generatore report e SSRS )To change the order, see Change the Order of a Report Parameter (Report Builder and SSRS)

  7. Fare clic su OK.Click OK.

    Procedere quindi alla creazione di un set di dati che specifichi i valori del parametro indipendente.Next, you will create a dataset that provides the values for the independent parameter.

Per creare un set di dati in modo da specificare i valori di un parametro indipendenteTo create a dataset to provide values for an independent parameter

  1. Nel riquadro dei dati del report fare clic con il pulsante destro del mouse su un'origine dati e quindi scegliere Aggiungi set di dati.In the Report Data pane, right-click a data source, and then click Add Dataset.

  2. Nella casella Nomedigitare il nome del set di dati.In Name, type the name of the dataset.

  3. In Origine dativerificare che il nome sia quello dell'origine dati selezionata nel passaggio 1.In Data source, verify the name is the name of the data source you chose in step 1.

  4. In Tipo di queryscegliere il tipo di query per l'origine dati selezionata.In Query type, choose the type of query for the selected data source. In questo argomento si presuppone che venga usato il tipo di query Testo .In this topic, query type Text is assumed.

  5. In Querydigitare la query da usare per recuperare i valori per questo parametro.In Query, type the query to use to retrieve values for this parameter. In genere le query per i parametri indipendenti non contengono parametri di query.Queries for independent parameters typically do not contain query parameters. Per creare, ad esempio, una query per un parametro che specifichi tutti i valori di categoria, è possibile usare un'istruzione Transact-SQLTransact-SQL simile alla seguente:For example, to create a query for a parameter that provides all category values, you might use a Transact-SQLTransact-SQL statement similar to the following:

    SELECT DISTINCT <column name> FROM <table>  
    

    Il comando SELECT DISTINCT rimuove i valori duplicati dal set di risultati in modo che sia possibile ottenere tutti i valori univoci dalla colonna specificata nella tabella indicata.The SELECT DISTINCT command removes duplicate values from the result set so that you get each unique value from the specified column in the specified table.

    Fare clic su Esegui (!).Click Run (!). Nel set di risultati sono riportati i valori disponibili per il primo parametro.The result set shows the values that are available for this first parameter.

  6. Fare clic su OK.Click OK.

    Impostare quindi le proprietà del primo parametro in modo da utilizzare questo set di dati per popolarne i valori disponibili in fase di esecuzione.Next, you will set the properties of the first parameter to use this dataset to populate its available values at run-time.

Per impostare i valori disponibili per un parametro di reportTo set available values for a report parameter

  1. Nella cartella Parametri del riquadro dei dati del report fare clic con il pulsante destro del mouse sul primo parametro e quindi scegliere Proprietà parametri.In the Report Data pane, in the Parameters folder, right-click the first parameter, and then click Parameter Properties.

  2. Nella casella Nomeverificare che il nome del parametro sia corretto.In Name, verify that the name of the parameter is correct.

  3. Fare clic su Valori disponibili.Click Available Values.

  4. Fare clic su Ottieni valori da una query.Click Get values from a query. Verranno visualizzati tre campi.Three fields appear.

  5. Nell'elenco a discesa di Set di datifare clic sul nome del set di dati creato nella procedura precedente.In Dataset, from the drop-down list, click the name of the dataset you created in the previous procedure.

  6. Nel campo Valore fare clic sul nome del campo contenente il valore del parametro.In Value field, click the name of the field that provides the parameter value.

  7. Nel campo Etichetta fare clic sul nome del campo che fornisce l'etichetta del parametro.In Label field, click the name of the field that provides the parameter label.

  8. Fare clic su OK.Click OK.

    Procedere quindi alla creazione di un set di dati che specifichi i valori di un parametro dipendente.Next, you will create a dataset that provides the values for a dependent parameter.

Per creare un set di dati in modo da specificare i valori di un parametro dipendenteTo create a dataset to provide values for a dependent parameter

  1. Nel riquadro dei dati del report fare clic con il pulsante destro del mouse su un'origine dati e quindi scegliere Aggiungi set di dati.In the Report Data pane, right-click a data source, and then click Add Dataset.

  2. Nella casella Nomedigitare il nome del set di dati.In Name, type the name of the dataset.

  3. In Origine dativerificare che il nome sia quello dell'origine dati selezionata nel passaggio 1.In Data source, verify the name is the name of the data source you chose in step 1.

  4. In Tipo di queryscegliere il tipo di query per l'origine dati selezionata.In Query type, choose the type of query for the selected data source. In questo argomento si presuppone che venga usato il tipo di query Testo .In this topic, query type Text is assumed.

  5. In Querydigitare la query da usare per recuperare i valori per questo parametro.In Query, type the query to use to retrieve values for this parameter. In genere le query per i parametri dipendenti includono parametri di query per ogni parametro dal quale dipende questo parametro.Queries for dependent parameters typically include query parameters for each parameter that this parameter is dependent on. Per creare, ad esempio, una query per un parametro che specifichi tutti i valori di sottocategoria (parametro dipendente) per una categoria (parametro indipendente), è possibile usare un'istruzione Transact-SQLTransact-SQL simile alla seguente:For example, to create a query for a parameter that provides all subcategory (dependent parameter) values for a category (independent parameter), you might use a Transact-SQLTransact-SQL statement similar to the following:

    SELECT DISTINCT Subcategory FROM <table>   
    WHERE (Category = @Category)  
    

    Nella clausola WHERE Category è il nome di un campo da <tabella > e @Category è un parametro di query.In the WHERE clause, Category is the name of a field from <table> and @Category is a query parameter. Questa istruzione produce un elenco di sottocategorie per la categoria specificata in @Category.This statement produces a list of subcategories for the category specified in @Category. In fase di esecuzione tale valore verrà compilato con il valore selezionato dall'utente per il parametro del report con nome identico.At run time, this value will be filled in with the value that the user chooses for the report parameter that has the same name.

  6. Fare clic su OK.Click OK.

    Impostare quindi le proprietà del secondo parametro in modo da utilizzare questo set di dati per popolarne i valori disponibili in fase di esecuzione.Next, you will set the properties of the second parameter to use this dataset to populate its available values at run time.

Per impostare i valori disponibili per un parametro di reportTo set available values for a report parameter

  1. Nella cartella Parametri del riquadro dei dati del report fare clic con il pulsante destro del mouse sul primo parametro e quindi scegliere Proprietà parametri.In the Report Data pane, in the Parameters folder, right-click the first parameter, and then click Parameter Properties.

  2. Nella casella Nomeverificare che il nome del parametro sia corretto.In Name, verify that the name of the parameter is correct.

  3. Fare clic su Valori disponibili.Click Available Values.

  4. Fare clic su Ottieni valori da una query.Click Get values from a query.

  5. Nell'elenco a discesa di Set di datifare clic sul nome del set di dati creato nella procedura precedente.In Dataset, from the drop-down list, click the name of the dataset you created in the previous procedure.

  6. Nel campo Valore fare clic sul nome del campo contenente il valore del parametro.In Value field, click the name of the field that provides the parameter value.

  7. Nel campo Etichetta fare clic sul nome del campo che fornisce l'etichetta del parametro.In Label field, click the name of the field that provides the parameter label.

  8. Fare clic su OK.Click OK.

Per verificare i parametri di propagazioneTo test the cascading parameters

  1. Fare clic su Esegui.Click Run.

  2. Scegliere un valore nell'elenco a discesa del primo parametro indipendente.From the drop-down list for the first, independent parameter, choose a value.

    Il componente Elaborazione report esegue la query del set di dati per il parametro successivo e passa il valore scelto per il primo parametro.The report processor runs the dataset query for the next parameter and passes it the value you chose for the first parameter. L'elenco a discesa per il secondo parametro viene popolato con i valori disponibili basati sul valore del primo parametro.The drop-down list for the second parameter is populated with the available values based on the first parameter value.

  3. Nell'elenco a discesa del secondo parametro dipendente scegliere un valore.From the drop-down list for the second, dependent parameter, choose a value.

    In seguito alla selezione dell'ultimo parametro il report non viene eseguito automaticamente in modo da consentire all'utente di modificare la scelta effettuata.The report does not run automatically after you choose the last parameter so that you can change your choice.

  4. Fare clic su Visualizza report.Click View Report. La visualizzazione del report verrà aggiornata in base ai parametri scelti.The report updates the display based on the parameters you have chosen.

Vedere ancheSee Also

Aggiungere, modificare o eliminare un parametro di report (Generatore report e SSRS) Add, Change, or Delete a Report Parameter (Report Builder and SSRS)
I parametri di report ( Generatore report e progettazione Report ) Report Parameters (Report Builder and Report Designer)
Esercitazione: Aggiungere un parametro di Report ( Generatore report ) Tutorial: Add a Parameter to Your Report (Report Builder)
Esercitazioni di Generatore report Report Builder Tutorials
Aggiungere i filtri di set di dati, i filtri di area dati e i filtri di gruppo ( Generatore report e SSRS ) Add Dataset Filters, Data Region Filters, and Group Filters (Report Builder and SSRS)
Report di set di dati incorporati e condivisi ( Generatore report e SSRS )Report Embedded Datasets and Shared Datasets (Report Builder and SSRS)