Parametri di report impaginati (Generatore report)

Si applica a:✅ SQL Server Reporting Services 2016 (13.x) e versioni successive ✅ SharePoint

Si applica a:✅ SQL Server 2016 (13.x) Reporting Services e versioni successive

Questo argomento descrive gli usi comuni per i parametri di report impaginati, le proprietà che è possibile impostare e altre informazioni. I parametri del report consentono di controllare i dati del report, connettere report correlati e variare la presentazione del report. È possibile usare i parametri del report nei report impaginati creati in Generatore report e Progettazione report, nonché nei report per dispositivi mobili creati in SQL Server Mobile Report Publisher. Altre informazioni sui Concetti relativi ai parametri di report.

Nota

SQL Server Mobile Report Publisher è deprecato per tutte le versioni di SQL Server Reporting Services dopo SQL Server Reporting Services 2019. È sospeso a partire da SQL Server Reporting Services 2022 e Server di report di Power BI.

Per provare ad aggiungere un parametro a un report manualmente, vedere Esercitazione: Aggiungere un parametro al report (Generatore report).

Utilizzi comuni per i parametri

Di seguito sono elencate alcune delle modalità più comuni in cui è possibile usare i parametri.

Controllare i dati dei report per dispositivi mobili e impaginati

  • Filtrare i dati del report impaginato nell'origine dati scrivendo query del set di dati contenenti variabili.

  • Filtrare i dati da un set di dati condiviso. Quando si aggiunge un set di dati condiviso a un report impaginato, non è possibile modificare la query. Nel report è possibile aggiungere un filtro del set di dati che include un riferimento a un parametro di report creato.

  • Filtrare i dati da un set di dati condiviso in un report per dispositivi mobili di SQL Server. Per ulteriori informazioni, vedere Create mobile reports with SQL Server Mobile Report Publisher .

  • Consentire agli utenti di specificare i valori per personalizzare i dati di un report impaginato. È ad esempio possibile fornire due parametri per la data di inizio e la data di fine dei dati di vendita.

Connettere report correlati

  • Usare parametri per correlare report principali a report drill-through, sottoreport e report collegati. Durante la progettazione di un set di report, ogni report viene progettato in modo da rispondere a domande specifiche. In particolare, ogni report è in grado di offrire una vista diversa o un livello di dettaglio diverso per le informazioni correlate. Per ottenere un set di report correlati tra loro, creare i parametri per i dati correlati nei report di destinazione.

    Per altre informazioni, vedere Report drill-through (Generatore report e SSRS), Sottoreport (Generatore report e SSRS) e Creare un report collegato.

  • Personalizzare set di parametri per più utenti. Creare due report collegati basati su un report relativo alle vendite sul server di report. In un report collegato vengono usati i valori di parametro predefiniti per i venditori mentre nel secondo report collegato vengono usati i valori di parametro predefiniti per i responsabili vendite. In entrambi i report viene usata la stessa definizione report.

Variare la presentazione del report

  • Inviare comandi a un server di report tramite una richiesta URL, per personalizzare il rendering di un report. Per altre informazioni, vedere Accesso con URL (SSRS) e Passare un parametro del report in un URL.

  • Consentire agli utenti di specificare valori per personalizzare l'aspetto di un report. È ad esempio possibile fornire un parametro booleano per indicare se espandere o comprimere tutti i gruppi di righe nidificati in una tabella.

  • Consentire agli utenti di personalizzare l'aspetto e i dati del report includendo parametri in un'espressione.

    Per altre informazioni, vedere Riferimenti alla raccolta dei parametri (Generatore report e SSRS).

Visualizzazione di un report con parametri

Quando si visualizza un report con parametri, ogni parametro viene visualizzato nella barra degli strumenti del visualizzatore di report in modo che gli utenti possano specificarne i valori in modo interattivo. La figura seguente illustra l'area dei parametri di un report contenente i parametri @ReportMonth, @ReportYear, @EmployeeID, @ShowAll, @ExpandTableRows, @CategoryQuota e @SalesDate.

View report with parameters

  1. Riquadro Parametri Nella barra degli strumenti del visualizzatore di report vengono visualizzati un messaggio di richiesta e un valore predefinito per ogni parametro. È possibile personalizzare il layout dei parametri nel riquadro Parametri. Per altre informazioni, vedere Personalizzare il riquadro dei parametri in un report (Generatore report).

  2. Parametro @SalesDate Il parametro @SalesDate ha il tipo di dati DateTime. Accanto alla casella di testo viene visualizzata la richiesta di selezionare la data. Per modificare la data, digitare una nuova data nella casella di testo o usare il controllo calendario.

  3. Parametro @ShowAll Il parametro @ShowAll ha il tipo di dati Boolean. Usare i pulsanti di opzione per specificare True o False.

  4. Handle Mostra o nasconde l'area dei parametri Nella barra degli strumenti del visualizzatore di report fare clic su questa freccia per mostrare o nascondere il riquadro dei parametri.

  5. Parametro @CategoryQuota Il parametro @CategoryQuota ha il tipo di dati Float e di conseguenza accetta un valore numerico. @CategoryQuota è impostato per consentire più valori.

  6. Visualizza report Dopo aver immesso i valori dei parametri, fare clic su Visualizza report per eseguire il report. Se tutti i parametri hanno valori predefiniti, il report viene eseguito automaticamente a prima vista.

Creazione di parametri

È possibile creare i parametri dei report in alcuni modi diversi.

Nota

Non tutte le origini dati supportano i parametri.

Query o stored procedure del set di dati con parametri

Aggiungere una query del set di dati contenente variabili o una stored procedure del set di dati contenente parametri di input. Verrà creato un parametro del set di dati per ogni variabile o parametro di input e verrà creato un parametro di report per ogni parametro del set di dati.

Report Builder Parameter Dataset Properties

Questa immagine di Generatore report mostra:

  1. I parametri del report nel riquadro dei dati del report.

  2. Il set di dati con i parametri.

  3. Il riquadro Parametri.

  4. I parametri elencati nella finestra di dialogo Proprietà set di dati.

Il set di dati può essere incorporato o condiviso. Quando si aggiunge un set di dati condiviso a un report, non è possibile eseguire l'override dei parametri del set di dati contrassegnati come interni nel report. È possibile eseguire l'override dei parametri del set di dati che non sono contrassegnati come interni.

Per altre informazioni, vedere Query del set di dati più avanti in questo argomento.

Creare un parametro manualmente

Creare manualmente un parametro dal riquadro dei dati del report. È possibile configurare i parametri del report in modo che un utente possa immettere in modo interattivo i valori per personalizzare il contenuto o l'aspetto di un report. È inoltre possibile configurare i parametri del report in modo che un utente non possa modificare i valori preconfigurati.

Nota

Poiché i parametri vengono gestiti in modo indipendente nel server, la ripubblicazione di un report principale con nuove impostazioni dei parametri non implica la sovrascrittura delle impostazioni dei parametri esistenti per il report principale o per quello collegato.

Parte del report con un parametro

Nota

Le parti del report sono deprecate per tutte le versioni di SQL Server Reporting Services a partire da SQL Server Reporting Services 2019 e tutte le versioni di Server di report di Power BI a partire da Server di report di Power BI, settembre 2022.

Aggiungere una parte del report in cui siano inclusi riferimenti a un parametro o a un set di dati condiviso contenente variabili.

Le parti di report vengono archiviate sul server di report e possono quindi essere usate da altri utenti nei propri report. Le parti di report corrispondenti a parametri non possono essere gestite dal server di report. È possibile cercare i parametri in Raccolta parti del report e configurarli nel report dopo averli aggiunti. Per altre informazioni, vedere Parti del report (Generatore report e SSRS).

Nota

I parametri possono essere pubblicati come parte del report separata per aree dati che dispongono di set di dati dipendenti con parametri. Sebbene i parametri siano elencati come parte del report, non è possibile aggiungere un parametro della parte del report direttamente a un report. Aggiungere invece la parte del report e tutti i parametri del report necessari vengono generati automaticamente da query del set di dati contenute o a cui fa riferimento la parte del report. Per altre informazioni sulle parti del report, vedere Parti del report (Generatore report e SSRS) e Parti del report in Progettazione report (SSRS).

Valori di parametri

Di seguito sono riportate le opzioni per selezionare i valori di parametri nel report.

  • Selezionare un singolo valore di parametro da un elenco a discesa.

  • Selezionare più valori di parametro da un elenco a discesa.

  • Selezionare un valore da un elenco a discesa per un parametro, che determina i valori disponibili nell'elenco a discesa per un altro parametro. Tali parametri sono definiti di propagazione. I parametri di propagazione consentono di filtrare successivamente i valori di parametro da migliaia di valori a un numero gestibile.

    Per altre informazioni, vedere Aggiungere parametri di propagazione a un report (Generatore report e SSRS).

  • Eseguire il report senza dovere selezionare prima un valore di parametro poiché per il parametro è stato creato un valore predefinito.

Proprietà dei parametri di report

È possibile modificare le proprietà dei parametri di report mediante la finestra di dialogo Proprietà report. Nella tabella riportata di seguito vengono riepilogate le proprietà che è possibile impostare per ogni parametro.

Proprietà Descrizione
Name Digitare un nome con distinzione tra maiuscole e minuscole per il parametro. Il nome deve iniziare con una lettera e contenere lettere, numeri e un carattere di sottolineatura (_). Il nome non può contenere spazi. Per i parametri generati automaticamente, il nome corrisponde al parametro nella query del set di dati. Per impostazione predefinita, i parametri creati manualmente sono simili a ParametroReport1.
Richiesta Il testo che viene visualizzato accanto al parametro nella barra degli strumenti del visualizzatore di report.
Tipo di dati Un parametro di report deve corrispondere a uno dei seguenti tipi di dati:

Valorebooleano. L'utente seleziona True o False mediante un pulsante di opzione.

DateTime. L'utente seleziona una data da un controllo calendario.

Integer. L'utente digita valori in una casella di testo.

Float. L'utente digita valori in una casella di testo.

Testo L'utente digita valori in una casella di testo.

Quando sono definiti valori disponibili per un parametro, l'utente seleziona i valori in un elenco a discesa, anche quando il tipo di dati corrisponde a DateTime.

Per altre informazioni sui tipi di dati di report, vedere RDL Data Types.
Consenti nessun valore Selezionare questa opzione se il valore del parametro può corrispondere a una stringa vuota o a un valore vuoto.

Se si specificano valori validi per un parametro e si desidera che uno di essi sia un valore vuoto, è necessario includere tale valore come uno dei valori specificati. La selezione di questa opzione non include automaticamente un valore vuoto tra i valori disponibili.
Consenti valore Null Selezionare questa opzione se il valore del parametro può essere un valore Null.

Se si specificano valori validi per un parametro e si desidera che uno dei valori sia Null, è necessario includere tale valore come uno dei valori specificati. La selezione di questa opzione non include automaticamente un valore Null tra i valori disponibili.
Consenti più valori Fornire i valori disponibili per creare un elenco a discesa dal quale gli utenti possono scegliere. Si tratta di un metodo efficace per assicurarsi che nella query del set di dati vengano inviati solo valori validi.

Selezionare questa opzione se il valore per il parametro può essere costituito da più valori visualizzati in un elenco a discesa. I valori Null non sono consentiti. Se questa opzione è selezionata, verranno aggiunte caselle di controllo all'elenco di valori disponibili nell'elenco a discesa dei parametri. Nella parte superiore dell'elenco è inclusa una casella di controllo Seleziona tutto. Gli utenti possono selezionare i valori desiderati.

Se i dati che forniscono i valori cambiano rapidamente, l'utente potrebbe non visualizzare l'elenco più recente.
Visibile Selezionare questa opzione per visualizzare il parametro nella parte superiore del report durante l'esecuzione. Questa opzione consente agli utenti di selezionare i valori del parametro in fase di esecuzione.
Nascosta Selezionare questa opzione per nascondere il parametro nel report pubblicato. I valori dei parametri di report possono comunque essere impostati su un URL del report, nella definizione di una sottoscrizione oppure nel server di report usando Gestione report.
Internal Selezionare questa opzione per nascondere il parametro di report. Nel report pubblicato, il parametro di report potrà essere visualizzato solo nella relativa definizione.
Valori disponibili Se sono stati specificati valori disponibili per un parametro, tali valori vengono sempre visualizzati sotto forma di elenco a discesa. Se si forniscono i valori disponibili per un parametro DateTime , ad esempio, nel riquadro del parametro viene visualizzato un elenco a discesa per le date invece di un controllo calendario.

Per assicurarsi che un elenco di valori sia coerente fra report e sottoreport, è possibile impostare un'opzione sull'origine dati per usare una sola transazione per tutte le query nei set di dati associati a un'origine dati.

Nota sulla sicurezza In qualsiasi report che includa un parametro con il tipo di dati Text, assicurarsi di usare un elenco di valori disponibili, noto anche come elenco di valori validi, e verificare che ogni utente che esegue il report abbia solo le autorizzazioni necessarie per visualizzare i dati del report. Per altre informazioni, vedere Sicurezza (Generatore report).
Valori predefiniti Impostare i valori predefiniti da una query o da un elenco statico.

Il report viene eseguito automaticamente a prima vista quando ogni parametro ha un valore predefinito.
Avanzato Impostare l'attributo di definizione del report UsedInQuery, un valore che indica se questo parametro influisce direttamente o indirettamente sui dati di un report.

Determina automaticamente quando eseguire l'aggiornamento
Scegliere questa opzione se si desidera che l'impostazione per questo valore venga determinata dal componente Elaborazione report. Questo valore è True se il componente Elaborazione report rileva una query del set di dati con un riferimento diretto o indiretto a questo parametro oppure se il report contiene sottoreport.

Aggiorna sempre
Scegliere questa opzione quando il parametro di report viene usato direttamente o indirettamente in una query del set di dati o in un'espressione del parametro. Questa opzione determina l'impostazione di UsedInQuery su True.

Non aggiornare mai
Scegliere questa opzione quando il parametro di report non viene usato direttamente o indirettamente in una query del set di dati o in un'espressione del parametro. Questa opzione determina l'impostazione di UsedInQuery su False.

Attenzione Usare Non aggiornare mai con cautela. Nel server di report UsedInQuery viene usato per consentire il controllo delle opzioni della cache per i dati dei report sottoposti a rendering e delle opzioni di parametro per i report snapshot. L'impostazione non corretta dell'opzione Non aggiornare mai potrebbe determinare la memorizzazione nella cache di report o dati del report non corretti o la presenza di dati non coerenti in un report snapshot. Per altre informazioni, vedere Report Definition Language (SSRS).

Query del set di dati

Per filtrare i dati nella query del set di dati è possibile includere una clausola di restrizione che limita i dati recuperati specificando i valori da includere o escludere dal set dei risultati.

Usare Progettazione query per l'origine dati per compilare una query con parametri.

  • Per query Transact-SQL, origini dati diverse supportano una sintassi diversa per i parametri. Supportare gli intervalli dei parametri identificati nella query in base alla posizione o al nome. Per altre informazioni, vedere gli argomenti sui tipi specifici di origini dati esterne in Set di dati del report (SSRS). Nella finestra Progettazione query relazionale, è necessario selezionare l'opzione del parametro di filtro per creare una query con parametri. Per altre informazioni, vedere Interfaccia utente di Progettazione query relazionale (Generatore report).

  • Per query basate su un'origine di dati multidimensionale quale Microsoft SQL Server Analysis Services, SAP NetWeaver BI o Hyperion Essbase, è possibile specificare se creare un parametro basato su un filtro specificato in Progettazione query. Per altre informazioni, vedere l'argomento relativo alla progettazione query corrispondente all'estensione per i dati in Strumenti di progettazione query (SSRS).

Gestione di parametri per un report pubblicato

Quando si progetta un report, i parametri corrispondenti vengono salvati nella definizione del report. Quando si pubblica un report, i parametri corrispondenti vengono salvati e gestiti separatamente della definizione del report.

Per un report pubblicato, è possibile usare gli elementi seguenti:

  • Proprietà del parametro di report. Modificare i valori dei parametri del report direttamente nel server di report indipendentemente dalla definizione del report.

  • Report memorizzati nella cache. Per creare un piano della cache per un report, ogni parametro deve avere un valore predefinito. Per altre informazioni, vedere Memorizzazione dei report nella cache (SSRS).

  • Set di dati condivisi memorizzati nella cache. Per creare un piano della cache per un set di dati condiviso, ogni parametro deve avere un valore predefinito. Per altre informazioni, vedere Memorizzazione dei report nella cache (SSRS).

  • Report collegati. È possibile creare report collegati con valori di parametri preimpostati per filtrare i dati per diverse tipologie di pubblico. Per altre informazioni, vedere Creare un report collegato.

  • Sottoscrizioni di report. È possibile specificare valori di parametri per filtrare i dati e recapitare report tramite sottoscrizioni. Per altre informazioni, vedere Sottoscrizioni e recapito (Reporting Services).

  • Accesso con URL. È possibile specificare valori del parametro in un URL di un report. Inoltre è possibile eseguire report e specificare valori di parametri usando l'accesso a URL. Per altre informazioni, vedere Accesso con URL (SSRS).

Le proprietà dei parametri per un report pubblicato vengono mantenute se si pubblica nuovamente la definizione del report. Se la definizione del report viene ripubblicata senza modifiche e i nomi dei parametri e i tipi di dati rimangono invariati, le impostazioni delle proprietà verranno mantenute. Se si aggiungono o eliminano parametri nella definizione del report oppure si modifica il tipo di dati o il nome di un parametro esistente, potrebbe essere necessario modificare le proprietà dei parametri nel report pubblicato.

Non è sempre possibile modificare tutti i parametri. Se un parametro di report ottiene un valore predefinito da una query del set di dati, non sarà possibile modificare tale valore per un report pubblicato né sarà possibile modificarlo nel server di report. Il valore usato in fase di esecuzione viene determinato al momento dell'esecuzione della query oppure, nel caso di parametri basati su espressioni, al momento della valutazione dell'espressione.

Le opzioni di esecuzione del report possono influire sulle modalità di elaborazione dei parametri. Per un report che viene eseguito come snapshot non è possibile usare parametri derivati da una query, a meno che la query non includa valori predefiniti per i parametri.

Parametri per una sottoscrizione

È possibile definire una sottoscrizione per un report su richiesta o snapshot e specificare valori di parametri da usare durante l'elaborazione della sottoscrizione.

  • Report su richiesta. Per un report su richiesta, è possibile specificare un valore del parametro diverso dal valore pubblicato per ogni parametro elencato per il report. Si supponga, ad esempio, di usare il report delle chiamate al servizio di assistenza, per il quale viene usato un parametro periodo di tempo che consente di restituire i dati sulle richieste pervenute al servizio di assistenza ai clienti in un determinato giorno, settimana o mese. Se il valore predefinito del parametro per il report è impostato su oggi, la sottoscrizione può usare un valore diverso, ad esempio settimana o mese, per generare un report contenente dati settimanali o mensili.

  • Snapshot. La sottoscrizione deve usare i valori del parametro definiti per lo snapshot. Nella sottoscrizione non è possibile definire un valore di parametro per sostituire il valore di parametro definito per uno snapshot. Si supponga, ad esempio, di sottoscrivere un report delle vendite per le regioni meridionali che viene eseguito come snapshot del report e che per lo snapshot sia specificato sud come valore di parametro relativo alle regioni. In questo caso, se si crea una sottoscrizione di questo report, è necessario usare il valore di parametro sud nella sottoscrizione. Per consentire di individuare immediatamente i parametri che non possono essere modificati, i campi corrispondenti nella pagina di sottoscrizione sono di sola lettura.

    Le opzioni di esecuzione del report possono influire sulle modalità di elaborazione dei parametri. Un report con parametri che viene eseguito come snapshot del report usano i valori dei parametri definiti per lo snapshot del report. I valori dei parametri vengono definiti nella pagina delle proprietà dei parametri del report. Per un report che viene eseguito come snapshot non è possibile usare parametri derivati da una query, a meno che la query non includa valori predefiniti per i parametri.

    Se si modifica un valore di parametro nello snapshot del report dopo aver definito la sottoscrizione, questa viene disattivata dal server di report. La disattivazione della sottoscrizione indica che il report è stato modificato. Per attivare la sottoscrizione, aprirla e salvarla.

Nota

Per le sottoscrizioni guidate dai dati è possibile usare valori di parametri ottenuti da un'origine dei dati del Sottoscrittore. Per altre informazioni, vedere Usare un'origine dati esterna per i dati del Sottoscrittore (sottoscrizione guidata dai dati).

Per altre informazioni, vedere Sottoscrizioni e recapito (Reporting Services).

Parametri e sicurezza dei dati

Quando si distribuiscono report con parametri che contengono informazioni riservate è necessario fare attenzione. Un utente può facilmente sostituire un parametro di report con un valore diverso, con la conseguente diffusione di informazioni potenzialmente riservate.

Un'alternativa più sicura all'utilizzo di parametri per i dati personali o relativi ai dipendenti consiste nel selezionare i dati basati su espressioni che includono il campo UserID dalla raccolta Users. La raccolta Users consente di ottenere l'identità dell'utente che esegue il report e di usarla per recuperare i dati specifici per l'utente.

Importante

In qualsiasi report che includa un parametro di tipo String, accertarsi di usare un elenco di valori disponibili, noto anche come elenco di valori validi, e assicurarsi che ogni utente che esegue il report disponga solo delle autorizzazioni necessarie per visualizzare i dati del report. Quando si definisce un parametro di tipo String, viene visualizzata una casella di testo che può accettare qualsiasi valore. Un elenco di valori disponibili consente di limitare i valori che è possibile immettere. Se un parametro di report è correlato a un parametro del set di dati e non si usa un elenco di valori disponibili, un utente potrebbe digitare nella casella di testo sintassi SQL, esponendo il report e il server a un potenziale attacco intrusivo nel codice SQL. Se l'utente dispone di autorizzazioni sufficienti per eseguire la nuova istruzione SQL, è possibile che nel server si verifichino risultati non desiderati.

Se un parametro di report non è correlato a un parametro del set di dati e i valori del parametro sono inclusi nel report, un utente potrebbe digitare nel valore del parametro un URL o la sintassi di un'espressione ed eseguire il rendering del report in formato Excel o HTML. Se il report viene in seguito visualizzato da un altro utente che fa clic sul contenuto dei parametri di cui è stato eseguito il rendering, è possibile che venga inavvertitamente eseguito il collegamento o lo script dannoso.

Per ridurre il rischio di eseguire inavvertitamente script dannosi, aprire i report visualizzabili solo da origini attendibili. Per altre informazioni sulla sicurezza dei report, vedere Garantire la sicurezza di report e risorse.

Esercitazione: Aggiungere un parametro al report (Generatore report)

Concetti relativi ai parametri di report

Esempi di report (Generatore report e SSRS)

Utilizzo delle espressioni nei report (Generatore di report e SSRS)

Espressioni (Generatore di report e SSRS)

Filtro, raggruppamento e ordinamento di dati (Generatore di report e SSRS)

Sicurezza (Generatore di report)

Ordinamento interattivo, mappe documento e collegamenti (Generatore di report e SSRS)

Drill-through, drill-down, sottoreport e aree dati nidificate (Generatore di report e SSRS)