Gráficos de mapa de árvore e explosão solar em um relatório paginado no SQL Server Reporting Services (Construtor de Relatórios)

Aplica-se a: Construtor de Relatórios da Microsoft (SSRS) Construtor de Relatórios do Power BI Designer de Relatórios no SQL Server Data Tools

As visualizações de mapa de árvore e explosão solar do Construtor de Relatórios do SQL Server são ótimas para representar dados hierárquicos visualmente em um relatório paginado. Este artigo é uma visão geral de como adicionar um gráfico de mapa de árvore ou explosão solar a um relatório. O artigo também inclui uma consulta de exemplo do AdventureWorks para ajudá-lo a começar.

Gráfico de mapa de árvore

Um gráfico de mapa de árvore divide a área do gráfico em retângulos que representam os diferentes níveis e os tamanhos relativos da hierarquia de dados. O mapa é semelhante às ramificações de uma árvore, começando com um tronco e dividindo-se em galhos menores. Cada retângulo é dividido em retângulos menores que representam o próximo nível na hierarquia. Os retângulos de nível superior do mapa de árvore são organizados com o retângulo maior no canto superior esquerdo do gráfico até o retângulo menor no canto inferior direito. Dentro de um retângulo, o próximo nível mais alto também é disposto com retângulos do canto superior esquerdo para o canto inferior direito.

Por exemplo, na imagem do mapa de árvore de exemplo a seguir, a região Sudoeste é a maior e a Alemanha é a menor. Dentro da região Southwest, Road Bikes são maiores do que Mountain Bikes.

ssrs_treemap_example

Para inserir um gráfico de mapa de árvore e configurar os dados de exemplo do AdventureWorks

Observação

Antes de adicionar um gráfico ao relatório, crie uma fonte de dados e um conjunto de dados. Para obter dados e uma consulta de exemplo, consulte Dados de exemplo do AdventureWorks.

  1. Clique com o botão direito do mouse na área de design e, em seguida, selecione Inserir>Gráfico. Selecione o ícone Mapa de árvore.

    ssrs_treemap_icon

  2. Reposicione e redimensione o gráfico. Para uso com os dados de exemplo, um gráfico com cinco polegadas de largura é um bom começo.

  3. Adicione os seguintes campos dos exemplos de dados:

    • Valores: LineTotal
    • Grupos de Categorias (na seguinte ordem):
      1. CategoryName
      2. SubcategoryName
    • Grupos de séries: TerritoryName

    ssrs_treemap_example_properties

  4. Para otimizar o tamanho da página para uma forma geral de um mapa de árvore, defina a posição da legenda na parte inferior.

  5. Para adicionar dicas de ferramenta que exibem a subcategoria e o total de linhas, clique com o botão direito do mouse em LineTotal e, em seguida, selecione Propriedades da Série.

    ssrs_visualization_seriesproperties

    Defina a propriedade Dica de Ferramenta com o seguinte valor:

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

    Para obter mais informações, confira Mostrar Dicas de Ferramenta em uma série (Construtor de Relatórios e SSRS).

  6. Altere o título padrão do gráfico para Vendas Categorizadas por Região.

  7. A quantidade de valores de rótulo exibidos é afetada pelo tamanho da fonte, o tamanho da área geral do gráfico e o tamanho de retângulos específicos. Para ver mais rótulos, altere a propriedade Fonte do Rótulo de LineTotal para 10pt, do padrão de 8pt.

Gráfico de explosão solar

Em um gráfico de índice UV, a hierarquia é representada por uma série de círculos. O nível mais alto da hierarquia está no centro e os níveis inferiores da hierarquia são anéis exibidos fora do centro. O nível mais baixo da hierarquia é o anel externo.

ssrs_sunburst_example

Para inserir um gráfico de explosão solar e configurar os dados de exemplo do AdventureWorks

Observação

Antes de adicionar um gráfico ao relatório, crie uma fonte de dados e um conjunto de dados. Para obter dados e uma consulta de exemplo, consulte Dados de exemplo do AdventureWorks.

  1. Clique com o botão direito do mouse na área de design e, em seguida, selecione Inserir>Gráfico. Selecione o ícone Explosão solar.

    ssrs_sunburst_icon

  2. Reposicione e redimensione o gráfico. Para uso com os dados de exemplo, um gráfico com cinco polegadas de largura é um bom começo.

  3. Adicione os seguintes campos dos exemplos de dados:

    • Valores: LineTotal
    • Grupos de Categorias (na seguinte ordem):
      1. CategoryName
      2. SubcategoryName
      3. SalesReasonName
    • Grupos de séries: TerritoryName

    ssrs_treemap_example_properties

  4. Para otimizar o tamanho da página para uma forma geral de um mapa de explosão solar, defina a posição da legenda na parte inferior.

  5. Altere o título padrão do gráfico para Vendas Categorizadas por Região, com o motivo das vendas.

  6. Para adicionar os valores dos grupos de categorias como rótulos à explosão solar, defina a propriedade do rótulo Visible=true e UseValueAsLabel=false.

    Os valores de rótulo exibidos é afetada pelo tamanho da fonte, o tamanho da área geral do gráfico e o tamanho de retângulos específicos. Para ver mais rótulos, altere a propriedade Fonte do Rótulo de LineTotal para 10pt, do padrão de 8pt.

    ssrs_sunburst_linetotalproperties

  7. Se você quiser uma variedade de cores diferente, mude a propriedade Paleta do gráfico.

    ssrs_visualization_palette

Dados de exemplo do AdventureWorks

Esta seção inclui uma consulta de exemplo e as etapas básicas para criação de uma fonte de dados e um conjunto de dados no Construtor de Relatórios. Se o relatório já contiver uma fonte de dados e um conjunto de dados, ignore esta seção.

A consulta retorna dados de detalhes de ordem de venda do AdventureWorks, com região de vendas, categoria de produto, subcategoria de produto e dados do motivo das vendas.

  1. Obter os dados.

    Os exemplos de código do Transact-SQL deste artigo usa o banco de dados de exemplo AdventureWorks2022 ou AdventureWorksDW2022, que pode ser baixado da home page Microsoft SQL Server Samples and Community Projects.

  2. Criar uma fonte de dados.

    1. Em Dados de Relatório, clique com o botão direito do mouse em Fontes de Dados e selecione Adicionar fonte de dados.

    2. Escolha Usar uma conexão inserida em meu relatório.

    3. Para tipo de conexão, selecione Microsoft SQL Server.

    4. Insira a cadeia de conexão do servidor e do banco de dados. Por exemplo:

      Data Source=[server name];Initial Catalog=AdventureWorks2022  
      
    5. Para verificar a conexão, selecione o botão Testar Conexão e, em seguida, selecione OK.

    Para obter mais informações sobre como criar uma fonte de dados, confira Adicionar e verificar uma conexão de dados (Construtor de Relatórios e SSRS).

  3. Criar um conjunto de dados.

    1. Em Dados de Relatório, clique com o botão direito do mouse em Conjuntos de Dados e selecione Adicionar conjunto de dados.

    2. Escolha Usar um conjunto de dados inserido em meu relatório.

    3. Selecione a fonte de dados criada.

    4. Selecione o tipo de consulta Texto e copie e cole a seguinte consulta na caixa de texto Consulta:

      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. Selecione OK.

    Para obter mais informações sobre como criar um conjunto de dados, confira Criar um conjunto de dados compartilhado ou inserido (Construtor de Relatórios e SSRS).