Condividi tramite


Parametri di report impaginati in 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 articolo 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 di report e Progettazione report. È anche possibile usare parametri di report nei report per dispositivi mobili creati in SQL Server Mobile Report Publisher. Per altre informazioni sui parametri, vedere Concetti dei parametri nei report impaginati (Generatore di report).

Nota

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

Per maggiori informazioni su come aggiungere un parametro a un report, vedere Esercitazione: Aggiungere un parametro al report (Generatore report).

Utilizzi comuni per i parametri

Gli utilizzi comuni per i parametri includono:

Controllare i dati dei report per dispositivi mobili e impaginati

Generatore report e Progettazione report offrono opzioni per filtrare i dati in base al tipo di dati disponibili:

  • 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 altre informazioni, vedere Creare report per dispositivi mobili con 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.

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 in un report impaginato (Generatore report), Sottoreport in report impaginati (Generatore report) 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. Un report collegato usa valori di parametro predefiniti per i venditori. Il secondo report collegato usa valori di parametro predefiniti per i responsabili delle vendite. In entrambi i report viene usata la stessa definizione report.

Variare la presentazione del report

Generatore report fornisce strumenti che è possibile usare per variare le presentazioni:

  • Per personalizzare il rendering di un 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.

  • È possibile concedere agli utenti la possibilità di specificare i valori in modo che possano 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.

  • È possibile fornire agli utenti l’opzione di personalizzare l'aspetto e i dati del report includendo parametri in un'espressione. Per altre informazioni, vedere Riferimenti alla raccolta dei parametri in un report impaginato (Generatore di report).

Visualizzazione di un report con parametri

Quando si visualizza un report con parametri, nel riquadro Parametri viene visualizzato ogni parametro in modo che gli utenti possano specificarne i valori in modo interattivo. L’immagine seguente illustra il riquadro dei parametri di un report contenente i parametri @ReportMonth, @ReportYear, @EmployeeID, @ShowAll, @ExpandTableRows, @CategoryQuota, e @SalesDate.

Screenshot che mostra il riquadro Parametri che evidenzia diversi parametri e strumenti di interfaccia.

  1. Riquadro Parametri: Nel riquadro dei Parametri vengono visualizzati un messaggio di richiesta e un valore predefinito per ogni parametro. È possibile personalizzare il layout dei Parametri. Per altre informazioni, vedere Personalizzare il riquadro dei parametri in un report impaginato (Generatore di 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 selezionare 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, selezionare Visualizza report per eseguire il report. Se tutti i parametri hanno valori predefiniti, il report viene eseguito automaticamente a prima vista.

Creare un parametro

È possibile creare i parametri dei report in alcuni modi:

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.

Screenshot che mostra Generatore report evidenziazione del riquadro Dei dati del report, del riquadro Parametri e della finestra di dialogo Proprietà set di dati.

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 sui set di dati.

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 sul report.

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 nella raccolta parti del report. Dopo averli aggiunti, è possibile configurarli nel report. 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 parametro

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 valori sono parametri 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 impaginato (Generatore report).

  • Eseguire il report senza dovere selezionare prima un valore di parametro poiché per il parametro esiste già un valore predefinito.

Proprietà dei parametri del 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 Immettere un nome con distinzione tra maiuscole e minuscole per il parametro. Il nome deve iniziare con una lettera e contenere lettere, numeri o 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 immette valori in una casella di testo.

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

Testo L'utente immette 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 tipi di dati RDL.
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. Usare questa proprietà 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.
Visible 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.
Hidden 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 si specificano 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.

È 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. Questa opzione garantisce che l'elenco di valori sia coerente tra il report e i sottoreport.

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, 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 articoli 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).

  • È possibile specificare se creare un parametro in base a un filtro specificato in Progettazione query. È possibile effettuare questa specifica per query basate su un'origine di dati multidimensionale quale Microsoft SQL Server Analysis Services, SAP NetWeaver BI o Hyperion Essbase. Per altre informazioni, vedere l’articolo 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 strumenti seguenti:

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

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

  • Set di dati condivisi 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 Report della 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 ad 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. Potrebbe essere necessario modificare le proprietà dei parametri nel report pubblicato se si aggiungono o eliminano parametri nella definizione del report. Oppure potrebbe essere necessario modificare le proprietà per modificare il tipo di dati o il nome di un parametro esistente.

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. Non può essere modificata anche nel server di report. Il valore utilizzato in fase di esecuzione viene determinato quando viene eseguita la query. Se si usano parametri basati su espressioni, viene determinato quando viene valutata l'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’impostazione di parametri per i dati personali o relativi ai dipendenti consiste nel selezionare i dati basati su espressioni che includono il campo UserID dalla Campi predefiniti. La UserID 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, 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 immettere 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 immettere 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 seleziona il 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.