Lezione 1: Definizione di una query del set di dati per un report matrice
- In questa lezione verrà aggiunto un nuovo report al progetto server report creato nell'esercitazione Creazione di un report tabella semplice e inoltre verranno definite un'origine dati e una query del set di dati. Come origine dati verrà utilizzato il database di esempio AdventureWorks2008. Durante l'esercitazione si presuppone che il database si trovi nell'istanza predefinita di SQL Server installata nel computer locale.
Per aprire un progetto di Reporting Services esistente
Fare clic sul pulsante Start, scegliere Tutti i programmi, Microsoft SQL Server 2008, quindi Business Intelligence Development Studio.
Scegliere Apri dal menu File, quindi selezionare Progetto/Soluzione.
Passare al progetto server report denominato Tutorial.
Nella cartella Tutorial fare clic su Tutorial.sln.
Fare clic su Apri per aprire il progetto.
Il progetto Tutorial verrà visualizzato in Esplora soluzioni.
Per creare un nuovo report
In Esplora soluzioni fare clic con il pulsante destro del mouse su Report, scegliere Aggiungi, quindi fare clic su Nuovo elemento.
[!NOTA]
Se Esplora soluzioni non è visualizzato, scegliere Esplora soluzioni dal menu Visualizza.
Nel riquadro Modelli della finestra di dialogo Aggiungi nuovo elemento selezionare Report.
Nella casella Nome digitare Sales by Area and Year.rdl e fare clic su Aggiungi.
La finestra Progettazione report verrà aperta in modalità progettazione, con una definizione di report vuota.
Per definire una query Transact-SQL per i dati del report
Nel riquadro Dati report fare clic su Nuova, quindi su Origine dati.
Nella casella Nome digitare AdventureWorksMatrixData.
In Origine dati fare clic su Nuova. Verrà visualizzata la finestra di dialogo Proprietà origine dati.
Nella casella Nome digitare AdventureWorks2008.
Verificare che l'opzione Connessione incorporata sia selezionata e che Tipo sia impostato su Microsoft SQL Server.
In Stringa di connessione digitare quanto segue:
Data source=localhost; initial catalog=AdventureWorks2008
Fare clic su OK.
L'origine dati verrà visualizzata nel riquadro Dati report.
Nel riquadro Dati report fare clic con il pulsante destro del mouse su AdventureWorks2008, quindi scegliere Aggiungi set di dati.
Nella casella Nome digitare Sales.
In Tipo di query verificare che sia selezionata l'opzione Testo.
Al di sotto del riquadro Query fare clic su Progettazione query per aprire la finestra di progettazione query basata su testo.
Nel riquadro delle query incollare la query Transact-SQL seguente:
SELECT SOH.SalesPersonID AS ID, P.FirstName, P.LastName, SOH.SalesOrderNumber AS [Order], SOH.OrderDate AS [Date], DATEPART(yy, SOH.OrderDate) AS [Year], DATEPART(mm, SOH.OrderDate) AS [Month], ST.[Group] AS [Geography], ST.CountryRegionCode AS CountryRegion, ST.Name AS Territory, PPC.Name AS Category, PPS.Name AS Subcat, PP.Name AS Product, PP.Color, PP.Size, CASE WHEN PP.Size = 'S' THEN 1 WHEN PP.Size = 'M' THEN 2 WHEN PP.Size = 'L' THEN 3 WHEN PP.Size = 'XL' THEN 4 ELSE PP.Size END AS SizeSortOrder, SUM(SD.OrderQty) AS Qty, SUM(SD.LineTotal) AS LineTotal FROM Sales.SalesPerson AS SP INNER JOIN Sales.SalesOrderHeader AS SOH ON SP.BusinessEntityID = SOH.SalesPersonID INNER JOIN Person.Person AS P ON P.BusinessEntityID = SP.BusinessEntityID INNER JOIN Sales.SalesOrderDetail AS SD ON SD.SalesOrderID = SOH.SalesOrderID INNER JOIN Production.Product AS PP ON SD.ProductID = PP.ProductID INNER JOIN Sales.SalesTerritory AS ST ON ST.TerritoryID = SP.TerritoryID INNER JOIN Production.ProductSubcategory AS PPS ON PP.ProductSubcategoryID = PPS.ProductSubcategoryID INNER JOIN Production.ProductCategory AS PPC ON PPC.ProductCategoryID = PPS.ProductCategoryID GROUP BY PPC.Name, SOH.OrderDate, SOH.SalesOrderNumber, PPS.Name, PP.Name, SOH.SalesPersonID, P.LastName, P.FirstName, ST.[Group], ST.CountryRegionCode, ST.Name, PP.Color, PP.Size HAVING (DATEPART(yy,SOH.OrderDate) IN ('2003','2004') AND ST.[Group] = 'North America' AND LEFT(PPS.Name,1) IN ('C','T') AND LEFT(PPC.Name,1) = 'C')
Per visualizzare i risultati della query, fare clic su Esegui (!) sulla barra degli strumenti Progettazione query.
Nel set di risultati verranno visualizzati i dati contenuti in 18 campi di sette tabelle differenti del database AdventureWorks2008. La query include diversi campi che possono essere utilizzati per raggruppare i dati nel report, tra cui i campi relativi all'anno e al mese della data dell'ordine, alla posizione geografica dell'area di vendita (per countryregion e territory) e alla categoria e sottocategoria del prodotto. I dati di vendita, inoltre, sono stati filtrati per recuperare solo gli ordini di vendita degli anni 2003 e 2004, per le vendite effettuate in America del nord, per le categorie Clothing e Components e per le sottocategorie che iniziano con la lettera C. In questa esercitazione i filtri vengono utilizzati per creare esempi in formato ridotto visualizzabili in una sola pagina.
Fare clic su OK. Fare di nuovo clic su OK.
I campi della query del set di dati verranno visualizzati nel riquadro Dati report.
Attività successiva
In questo modo si è specificata una query che recupera i dati per il report. Successivamente, si aggiungerà un'area dati matrice all'area di progettazione e i dati contenuti nella matrice verranno organizzati mediante l'aggiunta di gruppi. Vedere Lezione 2: Aggiunta di un'area dati matrice con gruppi di righe e di colonne.