Grafici mappa ad albero e radiali in Reporting ServicesTreemap and sunburst charts in Reporting Services

Serve aiuto? Serve aiuto? Forum MSDN, Stackoverflow, ConnectNeed help? Need help? MSDN Forum, Stackoverflow, Connect

Le visualizzazioni mappa ad albero e radiali di SQL Server Reporting ServicesReporting Services sono ideali per la rappresentazione visiva dei dati gerarchici.The SQL Server Reporting ServicesReporting Services treemap and sunburst visualizations are great for visually representing hierarchical data. Questo argomento offre una panoramica su come aggiungere un grafico mappa ad albero o radiale a un report di Reporting ServicesReporting Services.This article is an overview of how to add a treemap or sunburst chart to a Reporting ServicesReporting Services report. L'articolo include anche una query di esempio AdventureWorks per iniziare.The article also includes an AdventureWorks sample query to help you get started.

Grafico mappa ad albero Treemap chart

Un grafico mappa ad albero divide l'area del grafico in rettangoli che rappresentano i diversi livelli e le relative dimensioni della gerarchia dei dati.A treemap chart divides the chart area into rectangles that represent the different levels and relative sizes of the data hierarchy. La mappa è simile ai rami degli alberi che iniziano dal tronco e si suddividono via via in rami sempre più piccoli.The map is similar to branches on a tree that start with a trunk and divide into smaller and smaller branches. Ogni rettangolo viene suddiviso in rettangoli più piccoli che rappresentano il livello successivo nella gerarchia.Each rectangle is broken into smaller rectangles that represent the next level in the hierarchy. I rettangoli al livello superiore della mappa ad albero sono disposti con il rettangolo più grande nell'angolo superiore sinistro e il rettangolo più piccolo nell'angolo inferiore destro del grafico.The top-level treemap rectangles are arranged with the largest rectangle in the upper left corner of the chart to the smallest rectangle in the lower right corner. All'interno di ogni rettangolo, il livello successivo del rettangolo superiore presenta rettangoli dalla parte superiore sinistra fino in basso a destra.Within a rectangle, the next level of the higher is also arranged with rectangles from the upper left to the lower right.

Ad esempio, nell'immagine di esempio seguente del grafico mappa ad albero il territorio Southwest (Sud-Ovest) è il più grande e il territorio Germany (Germania) è il più piccolo.For example, in the following image of the sample treemap, the Southwest territory is the largest and Germany is the smallest. All'interno di del quadrato Sud-Ovest, il rettangolo Road Bikes è più grande del rettangolo Mountain Bikes.Within the Southwest, Road Bikes are larger than Mountain Bikes.

ssrs_treemap_examplessrs_treemap_example

Per inserire un grafico mappa ad albero e configurare i dati AdventureWorks di esempioTo insert a treemap chart and set up the sample AdventureWorks data

Nota

Prima di aggiungere un grafico al report, creare un'origine dati e un set di dati.Before you add a chart to your report, create a data source and dataset. Per i dati di esempio e una query di esempio, vedere Dati AdventureWorks di esempio.For sample data and a sample query, see Sample AdventureWorks data.

  1. Fare clic con il pulsante destro del mouse nell'area di progettazione e selezionare Inserisci > Grafico.Right-click the design surface, then select Insert > Chart. Selezionare l'icona Mappa ad albero.Select the Treemap icon.

    ssrs_treemap_iconssrs_treemap_icon

  2. Riposizionare e ridimensionare il grafico.Reposition and resize the chart. Per l'uso con i dati di esempio, è consigliabile iniziare con un grafico di 5 pollici.To use with the sample data, a chart that is 5 inches wide is a good start.

  3. Aggiungere i seguenti campi dai dati di esempio:Add the following fields from the sample data:

    • Valori: LineTotalValues: LineTotal
    • Gruppi di categorie (nel seguente ordine):Category Groups (in the following order):
      1. CategoryNameCategoryName
      2. SubcategoryNameSubcategoryName
    • Gruppi di serie: TerritoryNameSeries Groups: TerritoryName

    ssrs_treemap_example_propertiesssrs_treemap_example_properties

  4. Per ottimizzare le dimensioni della pagina per la forma generale di un grafico mappa ad albero, impostare la posizione della legenda nella parte inferiore.To optimize the page size for the general shape of a treemap, set the legend position to the bottom.

  5. Per aggiungere descrizioni comando che consentono di visualizzare la sottocategoria e il totale della riga, fare clic con il pulsante destro del mouse su LineTotal e selezionare Proprietà serie.To add tooltips that display the subcategory and the line total, right-click LineTotal, and then select Series Properties.

    ssrs_visualization_seriespropertiesssrs_visualization_seriesproperties

    Impostare la proprietà Descrizione comando con il valore seguente:Set the Tooltip property to the following value:

    =Fields!SubcategoryName.Value &": " &Format(Sum(Fields!LineTotal.Value),"C")  
    

    Per altre informazioni, vedere Visualizzare descrizioni comando in una serie (Generatore report e SSRS).For more information, see Show ToolTips on a series (Report Builder and SSRS).

  6. Modificare il titolo predefinito del grafico in Categorized Sales by Territory.Change the default chart title to Categorized Sales by Territory.

  7. Il numero di valori di etichetta visualizzati dipende dalle dimensioni del carattere, dalle dimensioni dell'area totale del grafico e dalle dimensioni dei rettangoli specifici.The number of label values that are displayed are affected by the size of the font, the size of the overall chart area, and the size of specific rectangles. Per visualizzare più etichette, impostare la proprietà Carattere etichetta di LineTotal su 10 pt modificando il valore predefinito 8 pt.To see more labels, change the Label Font property of LineTotal to 10pt from the default of 8pt.

Grafico radiale Sunburst chart

In un grafico radiale la gerarchia è rappresentata da una serie di cerchi.In a sunburst chart, the hierarchy is represented by a series of circles. Il livello più alto della gerarchia si trova al centro e i livelli inferiori della gerarchia sono anelli concentrici.The highest level of the hierarchy is in the center, and lower levels of the hierarchy are rings displayed outside the center. Il livello più basso della gerarchia è rappresentato dall'anello esterno.The lowest level of the hierarchy is the outside ring.

ssrs_sunburst_examplessrs_sunburst_example

Per inserire un grafico radiale e configurare i dati AdventureWorks di esempioTo insert a sunburst chart and set up the sample AdventureWorks data

Nota

Prima di aggiungere un grafico al report, creare un'origine dati e un set di dati.Before you add a chart to your report, create a data source and dataset. Per i dati di esempio e una query di esempio, vedere Dati AdventureWorks di esempio.For sample data and a sample query, see Sample AdventureWorks data.

  1. Fare clic con il pulsante destro del mouse nell'area di progettazione e selezionare Inserisci > Grafico.Right-click the design surface, and then select Insert > Chart. Selezionare l'icona Radiale.Select the Sunburst icon.

    ssrs_sunburst_iconssrs_sunburst_icon

  2. Riposizionare e ridimensionare il grafico.Reposition and resize the chart. Per l'uso con i dati di esempio, è consigliabile iniziare con un grafico di 5 pollici.To use with the sample data, a chart that is 5 inches wide is a good start.

  3. Aggiungere i seguenti campi dai dati di esempio:Add the following fields from the sample data:

    • Valori: LineTotalValues: LineTotal
    • Gruppi di categorie (nel seguente ordine):Category Groups (in the following order):
      1. CategoryNameCategoryName
      2. SubcategoryNameSubcategoryName
      3. SalesReasonNameSalesReasonName
    • Gruppi di serie: TerritoryNameSeries Groups: TerritoryName

    ssrs_treemap_example_propertiesssrs_treemap_example_properties

  4. Per ottimizzare le dimensioni della pagina per la forma generale di un grafico radiale, impostare la posizione della legenda nella parte inferiore.To optimize the page size for the general shape of a sunburst chart, set the legend position to the bottom.

  5. Modificare il titolo predefinito del grafico in Categorized Sales by Territory, with sales reason.Change the default chart title to Categorized Sales by Territory, with sales reason.

  6. Per aggiungere i valori dei gruppi di categoria al grafico radiale come etichette, impostare le proprietà delle etichette come segue: Visible=true e UseValueAsLabel=False.To add the values of the category groups to the sunburst as labels, set the label properties Visible=true and UseValueAsLabel=false.

    I valori di etichetta visualizzati dipendono dalle dimensioni del carattere, dalle dimensioni dell'area totale del grafico e dalle dimensioni dei rettangoli specifici.The label values that are displayed are affected by the size of the font, the size of the overall chart area, and the size of specific rectangles. Per visualizzare più etichette, impostare la proprietà Carattere etichetta di LineTotal su 10 pt modificando il valore predefinito 8 pt.To see more labels, change the Label Font property of LineTotal to 10pt from the default of 8pt.

    ssrs_sunburst_linetotalpropertiesssrs_sunburst_linetotalproperties

  7. Se si desidera una combinazione di colori diversa, modificare la proprietà Tavolozza del grafico.If you want a different range of colors, change the chart Palette property.

    ssrs_visualization_palettessrs_visualization_palette

Dati AdventureWorks di esempio Sample AdventureWorks data

Questa sezione include una query di esempio e la procedura di base per la creazione di un'origine e di un set di dati in Generatore reportReport Builder.This section includes a sample query and the basic steps for creating a data source and dataset in Generatore reportReport Builder. Se il report contiene già un'origine e un set di dati, ignorare questa sezione.If your report already contains a data source and dataset, you can skip this section.

La query restituisce dati dettagliati sugli ordini di vendita AdventureWorks con il territorio di vendita, la categoria e la sottocategoria del prodotto e dati sul motivo della vendita.The query returns AdventureWorks sales order detail data with sales territory, product category, product subcategory, and sales reason data.

  1. Ottenere i dati.Get the data.

    La query in questa sezione è basata sul database AdventureWorks, disponibile per il download in GitHub: Adventure Works 2016 full database backup (Backup completo del database Adventure Works 2016).The query in this section is based on the AdventureWorks database, which is available for download from GitHub: AdventureWorks 2016 full database backup.

  2. Creare un'origine dati.Create a data source.

    1. In Dati report fare clic con il pulsante destro del mouse su Origini dati e selezionare Aggiungi origine dati.Under Report Data, right-click Data Sources, and then select Add data source.

    2. Selezionare Usa una connessione incorporata nel report.Select Use a connection embedded in my report.

    3. Per il tipo di connessione selezionare Microsoft SQL Server.For connection type, select Microsoft SQL Server.

    4. Immettere la stringa di connessione per il server e il database.Enter the connection string to your server and database. Esempio:For example:

      Data Source=[server name];Initial Catalog=AdventureWorks2016  
      
    5. Per verificare la connessione fare clic sul pulsante Verifica connessione e quindi selezionare OK.To verify the connection, select the Test Connection button, and then select OK.

      Per altre informazioni sulla creazione di un'origine dati, vedere Aggiungere e verificare una connessione dati (Generatore report e SSRS).For more information about creating a data source, see Add and verify a data connection (Report Builder and SSRS).

  3. Creare un set di dati.Create a dataset.

    1. In Dati report fare clic con il pulsante destro del mouse su Set di dati e selezionare Aggiungi set di dati.Under Report Data, right-click Datasets, and then select Add dataset.

    2. Scegliere Utilizzare un set di dati incorporato nel report.Select Use a dataset embedded in my report.

    3. Selezionare l'origine dati che è stata creata.Select the data source that you created.

    4. Selezionare il tipo di query Testo, quindi copiare e incollare la query seguente nella casella di testo Query:Select the Text query type, and then copy and paste the following query into the Query text box:

      SELECT    Sales.SalesOrderHeader.SalesOrderID, Sales.SalesOrderHeader.OrderDate, Sales.SalesOrderDetail.SalesOrderDetailID, Sales.SalesOrderDetail.ProductID, Sales.SalesOrderDetail.LineTotal,   
                               Sales.SalesOrderDetail.UnitPrice, Sales.SalesOrderDetail.OrderQty, Production.Product.Name, Production.Product.ProductNumber, Sales.SalesTerritory.TerritoryID, lower(Sales.SalesTerritory.Name) AS TerritoryName,   
                               Production.ProductSubcategory.Name AS SubcategoryName, Production.ProductCategory.Name AS CategoryName, Sales.SalesReason.SalesReasonID, Sales.SalesReason.Name AS SalesReasonName  
      FROM            Sales.SalesOrderDetail INNER JOIN  
                               Sales.SalesOrderHeader ON Sales.SalesOrderDetail.SalesOrderID = Sales.SalesOrderHeader.SalesOrderID INNER JOIN  
                               Production.Product ON Sales.SalesOrderDetail.ProductID = Production.Product.ProductID INNER JOIN  
                               Sales.SalesTerritory ON Sales.SalesOrderHeader.TerritoryID = Sales.SalesTerritory.TerritoryID AND Sales.SalesOrderHeader.TerritoryID = Sales.SalesTerritory.TerritoryID AND   
                               Sales.SalesOrderHeader.TerritoryID = Sales.SalesTerritory.TerritoryID INNER JOIN  
                               Production.ProductSubcategory ON Production.Product.ProductSubcategoryID = Production.ProductSubcategory.ProductSubcategoryID AND   
                               Production.Product.ProductSubcategoryID = Production.ProductSubcategory.ProductSubcategoryID AND   
                               Production.Product.ProductSubcategoryID = Production.ProductSubcategory.ProductSubcategoryID INNER JOIN  
                               Production.ProductCategory ON Production.ProductSubcategory.ProductCategoryID = Production.ProductCategory.ProductCategoryID AND   
                               Production.ProductSubcategory.ProductCategoryID = Production.ProductCategory.ProductCategoryID AND   
                               Production.ProductSubcategory.ProductCategoryID = Production.ProductCategory.ProductCategoryID INNER JOIN  
                               Sales.SalesOrderHeaderSalesReason ON Sales.SalesOrderHeader.SalesOrderID = Sales.SalesOrderHeaderSalesReason.SalesOrderID AND   
                               Sales.SalesOrderHeader.SalesOrderID = Sales.SalesOrderHeaderSalesReason.SalesOrderID AND Sales.SalesOrderHeader.SalesOrderID = Sales.SalesOrderHeaderSalesReason.SalesOrderID AND   
                               Sales.SalesOrderHeader.SalesOrderID = Sales.SalesOrderHeaderSalesReason.SalesOrderID INNER JOIN  
                               Sales.SalesReason ON Sales.SalesOrderHeaderSalesReason.SalesReasonID = Sales.SalesReason.SalesReasonID AND   
                               Sales.SalesOrderHeaderSalesReason.SalesReasonID = Sales.SalesReason.SalesReasonID AND Sales.SalesOrderHeaderSalesReason.SalesReasonID = Sales.SalesReason.SalesReasonID AND   
                               Sales.SalesOrderHeaderSalesReason.SalesReasonID = Sales.SalesReason.SalesReasonID  
      
    5. Fare clic su OK.Select OK.

      Per altre informazioni sulla creazione di un set di dati, vedere Creare un set di dati condiviso o un set di dati incorporato (Generatore report e SSRS).For more information about creating a dataset, see Create a shared dataset or embedded dataset (Report Builder and SSRS).

Vedere ancheSee also