Condividi tramite


Creazione di set di dati del report da un database relazionale di SQL Server

In Reporting Services è disponibile un'estensione per l'elaborazione dati che supporta il recupero di dati da database relazionali di MicrosoftSQL Server. Questa estensione per l'elaborazione dati consente di recuperare i dati da stored procedure, viste e tabelle di dati relazionali e da altre strutture di dati definite nell'origine dati sottostante. Dopo avere stabilito la connessione a un'origine dati, è possibile creare un set di dati del report che definisca i dati dell'origine dati che si desidera utilizzare nel report. In un set di dati di Reporting Services sono incluse un'origine dati, una query per il recupero dei dati durante l'elaborazione del report e una raccolta di campi. La definizione del set di dati viene salvata nella definizione del report. Nel riquadro Dati report vengono visualizzate le definizioni dei set di dati correnti in un report.

È possibile definire un set di dati creando una query tramite testo di query Transact-SQL o chiamate a stored procedure oppure scegliendo una tabella e recuperando tutti i dati dalla tabella stessa. La raccolta di campi per un set di dati viene creata automaticamente dalla query. È possibile modificare i campi o aggiungere campi calcolati. I campi calcolati includono valori basati su espressioni che vengono valutati quando viene eseguita la query. I tipi di dati dei campi vengono mappati a un subset di tipi di dati CLR (Common Language Runtime) da .NET Framework. Per ulteriori informazioni, vedere Informazioni sui set di dati del report e Procedura: Recupero di dati da un'origine dati SQL Server.

Per le origini dati relazionali sono disponibili due finestre Progettazione query, una basata su testo e una con interfaccia grafica. Per impostazione predefinita, viene visualizzata la finestra Progettazione query basata su testo. Utilizzare questa finestra per immettere direttamente testo Transact-SQL, per incollare testo di query da un'altra origine, per immettere query complesse che non è possibile creare utilizzando l'interfaccia grafica di Progettazione query o per immettere espressioni basate su query. Utilizzare l'interfaccia grafica per visualizzare i metadati nell'origine dei dati per progettare in modo interattivo una query o per visualizzare un elenco di stored procedure o tabelle dell'origine dei dati. Per ulteriori informazioni, vedere Interfaccia grafica di Progettazione query, Interfaccia utente di Progettazione query basata su testo e Procedura: Recupero di dati da un'origine dati SQL Server.

Dopo avere definito una query, è inoltre possibile specificare proprietà come Timeout e CaseSensitivity, nonché definire i parametri di report che passano i valori ai parametri di query. Quando si esegue una query, viene visualizzato un set di risultati ottenuto dall'origine dei dati. Le colonne del set di risultati sono mappate ai campi del set di dati. Quando il report viene elaborato, negli elementi di report associati ai campi del set di dati vengono visualizzati i dati recuperati o calcolati. In un report viene elaborato solo il primo set di risultati recuperato da una query.

Specifica di una query

Per un'origine dati SQL Server, è possibile utilizzare la finestra Progettazione query basata su testo o con interfaccia grafica per specificare una query per il set di dati. Quando si specifica una query per un nuovo set di dati, per impostazione predefinita viene visualizzata la finestra Progettazione query con interfaccia grafica. Se la query del set di dati esistente è troppo complessa per essere visualizzata in tale finestra, verrà visualizzata la finestra Progettazione query basata su testo. In entrambe le finestre sono supportati i tipi di query seguenti, ovvero Text e StoredProcedure. È possibile specificare il tipo di query nella finestra di dialogo Proprietà set di dati prima di aprire la finestra Progettazione query.

Per le query di tipo Text, se nel testo della query vengono inclusi parametri, in Reporting Services vengono creati i parametri del report corrispondenti. Per le query di tipo StoredProcedure, se nella stored procedure utilizzata sono presenti parametri di input in Reporting Services vengono creati i parametri di report corrispondenti. Per ulteriori informazioni sui parametri di query e di report, vedere Utilizzo dei parametri di query più avanti in questo argomento.

Per ulteriori informazioni su ciascuna finestra Progettazione query, vedere Interfaccia utente di Progettazione query basata su testo e Interfaccia grafica di Progettazione query.

Utilizzo di query di tipo Text

Quando la finestra Progettazione query viene aperta in modalità Text, è possibile digitare i comandi Transact-SQL per definire i dati in un set di dati. La query Transact-SQL seguente, ad esempio, consente di selezionare i nomi di tutti i dipendenti.

SELECT FirstName, LastName
FROM   HumanResources.Employee E INNER JOIN
       Person.Contact C ON  E.ContactID=C.ContactID

Fare clic sul pulsante Esegui (!) sulla barra degli strumenti per eseguire la query e visualizzare i risultati nel riquadro Risultato.

È inoltre possibile importare query esistenti da un altro report o da file con estensione sql.

Utilizzo di query di tipo StoredProcedure

Quando la finestra Progettazione query viene aperta in modalità StoredProcedure, la stored procedure da utilizzare è già stata selezionata nel momento in cui è stato specificato StoredProcedure nella finestra di dialogo Proprietà set di dati.

Se si conosce già il nome di una stored procedure diversa da utilizzare, è possibile sostituire il testo esistente e digitare il nome della nuova stored procedure nel riquadro Query.

In Reporting Services sono supportate le stored procedure che restituiscono solo un set di dati. Se una stored procedure restituisce più set di dati, viene utilizzato solo il primo.

Se in una stored procedure è presente un parametro con un valore predefinito, è possibile accedere a tale valore in Reporting Services utilizzando la parola chiave DEFAULT come valore per il parametro. Se il parametro di query è collegato a un parametro di report, l'utente può digitare o selezionare la parola DEFAULT nella casella di input del parametro di report. Per ulteriori informazioni, vedere Stored procedure (Motore di database).

Utilizzo di parametri di query

Per il testo di query che contiene parametri o per stored procedure con parametri di input, in Progettazione report vengono creati automaticamente i parametri di report corrispondenti nella definizione del report quando si esegue la query. Quando il report viene eseguito, i valori dei parametri di report vengono passati ai parametri di query. La query SQL seguente, ad esempio, crea un parametro di report denominato EmpID:

SELECT FirstName, LastName FROM HumanResources.Employee E INNER JOIN
       Person.Contact C ON  E.ContactID=C.ContactID 
WHERE EmployeeID = @EmpID

È possibile gestire la relazione tra parametri di report e parametri di query utilizzando gli elementi descritti in Finestra di dialogo Proprietà set di dati, Parametri. Per le query con parametri collegati ai parametri di report non è necessario utilizzare l'istruzione DECLARE.

Sebbene vengano creati automaticamente dai parametri di query, i parametri di report vengono gestiti separatamente nel riquadro Dati report.

[!NOTA]

Se si modifica il nome di un parametro della query o si elimina un parametro della query, il parametro del report corrispondente non viene automaticamente modificato o eliminato. È possibile rimuovere o modificare l'ordine dei parametri di report utilizzando i pulsanti disponibili nella barra degli strumenti del riquadro Dati report. Per ulteriori informazioni, vedere Aggiunta di parametri al report.