Esercitazione: Aggiungere un parametro al report (Generatore di report)

In questa esercitazione si aggiunge un parametro in un report impaginato di Reporting Services per consentire ai lettori del report di filtrare i dati in base a uno o più valori.

Screenshot that shows you can add a parameter to a paginated report.

I parametri di report vengono creati automaticamente per ogni parametro di query incluso in una query del set di dati. Il tipo di dati determina il modo in cui il parametro viene presentato sulla barra degli strumenti della visualizzazione report.

Nota

In questa esercitazione, i passaggi per la procedura guidata sono consolidati in un'unica procedura. Per istruzioni dettagliate su come selezionare un server di report, come scegliere un'origine dati e come creare un set di dati, vedere la prima esercitazione di questa serie: Esercitazione: Creazione di un report tabella semplice (Generatore di report).

Tempo stimato per il completamento dell'esercitazione: 25 minuti.

Requisiti

Per informazioni sui requisiti, vedere Prerequisiti per le esercitazioni (Generatore di report).

1. Creare un report matrice e un set di dati nella procedura guidata tabella o matrice

Creare un report matrice, un'origine dati e un set di dati.

Nota

Nella query di questa esercitazione sono contenuti i valori dei dati in modo che non sia necessaria un'origine dati esterna. Tale condizione rende tuttavia la query piuttosto lunga. In una query di un ambiente aziendale non sarebbe incluso alcun dato. Questo esempio è solo a scopo illustrativo.

Creare un nuovo report matrice

  1. Avviare Generatore report dal computer, dal portale Web di Reporting Services o in modalità integrata SharePoint.

    Si apre la finestra di dialogo Nuovo report o set di dati .

    Se la finestra di dialogo Nuovo report o set di dati non viene visualizzata, scegliere Nuovo dal menu >File.

  2. Nel riquadro sinistro assicurarsi che sia selezionata l'opzione Nuovo report .

  3. Nel riquadro di destra selezionare Creazione guidata tabella o matrice.

  4. Nella pagina Scegliere un set di dati fare clic su Crea un set di dati>Avanti.

  5. Nella pagina Scegliere una connessione a un'origine dei dati selezionare un'origine dati dall'elenco o passare al server di report per selezionarne una. Selezionare un'origine dati di tipo SQL Server.

  6. Selezionare Avanti.

    Potrebbe essere necessario immettere le credenziali.

  7. Nella pagina Progetta query selezionare Modifica come testo.

  8. Incollare la query seguente nel riquadro vuoto superiore:

    ;WITH CTE (StoreID, Subcategory, Quantity)   
    AS (  
    SELECT 200 AS StoreID, 'Digital SLR Cameras' AS Subcategory, 2002 AS Quantity  
    UNION SELECT  200 AS StoreID, 'Camcorders' AS Subcategory, 1954 AS Quantity  
    UNION SELECT  200 AS StoreID, 'Accessories' AS Subcategory, 1895 AS Quantity  
    UNION SELECT  199 AS StoreID, 'Digital Cameras' AS Subcategory, 1849 AS Quantity  
    UNION SELECT  306 AS StoreID, 'Digital SLR Cameras' AS Subcategory, 1579 AS Quantity  
    UNION SELECT  306 AS StoreID, 'Camcorders' AS Subcategory, 1561 AS Quantity  
    UNION SELECT  306 AS StoreID, 'Digital Cameras' AS Subcategory, 1553 AS Quantity  
    UNION SELECT  306 AS StoreID, 'Accessories' AS Subcategory, 1534 AS Quantity  
    UNION SELECT 307 AS StoreID, 'Accessories' AS Subcategory, 1755 AS Quantity  
    UNION SELECT 307 AS StoreID, 'Camcorders' AS Subcategory, 1631 AS Quantity  
    UNION SELECT 307 AS StoreID, 'Digital SLR Cameras' AS Subcategory, 1772 AS Quantity)  
    SELECT StoreID, Subcategory, Quantity  
    FROM CTE  
    

    Questa query combina i risultati di diverse istruzioni SELECT di Transact-SQL in un'espressione di tabella comune per specificare valori basati sui dati di vendita semplificati per le fotocamere del database di esempio Contoso. Le sottocategorie sono costituite da fotocamere digitali, fotocamere single lens reflex (SLR), cineprese e accessori.

  9. Sulla barra degli strumenti di Progettazione query, selezionare Esegui (!) per visualizzare i dati.

    Il set di risultati è costituito da 11 righe di dati in cui viene mostrata la quantità di articoli venduti per ogni sottocategoria in quattro punti vendita, illustrati nelle colonne seguenti: StoreID, Subcategory, Quantity. Il nome del punto vendita non fa parte del set di risultati. Più avanti in questa esercitazione, si cerca il nome del punto vendita che corrisponde all'identificatore del punto vendita in un set di dati separato.

    Questa query non contiene parametri di query. Vengono aggiunti più avanti in questa esercitazione.

  10. Selezionare Avanti.

2. Organizzare i dati e scegliere il layout nella procedura guidata

La procedura guidata offre una progettazione iniziale per la visualizzazione dei dati. Il riquadro di anteprima nella procedura guidata consente di visualizzare il risultato del raggruppamento di dati prima di completare la progettazione della tabella o della matrice.

Organizzare i dati in gruppi

  1. Nella pagina Disponi campi trascinare Subcategory in Gruppi di righe.

  2. Trascinare StoreID in Gruppi di colonne.

  3. Trascinare Quantity in Valori.

    I valori delle quantità vendute sono stati organizzati in righe raggruppate per sottocategoria, con una colonna per ogni punto vendita.

  4. Selezionare Avanti.

  5. Nella pagina Scegliere il layout in Opzioniverificare che la casella Mostra subtotali e totali complessivi sia selezionata.

    Quando si esegue il report, nell'ultima colonna viene mostrata la quantità totale di ogni sottocategoria per tutti i punti vendita mentre nell'ultima riga viene mostrata la quantità totale per tutte le sottocategorie per ogni punto vendita.

  6. Selezionare Avanti.

  7. Selezionare Fine.

    La matrice viene aggiunta all'area di progettazione. Nella matrice sono visualizzate tre colonne e tre righe. Il contenuto delle celle nella prima riga è Sottocategoria, [StoreID] e Totale. Nelle celle della seconda riga sono visualizzate le espressioni che rappresentano la sottocategoria, la quantità di articoli venduti per ogni punto vendita e la quantità totale per ogni sottocategoria per tutti i punti vendita. Nelle celle della riga finale è visualizzato il totale complessivo per ogni punto vendita.

    Screenshot of the matrix with the three columns and three rows.

  8. Selezionare la matrice, passare il puntatore sul bordo della prima colonna, fare clic sul quadratino di ridimensionamento ed espandere la larghezza della colonna.

    Screenshot of the matrix while expanding the column width.

  9. Selezionare Esegui per visualizzare l'anteprima del report.

Il report verrà eseguito nel server di report, con il titolo e l'ora di elaborazione del report visualizzati.

Screenshot of the report preview run on the report server.

Le intestazioni di colonna visualizzano l'identificatore ma non il nome del punto vendita. Più avanti in questa esercitazione, viene aggiunta un'espressione per cercare il nome del punto vendita in un set di dati che contiene la coppia identificatore/nome del punto vendita.

3. Aggiungere un parametro di query per creare un parametro di report

Quando si aggiunge un parametro di query a una query, in Generatore report viene creato automaticamente un parametro di report a valore singolo con proprietà predefinite per nome, messaggio di richiesta e tipo di dati.

Aggiungere un parametro di query

  1. Selezionare Progettazione per tornare alla visualizzazione della struttura.

  2. Nel riquadro dei dati del report espandere la cartella Set di dati , fare clic con il pulsante destro del mouse su DataSet1e quindi selezionare Query.

  3. Aggiungere la seguente clausola WHERE di Transact-SQL come ultima riga della query:

    WHERE StoreID = (@StoreID)  
    

    La clausola WHERE limita i dati recuperati all'identificatore del punto vendita specificato dal parametro di query @StoreID.

  4. Nella barra degli strumenti Progettazione query, selezionare Esegui (!). Viene aperta la finestra di dialogo Definisci parametri query nella quale viene richiesto un valore per il parametro di query @StoreID.

  5. In Valore parametro, immettere 200.

  6. Seleziona OK.

    Nel set di risultati vengono visualizzate le quantità vendute di accessori, cineprese e fotocamere SLR digitali per l'identificatore del punto vendita 200.

  7. Seleziona OK.

  8. Nel riquadro Dati report espandere la cartella Parametri .

É ora presente un parametro del report denominato @StoreID e un riquadro Parametri in cui è possibile visualizzare i parametri del report.

Screenshot of the StodeID field in the Report Data pane.

Non è visualizzato un riquadro Parametri? Nel menu Visualizza selezionare Parametri.

4. Modificare il tipo di dati e altre proprietà predefiniti per un parametro di report

Dopo aver creato un parametro di report, è possibile impostare i valori predefiniti per le proprietà.

Modificare il tipo di dati predefinito per un parametro di report

Per impostazione predefinita, il parametro creato ha il tipo di dati Text. Poiché l'identificatore del punto vendita è un intero, è possibile modificare il tipo di dati in Integer.

  1. Nel riquadro dei dati del report nel nodo Parametri fare clic con il pulsante destro del mouse su @StoreID e quindi selezionare Proprietà parametri.

  2. In Prompt, immettere Identificatore punto vendita? Questo testo viene visualizzato nella barra degli strumenti del visualizzatore di report quando si esegue il report.

  3. In Tipo di datiselezionare Integernell'elenco a discesa.

  4. Accettare i valori predefiniti rimanenti nella finestra di dialogo.

  5. Seleziona OK.

  6. Selezionare Esegui per visualizzare l'anteprima del report. Il visualizzatore di report visualizza il messaggio di richiesta Identificatore punto vendita? per @StoreID.

  7. Nella barra degli strumenti del visualizzatore di report, accanto a Store ID, immettere 200e quindi selezionare Visualizza report.

Screenshot of the report preview for Store ID 200.

4a. Aggiungere un set di dati per fornire i valori disponibili e i nomi visualizzati

Per assicurarsi che i lettori del report digitino solo valori validi per un parametro, è possibile creare un elenco a discesa di valori tra cui scegliere. I valori possono provenire da un set di dati o da un elenco che si specifica. I valori disponibili devono provenire da un set di dati con una query che non contiene un riferimento al parametro.

Creare un set di dati per i valori validi per un parametro

  1. Selezionare Progettazione per passare alla visualizzazione Progettazione.

  2. Nel riquadro Dati report fare clic con il pulsante destro del mouse sula cartella Datasets e quindi selezionare Aggiungi set di dati.

  3. In Nome, immettere Archivi.

  4. Scegliere Utilizzare un set di dati incorporato nel report.

  5. In Origine datiscegliere l'origine dati usata nella prima procedura dall'elenco a discesa.

  6. In Tipo di queryverificare che sia selezionata l'opzione Testo .

  7. In Queryincollare il testo seguente:

    SELECT 200 AS StoreID, 'Contoso Catalog Store' as StoreName  
    UNION SELECT 199 AS StoreID, 'Contoso North America Online Store' as StoreName  
    UNION SELECT 307 AS StoreID, 'Contoso Asia Online Store' as StoreName  
    UNION SELECT 306 AS StoreID, 'Contoso Europe Online Store' as StoreName  
    
  8. Seleziona OK.

    Nel riquadro Dati report sono visualizzati i campi StoreID e StoreName nel nodo del set di dati Punti vendita .

4b. Specificare i valori disponibili da visualizzare in un elenco

Dopo aver creato un set di dati per offrire i valori disponibili, modificare le proprietà del report per specificare il set di dati e il campo da usare per popolare l'elenco a discesa di valori validi nella barra degli strumenti del visualizzatore di report.

Fornire i valori disponibili per un parametro da un set di dati

  1. Nel riquadro dei dati del report fare clic con il pulsante destro del mouse sul parametro @StoreID e quindi selezionare Proprietà parametri.

  2. Selezionare Valori disponibilie quindi scegliere Ottieni valori da una query.

  3. In Set di dati, selezionare Punti vendita nell'elenco a discesa.

  4. In Campo valori, selezionare StoreID nell'elenco a discesa.

  5. In Campo etichette, selezionare StoreName nell'elenco a discesa. Il campo etichette consente di specificare il nome visualizzato per il valore.

  6. Selezionare Generale.

  7. In Prompt, modificare Identificatore punto vendita? in Nome punto vendita?

    I lettori del report effettuano ora la selezione da un elenco di nomi di punti vendita anziché un elenco di identificatori. Il tipo di dati del parametro rimane Integer perché il parametro si basa sull'identificatore del punto vendita, non sul nome.

  8. Seleziona OK.

  9. Visualizzare l'anteprima del report.

    Nella barra degli strumenti del visualizzatore di report, la casella di testo del parametro è ora un elenco a discesa denominato Selezionare un valore.

  10. Nell'elenco a discesa selezionare Contoso Catalog Store e quindi scegliere Visualizza report.

Nel report viene visualizzata la quantità venduta di accessori, cineprese e fotocamere SLR digitali per l'identificatore del punto vendita 200.

4c. Specificare un valore predefinito

È possibile specificare un valore predefinito per ciascun parametro in modo che il report venga eseguito automaticamente.

Per specificare un valore predefinito da un set di dati

  1. Passare alla Visualizzazione della struttura.

  2. Nel riquadro Dati report fare clic con il pulsante destro del mouse su @StoreID e quindi selezionare Proprietà parametri.

  3. Selezionare Valori predefiniti, quindi sscegliere Ottieni valori da una query.

  4. In Set di dati, selezionare Punti vendita nell'elenco a discesa.

  5. In Campo valori, selezionare StoreID nell'elenco a discesa.

  6. Seleziona OK.

  7. Visualizzare l'anteprima del report.

Per @StoreID, nel Visualizzatore di report viene visualizzato il valore "Contoso America del Nord Online Store" perché è il primo valore dal set di risultati per il set di dati Punti vendita. Nel report viene visualizzata la quantità venduta di fotocamere digitali per l'identificatore del punto vendita 199.

Specificare un valore predefinito personalizzato

  1. Passare alla Visualizzazione della struttura.

  2. Nel riquadro Dati report fare clic con il pulsante destro del mouse su @StoreID e quindi selezionare Proprietà parametri.

  3. Selezionare Valori predefiniti>Specifica valori>Aggiungi. Verrà aggiunta una nuova riga di valori.

  4. In Valore, immettere 200.

  5. Seleziona OK.

  6. Visualizzare l'anteprima del report.

Nel visualizzatore di report per @StoreIDviene visualizzato "Contoso Catalog Store" poiché si tratta del nome visualizzato per l'identificatore di punto vendita 200. Nel report viene visualizzata la quantità venduta di accessori, cineprese e fotocamere SLR digitali per l'identificatore del punto vendita 200.

4d. Cercare una coppia nome/valore

Un set di dati potrebbe contenere sia l'identificatore e che il campo del nome corrispondente. Quando si dispone solo di un identificatore, è possibile cercare il nome corrispondente in un set di dati creato che include coppie nome/valore.

Cercare un valore in un set di dati

  1. Passare alla Visualizzazione della struttura.

  2. Nell'area di progettazione nella matrice nell'intestazione di colonna della prima riga fare clic con il pulsante destro del mouse su [StoreID] e selezionare Espressione.

  3. Nel riquadro dell'espressione eliminare qualsiasi testo eccetto il segno di uguale (=) iniziale.

  4. In Categoria, espandere Funzioni comuni e selezionare Varie. Nel riquadro Elemento è visualizzato un set di funzioni.

  5. In Elemento fare doppio clic su Ricerca. Nel riquadro dell'espressione viene visualizzato =Lookup(. Nel riquadro Esempio viene visualizzato un esempio di sintassi di Lookup.

  6. Immettere l'espressione seguente:

    =Lookup(Fields!StoreID.Value,Fields!StoreID.Value,Fields!StoreName.Value,"Stores")      
    

    La funzione di ricerca accetta il valore per StoreID, lo cerca nel set di dati "Punti vendita" e restituisce il valore StoreName.

  7. Seleziona OK.

    Nell'intestazione di colonna del punto vendita è contenuto il testo visualizzato per un'espressione complessa: Expr.

  8. Visualizzare l'anteprima del report.

L'intestazione di colonna nella parte superiore di ogni colonna visualizza il nome del punto vendita anziché l'identificatore.

5. Visualizzare il valore del parametro selezionato nel report

Quando un lettore ha delle domande su un report, è utile sapere quali valori di parametri sono stati scelti. È possibile mantenere i valori selezionati dall'utente per ogni parametro nel report. Un modo consiste nel visualizzare i parametri in una casella di testo nel piè di pagina della pagina.

  1. Passare alla Visualizzazione della struttura.

  2. Fare clic con il pulsante destro del mouse sul piè di pagina della pagina >Inserisci>Casella di testo. Trascinare la casella di testo accanto alla casella di testo con il timestamp. Fare clic sul quadratino di ridimensionamento laterale della casella di testo ed espanderla in larghezza.

  3. Trascinare il parametro @StoreID dal riquadro Dati report alla casella di testo. Nella casella di testo viene visualizzato [@StoreID].

  4. Per visualizzare l'etichetta del parametro, selezionare nella casella di testo fino a quando non viene visualizzato il cursore di inserimento dopo l'espressione esistente. Immettere uno spazio e quindi trascinare un'altra copia del parametro dal riquadro dei dati del report alla casella di testo. Nella casella di testo viene visualizzato [@StoreID] [@StoreID].

  5. Fare clic con il pulsante destro del mouse sulla prima [@StoreID] e quindi selezionare Espressione. Verrà visualizzata la finestra di dialogo Espressione . Sostituire il testo Value con Label.

  6. Seleziona OK.

    Verrà visualizzato il testo: [@StoreID.Label] [@StoreID].

  7. Visualizzare l'anteprima del report.

6. Usare il parametro del report in un filtro

I filtri consentono di controllare quali dati utilizzare in un report dopo che provengono da un'origine dati esterna. Per consentire ai lettori del report di controllare i dati visualizzati, è possibile includere il parametro del report in un filtro per la matrice.

Specificare un parametro in un filtro della matrice

  1. Passare alla Visualizzazione della struttura.

  2. Fare clic con il pulsante destro del mouse sul quadratino di ridimensionamento dell'intestazione di una riga o colonna della matrice e selezionare Proprietà Tablix.

  3. Selezionare Filtri, quindi scegliere Aggiungi. Verrà visualizzata una nuova riga del filtro.

  4. In Espressioneselezionare il campo del set di dati StoreID nell'elenco a discesa. I dati visualizzati sono di tipo Integer. Se il valore dell'espressione è un campo del set di dati, il tipo di dati viene impostato automaticamente.

  5. In Operatoreverificare che sia selezionato il segno di uguale (=).

  6. In Valore, immettere [@StoreID].

    [@StoreID] è la sintassi dell'espressione semplice che rappresenta =Parameters!StoreID.Value.

  7. Seleziona OK.

  8. Visualizzare l'anteprima del report.

    La matrice visualizza dati solo per "Contoso Catalog Store".

  9. Nella barra degli strumenti del Report Viewer, per Nome punto vendita?selezionare Contoso Asia Online Store e quindi scegliere Visualizza report.

La matrice visualizza dati che corrispondono al punto vendita che è stato selezionato.

7. Modificare il parametro di report in modo che vengano accettati più valori

Per modificare un parametro da singolo a multivalore, è necessario modificare la query e tutte le espressioni che contengono un riferimento a quel parametro, inclusi i filtri. Un parametro multivalore è una matrice di valori. In una query del set di dati, la sintassi della query deve verificare l'inclusione di un valore in un set di valori. In un'espressione di report, la sintassi dell'espressione deve accedere a una matrice di valori anziché a un valore singolo.

Modificare un parametro da singolo a multivalore

  1. Passare alla Visualizzazione della struttura.

  2. Nel riquadro Dati report fare clic con il pulsante destro del mouse su @StoreID e quindi selezionare Proprietà parametri.

  3. Selezionare Consenti più valori.

  4. Seleziona OK.

  5. Nel riquadro dei dati del report espandere la cartella Set di dati , fare clic con il pulsante destro del mouse su DataSet1e quindi selezionare Query.

  6. Modificare il segno di uguale (=) in IN nella clausola WHERE di Transact-SQL nell'ultima riga della query:

    WHERE StoreID IN (@StoreID)  
    

    L'operatore IN verifica un valore per l'inclusione in un set di valori.

  7. Seleziona OK.

  8. Fare clic con il pulsante destro del mouse sul quadratino di ridimensionamento dell'intestazione di una riga o colonna della matrice e selezionare Proprietà Tablix.

  9. Selezionare Filtri.

  10. In Operatoreselezionare In.

  11. Seleziona OK.

  12. Nella casella di testo in cui è visualizzato il parametro nel piè di pagina, eliminare qualsiasi testo.

  13. Fare clic con il pulsante destro del mouse sulla casella di testo e quindi selezionare Espressione. Immettere l'espressione =Join(Parameters!StoreID.Label, ", ")

    Questa espressione concatena tutti i nomi dei punti vendita che l'utente ha selezionato, separati da una virgola e uno spazio.

  14. Seleziona OK.

  15. Selezionare la casella di testo che precede l'espressione appena creata e quindi immettere quanto segue:

    Valori del parametro selezionati:

  16. Visualizzare l'anteprima del report.

  17. Selezionare l'elenco a discesa accanto a Nome punto vendita?

    Ogni valore valido appare accanto a una casella di controllo.

  18. Selezionare Seleziona tutto e quindi scegliere Visualizza report.

    Il report visualizza la quantità venduta per tutte le sottocategorie per tutti i punti vendita.

  19. Dall'elenco a discesa, selezionare Seleziona tutto per cancellare l'elenco, scegliere "Contoso Catalog Store" e "Contoso Asia Online Store", quindi scegliere Visualizza report.

    Screenshot that shows you can multi-select parameters to add to a report.

8. Aggiungere un parametro booleano per la visibilità condizionale

Aggiungere un parametro booleano

  1. Nell'area di progettazione nel riquadro Dati report fare clic con il pulsante destro del mouse su Parametri e selezionare Aggiungi parametro.

  2. In Nome, immettere ShowSelections.

  3. In Prompt, immettere Mostra selezioni?

  4. In Tipo di dati, selezionare booleano.

  5. Selezionare Valori predefiniti.

  6. Selezionare Specifica valore e quindi scegliere Aggiungi.

  7. In Valore, immettere False.

  8. Seleziona OK.

Impostare la visibilità in base a un parametro booleano

  1. Nell'area di progettazione fare clic con il pulsante destro del mouse nella casella di testo nel piè di pagina che visualizza i valori del parametro e quindi selezionare Proprietà casella di testo.

  2. Selezionare Visibilità.

  3. Selezionare l'opzione Mostra o nascondi in base a un'espressione e quindi selezionare il pulsante di espressione Fx.

  4. Immettere l'espressione =Not Parameters!ShowSelections.Value

    La proprietà Hidden controlla l'opzione di visibilità della casella di testo. Applicare l'operatore Not in modo che quando viene selezionato il parametro, la proprietà Hidden sia impostata su false e visualizzi la casella di testo.

  5. Seleziona OK.

  6. Seleziona OK.

  7. Visualizzare l'anteprima del report.

    La casella di testo che visualizza le opzioni per il parametro nel piè di pagina non è visualizzata.

  8. Nella barra degli strumenti del visualizzatore di report accanto a Mostra selezioni selezionare True>Visualizza report.

    Viene visualizzata la casella di testo nel piè di pagina contenente tutti i nomi di punto vendita selezionati.

9. Aggiungere un titolo al report

Aggiungere un titolo al report

  1. Passare alla Visualizzazione della struttura.

  2. Nell'area di progettazione, selezionare Fare clic per aggiungere il titolo.

  3. Immettere Vendite prodotto con parametri, quindi selezionare all'esterno della casella di testo.

10. Salvare il report

Salvare il report in un server di report

  1. Dal pulsante Generatore di report, selezionare Salva con nome.

  2. Selezionare Siti e server recenti.

  3. Selezionare o immettere il nome del server di report per il quale si dispone delle autorizzazioni di salvataggio dei report.

    Viene visualizzato il messaggio Connessione al server di report. Al termine della connessione, verrà visualizzato il contenuto della cartella di report specificata dall'amministratore del server di report come posizione predefinita per i report.

  4. In Nomesostituire il nome predefinito con Report delle vendite con parametri.

  5. Seleziona Salva.

Il report verrà salvato sul server di report. Il server di report al quale si è connessi verrà visualizzato sulla barra di stato nella parte inferiore della finestra.

Passaggio successivo

L'esercitazione per aggiungere un parametro al report è stata completata. Per altre informazioni sui parametri, vedere Parametri report impaginato (Generatore di report).