Condividi tramite


Lezione 1: creazione di set di dati condivisi e configurazione di parametri di report (SSRS)

In questa lezione verranno creati set di dati condivisi e verranno configurati parametri di report basati sui parametri di query del set di dati per il report Employee_Sales_Summary_2008R2.

Lezioni dell'esercitazione

In questa esercitazione verranno illustrate le operazioni seguenti:

  • Creare una copia del report di base con cui iniziare.

  • Aggiungere più set di dati condivisi al progetto e al report.

  • Configurare i parametri di report che vengono creati automaticamente per ogni parametro di query del set di dati.

  • Aggiungere una descrizione dello scenario che spiega lo scopo del report all'utente.

  • Aggiungere in modo condizionale il testo nascosto per visualizzare le informazioni sulle query dell'origine dati e del set di dati.

  • Aggiungere in modo condizionale il testo nascosto per visualizzare i valori dei parametri scelti dall'utente del report.

  • Aggiungere in modo condizionale il testo nascosto per visualizzare la descrizione del report.

  • Aggiungere un titolo al report.

  • Visualizzare l'anteprima del report ed eseguirne una verifica.

  • Distribuire il report.

Il tempo stimato per completare l'esercitazione è di 15 minuti.

Requisiti

Per informazioni sui requisiti, vedere Prerequisiti per i report di esempio di AdventureWorks 2008R2 (SSRS).

Per questa lezione si presuppone che sia stata completata la sezione Creazione del progetto server di report e del report AdventureWorks2008R2_Base (SSRS).

Suggerimenti

Per un elenco di suggerimenti generali, vedere Suggerimenti relativi alla progettazione di report (Generatore report 3.0 e SSRS).

Per aprire il progetto e creare una copia di un report

  1. In Business Intelligence Development Studio aprire i report di esempio AdventureWorks 2008R2 del progetto server di report.

  2. In Esplora soluzioni effettuare le operazioni seguenti:

    1. Fare clic con il pulsante destro del mouse sul report AdventureWorks2008R2_Base.rdl, quindi scegliere Copia.

    2. Fare clic con il pulsante destro del mouse sul nodo del progetto, quindi scegliere Incolla.

    3. Rinominare il report copiato in Employee_Sales_Summary_2008R2.rdl.

Creare set di dati condivisi

In questo progetto report vengono utilizzati quattro set di dati condivisi basati sull'origine dati condivisa AdventureWorks2008R2.

Creare EmployeeSalesYearOverYear2008R2

Per aggiungere un set di dati condiviso per le vendite anno per anno

  1. In Esplora soluzioni aggiungere un set di dati condiviso denominato EmployeeSalesYearOverYear2008R2.

    I dati consentono di rispondere alla domanda: Come confrontare le vendite stagionali anno per anno?

    Tali dati verranno visualizzati nel grafico a linee e nel grafico sparkline del report.

  2. Selezionare l'origine dati condivisa AdventureWorks2008R2 e aggiungere la query seguente:

    SELECT   P.FirstName + ' ' + P.LastName AS Employee, 
       DATEPART(Year, SOH.OrderDate) AS [Year], 
       DATEPART(Month, SOH.OrderDate) AS MonthNumber, 
       DATENAME(Month, SOH.OrderDate) AS [Month], 
       SUM(DET.LineTotal) AS Sales
    FROM [Sales].[SalesPerson] SP 
       INNER JOIN [Sales].[SalesOrderHeader] SOH ON SP.[BusinessEntityID] = SOH.[SalesPersonID]
       INNER JOIN Sales.SalesOrderDetail DET ON SOH.SalesOrderID = DET.SalesOrderID
       INNER JOIN [Sales].[SalesTerritory] ST ON SP.[TerritoryID] = ST.[TerritoryID] 
       INNER JOIN [HumanResources].[Employee] E ON SOH.[SalesPersonID] = E.[BusinessEntityID] 
       INNER JOIN [Person].[Person] P ON P.[BusinessEntityID] = SP.[BusinessEntityID]
    WHERE (DATEPART(Year, SOH.OrderDate) <= @ReportYear - 1 OR
       DATEPART(Year, SOH.OrderDate) = @ReportYear AND DATEPART(Month, SOH.OrderDate) <= @ReportMonth) AND 
       (SOH.SalesPersonID = (@EmployeeID))
    GROUP BY P.FirstName + ' ' + P.LastName, SOH.SalesPersonID, 
       DATEPART(Year, SOH.OrderDate), DATEPART(Month, SOH.OrderDate), 
       DATENAME(Month, SOH.OrderDate)
    

    Il set di dati condiviso viene visualizzato in Esplora soluzioni.

  3. Nel riquadro Dati report creare un set di dati denominato EmployeeSalesYearOverYear2008R2.

  4. Nella finestra di dialogo Proprietà set di dati selezionare Utilizzare un set di dati condiviso e fare clic sul set di dati appena creato in Esplora soluzioni.

    La query del set di dati include le variabili di query @ReportMonth, @ReportYear e @EmployeeID.

  5. In Proprietà set di dati verificare che venga creato un parametro del set di dati per ogni variabile di query.

  6. Nel riquadro Dati report verificare che venga creato un parametro di report per ogni parametro del set di dati.

Il set di dati nel riquadro Dati report è un riferimento al set di dati condiviso in Esplora soluzioni. Dopo la pubblicazione del report, il riferimento punta al set di dati condiviso nel server di report o nel sito di SharePoint.

Creare EmployeeSalesDetail2008R2

Per aggiungere un set di dati condiviso contenente i dati per ogni ordine di vendita

  1. In Esplora soluzioni aggiungere un set di dati condiviso denominato EmployeeSalesDetail2008R2.

    Questi dati consentono di rispondere alla domanda: Sono state soddisfatte le quote vendite per l'intero mese e per ogni categoria?

    Tali dati verranno visualizzati nella matrice e negli indicatori incorporati del report.

  2. Utilizzare l'origine dati condivisa AdventureWorks2008R2 e la query seguente:

    SELECT PER.FirstName + ' ' + PER.LastName AS Employee,
       PS.Name AS Subcategory, SUM(DET.LineTotal) AS Sales, 
       SOH.SalesOrderID,  SOH.SalesOrderNumber, 
       P.Name AS Product, 
       SUM(DET.OrderQty) AS OrderQty, DET.UnitPrice, 
       PC.Name AS Category
    FROM Sales.SalesOrderHeader SOH 
       INNER JOIN [Sales].[SalesPerson] SP ON SP.[BusinessEntityID] = SOH.[SalesPersonID]
       INNER JOIN Sales.SalesOrderDetail DET ON SOH.SalesOrderID = DET.SalesOrderID
       INNER JOIN [HumanResources].[Employee] E ON SOH.[SalesPersonID] = E.[BusinessEntityID] 
       INNER JOIN [Person].[Person] PER ON PER.[BusinessEntityID] = SP.[BusinessEntityID]
       INNER JOIN Production.Product P ON DET.ProductID = P.ProductID 
       INNER JOIN Production.ProductSubcategory PS ON P.ProductSubcategoryID = PS.ProductSubcategoryID 
       INNER JOIN Production.ProductCategory PC ON PS.ProductCategoryID = PC.ProductCategoryID
    WHERE (DATEPART(Year, SOH.OrderDate) = @ReportYear) AND 
       (DATEPART(Month, SOH.OrderDate) = @ReportMonth) AND 
        (SOH.SalesPersonID = @EmployeeID)
    GROUP BY PER.FirstName + ' ' + PER.LastName, 
       DATEPART(Month, SOH.OrderDate), SOH.SalesOrderID, SOH.SalesOrderNumber, 
       P.Name, PS.Name, DET.UnitPrice, PC.Name
    

    Il set di dati condiviso viene visualizzato in Esplora soluzioni.

  3. Nel riquadro Dati report creare un set di dati denominato EmployeeSalesDetail2008R2.

  4. Nella finestra di dialogo Proprietà set di dati selezionare Utilizzare un set di dati condiviso e fare clic sul set di dati appena creato in Esplora soluzioni.

Creare EmpSalesMonth2008R2

Per aggiungere un set di dati condiviso per le vendite mese per mese

  1. In Esplora soluzioni aggiungere un set di dati condiviso denominato EmpSalesMonth2008R2.

    Questi dati consentono di rispondere alla domanda: Come confrontare le vendite di categoria di questo mese con le vendite dello stesso mese negli anni precedenti?

    Tali dati verranno visualizzati nell'istogramma e in un grafico a barre dei dati del report.

  2. Utilizzare l'origine dati condivisa AdventureWorks2008R2 e la query seguente:

    SELECT PER.FirstName + ' ' + PER.LastName AS Employee, 
       DATEPART(Year, SOH.OrderDate) AS [Year], 
       DATEPART(Month, SOH.OrderDate) AS [MonthNumber], 
       DATENAME(Month, SOH.OrderDate) AS [Month], 
       PC.Name AS Category, SUM(DET.LineTotal) AS Sales
    FROM Sales.SalesOrderHeader SOH 
       INNER JOIN [Sales].[SalesPerson] SP ON SP.[BusinessEntityID] = SOH.[SalesPersonID]
       INNER JOIN Sales.SalesOrderDetail DET ON SOH.SalesOrderID = DET.SalesOrderID
       INNER JOIN [HumanResources].[Employee] E ON SOH.[SalesPersonID] = E.[BusinessEntityID] 
       INNER JOIN [Person].[Person] PER ON PER.[BusinessEntityID] = SP.[BusinessEntityID]
       INNER JOIN Production.Product P ON DET.ProductID = P.ProductID 
       INNER JOIN Production.ProductSubcategory PS ON P.ProductSubcategoryID = PS.ProductSubcategoryID 
       INNER JOIN Production.ProductCategory PC ON PS.ProductCategoryID = PC.ProductCategoryID
    WHERE
       (DATEPART(Year, SOH.OrderDate) <= @ReportYear) 
       AND (DATEPART(Month, SOH.OrderDate) = @ReportMonth)  
       AND (SOH.SalesPersonID = @EmployeeID)
    GROUP BY PER.FirstName + ' ' + PER.LastName, 
       DATEPART(Year, SOH.OrderDate), DATEPART(Month, SOH.OrderDate), 
       DATENAME(Month, SOH.OrderDate), PC.Name
    

    Il set di dati condiviso viene visualizzato in Esplora soluzioni.

  3. Nel riquadro Dati report creare un set di dati denominato EmpSalesMonth2008R2.

  4. Nella finestra di dialogo Proprietà set di dati selezionare Utilizzare un set di dati condiviso e fare clic sul set di dati appena creato in Esplora soluzioni.

Creare SalesEmployees2008R2

Per creare il set di dati per un elenco di valori disponibili per i dipendenti

  1. In Esplora soluzioni aggiungere un set di dati condiviso denominato SalesEmployees2008R2.

    Questi dati forniscono i valori validi per il parametro @EmployeeID.

  2. Utilizzare l'origine dati condivisa AdventureWorks2008R2 e la query seguente:

    SELECT s.[BusinessEntityID], p.[FirstName] + N' ' + p.LastName AS Employee, e.[JobTitle]
    FROM [Sales].[SalesPerson] s
       INNER JOIN [HumanResources].[Employee] e ON e.[BusinessEntityID] = s.[BusinessEntityID]
       INNER JOIN [Person].[Person] p ON p.[BusinessEntityID] = s.[BusinessEntityID]
    

    Il set di dati condiviso viene visualizzato in Esplora soluzioni.

  3. Nel riquadro Dati report creare un set di dati denominato SalesEmployees2008R2.

  4. Nella finestra di dialogo Proprietà set di dati selezionare Utilizzare un set di dati condiviso e fare clic sul set di dati appena creato in Esplora soluzioni.

Configurare i parametri di report

Nei set di dati condivisi sono presenti query del set di dati con le relative variabili per ReportYear, ReportMonth e EmployeeID. I parametri di report corrispondenti vengono creati automaticamente per ogni variabile di query. Per impostazione predefinita, le proprietà per ogni parametro di report vengono impostate per il tipo di dati String, per il valore singolo e per l'elenco di valori non predefiniti o validi. È necessario configurare manualmente ogni parametro in base alle esigenze.

Modificare l'ordine dei parametri

Per modificare l'ordine dei parametri sulla barra degli strumenti del visualizzatore di report

  1. Nel riquadro Dati report fare clic su ShowAll.

  2. Nella barra degli strumenti del riquadro Dati report fare clic su Sposta giù finché il parametro non occupa l'ultima posizione dell'elenco.

  3. Fare clic su ReportMonth.

  4. Fare clic su Sposta su finché il parametro non occupa la prima posizione dell'elenco.

Configurare ReportMonth

Configurare @ReportMonth per accettare valori solo da un set di valori specificato individualmente. Il valore predefinito deve essere uno di questi valori, altrimenti il report non verrà eseguito automaticamente.

Per configurare il parametro del report @ReportMonth

  1. Nel riquadro Dati report espandere Parametri.

  2. Aprire Proprietà parametri per @ReportMonth.

  3. Nella pagina Generale impostare Tipo di dati su Integer.

  4. Nella pagina Valori disponibili selezionare Imposta valori.

  5. Aggiungere una voce per ognuno dei 12 mesi. Impostare Etichetta sul nome del mese e Valore sul valore ordinale del mese. Ad esempio, la prima voce è Gennaio e 1. L'ultima voce è Dicembre e 12. Inserire tutti i 12 valori.

  6. Nella pagina Valori predefiniti selezionare Imposta valori. In Valori digitare 7.

Il valore predefinito verrà impostato su Luglio. Il report viene eseguito automaticamente alla prima visualizzazione quando ogni parametro di report ha un valore predefinito.

Configurare ReportYear

Per configurare il parametro del report @ReportYear

  1. Aprire Proprietà parametri per @ReportYear.

  2. Nella pagina Generale impostare Tipo di dati su Integer.

  3. Nella pagina Valori predefiniti selezionare Imposta valori.

  4. Aggiungere un valore. In Valori digitare 2007.

Configurare EmployeeID

Per configurare il parametro del report @EmployeeID

  1. Aprire Proprietà parametri per @EmployeeID.

  2. Nella pagina Generale impostare Messaggio di richiesta su Dipendente.

  3. Impostare Tipo di dati su Integer.

  4. Nella pagina Valori disponibili selezionare Ottieni valori da una query.

  5. In Set di dati selezionare SalesEmployees2008R2.

  6. In Valore selezionare BusinessEntityID.

  7. In Etichetta selezionare Employee.

  8. Nella pagina Valori predefiniti selezionare Imposta valori. In Valori digitare 283. Questo valore è l'ID dipendente per David Campbell.

Aggiungere la descrizione dello scenario

Per aggiungere la descrizione dello scenario

  • Nella casella di testo della descrizione dello scenario sostituire il testo esistente con il seguente:

    In qualità di venditore di AdventureWorks, desidero sapere come confrontare le mie vendite con le vendite stagionali negli anni precedenti.

    I grafici sparkline e a linee mostrano le vendite anno per anno per tutte le categorie.

    La matrice con gli indicatori mostra le vendite correnti rispetto alle quote. Modificare i valori delle quote nella barra degli strumenti del visualizzatore di report.

    Gli istogrammi e i grafici a barre dei dati mostrano le vendite in ogni categoria.

Nelle lezioni successive verranno creati collegamenti da parole del testo alle aree dati correlate.

Visualizzare l'origine dati, il set di dati e i valori dei parametri

È possibile visualizzare il testo del comando della query del set di dati e i valori scelti dall'utente per ogni parametro di report. Per ridurre il disordine nel report, posizionare queste informazioni in caselle di testo in un contenitore rettangolare nascosto in modo condizionale nell'ultima pagina.

Per aggiungere un rettangolo

  1. Aggiungere un rettangolo nella parte inferiore del report, sopra il piè di pagina.

  2. In Proprietà rettangolo effettuare le operazioni seguenti:

    1. Nella pagina Generale selezionare Aggiungi un'interruzione di pagina prima.

    2. Nella pagina Visibilità selezionare Mostra o nascondi in base a un'espressione e digitare: =NOT Parameters!ShowAll.Value

Nei passaggi seguenti aggiungere ogni casella di testo al rettangolo non appena completato. Espandere il rettangolo in base alle esigenze. Utilizzando il rettangolo come un contenitore, è possibile spostare facilmente tutte le caselle di testo come un'unità.

Per aggiungere una casella di testo in cui vengono visualizzati i valori dei parametri

  1. Nel corpo del report aggiungere una casella di testo con il testo seguente su righe diverse:

    1. Report mensile: [@ReportMonth] [@ReportMonth.Label]

    2. Report annuale: [@ReportYear]

    3. EmployeeID: [@EmployeeID] [@EmployeeID.Label]

  2. Trascinare la casella di testo nel rettangolo e regolare le dimensioni in base alle esigenze.

Per aggiungere una casella di testo in cui vengono visualizzate le informazioni sull'origine dati e sul set di dati

  1. Nel corpo del report aggiungere una casella di testo denominata DataSourceandDatasets con il testo seguente:

    1. Origine dati AdventureWorks2008R2:

    2. Creare un segnaposto denominato AdventureWorks2008R2 con il valore seguente: =DataSources!AdventureWorks2008R2.DataSourceReference

    3. Set di dati EmployeeSalesYearOverYear2008R2:

    4. Creare un segnaposto denominato EmployeeSalesYearOverYear2008R2 con il valore seguente: =DataSets!EmployeeSalesYearOverYear2008R2.CommandText.

    5. Set di dati EmployeeSalesDetail2008R2:

    6. Creare un segnaposto denominato EmployeeSalesDetail2008R2 con il valore seguente: =DataSets! EmployeeSalesDetail2008R2.CommandText.

    7. Set di dati EmpSalesMonth2008R2.

    8. Creare un segnaposto denominato EmpSalesMonth2008R2 con il valore seguente: =DataSets! EmpSalesMonth2008R2.CommandText.

  2. Formattare il testo in base alle esigenze. Ad esempio, sottolineare il nome del set di dati.

  3. Trascinare la casella di testo nel rettangolo e regolare le dimensioni in base alle esigenze.

Aggiungere la descrizione

Per aggiungere la descrizione

  1. Nel piè di pagina sostituire il testo nella casella di testo della descrizione con il seguente:

    Scopo: report di riepilogo. Visualizza le vendite anno per anno per tutte le categorie, per singole categorie e per quote. Include grafici (a linee, sparkline, istogrammi con cambi di scala, a barre dei dati), Tablix (righe con l'elemento Toggle, gruppo di righe, indicatori a livello di tabella e di gruppo), variabili di gruppo e di report, contenitori rettangolari, set di dati condivisi, origine dati condivisa, codice personalizzato per colore della linea del grafico, segnalibri, azione drill-through, parametri multivalore e parametri per controllare la visibilità condizionale di caselle di testo e righe con l'elemento Toggle.

  2. Fare clic sullo sfondo del report per visualizzare Proprietà report nel riquadro delle proprietà.

  3. In Descrizione incollare il testo della descrizione.

Aggiungere il titolo del report

Per aggiungere il titolo del report

  1. Nell'intestazione di pagina aggiungere una casella di testo con il testo seguente su due righe:

    Sales Report for [@EmployeeID.Label]

    [@ReportMonth.Label], [@ReportYear]

  2. Formattare in base alle esigenze.

Visualizzare l'anteprima del report

Per visualizzare l'anteprima e verificare il report

  1. Visualizzare l'anteprima del report.

  2. Verificare che il report venga eseguito automaticamente.

  3. Nella barra degli strumenti del visualizzatore di report verificare gli elementi seguenti:

    1. ReportMonth contiene un elenco a discesa di tutti i mesi. Per impostazione predefinita, il valore è Luglio.

    2. ReportYear contiene il valore predefinito 2007.

    3. Employee contiene un elenco a discesa dei nomi di tutti i dipendenti. Per impostazione predefinita, il valore è David Campbell.

  4. Nell'intestazione di pagina vengono visualizzati il logo, nonché il nome e il titolo del report.

  5. Quando si fa clic sull'elemento Toggle, viene visualizzato il testo dello scenario.

  6. Quando si imposta ShowAll su True e si esegue il report, i valori dei parametri, le informazioni sull'origine dati e sul set di dati e la descrizione vengono visualizzati nell'ultima pagina del report.

Distribuire il report

Per distribuire il report

  1. In Esplora soluzioni fare clic con il pulsante destro del mouse sul progetto, quindi scegliere Distribuisci. Controllare la presenza di errori nella riga di stato di BI Development Studio o nel riquadro di output.

    Nota

    Poiché il report dipende dai set di dati condivisi, alla prima distribuzione del report è necessario distribuire l'intero progetto.

  2. In un browser passare al server di report o al sito di SharePoint e verificare che le origini dati condivise, i set di dati condivisi e i report vengano visualizzati nelle cartelle corrette e che sia possibile visualizzare i report.

Passaggi successivi

È stata completata la creazione di un progetto di report e di un report di base. Ora è possibile creare un report di esempio. Per ulteriori informazioni, vedere Esercitazioni: Creazione dei report di esempio di AdventureWorks 2008R2 (SSRS).