Reporting Services의 트리 맵 및 선버스트 차트Treemap and sunburst charts in Reporting Services

도움이 필요하세요? 도움이 필요하세요? MSDN 포럼, Stackoverflow, ConnectNeed help? Need help? MSDN Forum, Stackoverflow, Connect SQL Server Reporting ServicesReporting Services 트리 맵 및 선버스트 시각화를 사용하면 계층 데이터를 시각적으로 잘 표현할 수 있습니다. The SQL Server Reporting ServicesReporting Services treemap and sunburst visualizations are great for visually representing hierarchical data. 이 문서는 Reporting ServicesReporting Services 보고서에 트리 맵 또는 선버스트 차트를 추가하는 방법에 대한 개요입니다.This article is an overview of how to add a treemap or sunburst chart to a Reporting ServicesReporting Services report. 문서에는 시작할 수 있도록 AdventureWorks 샘플 쿼리가 포함되어 있습니다.The article also includes an AdventureWorks sample query to help you get started.

트리 맵 차트Treemap chart

트리 맵 차트는 차트 영역을 데이터 계층의 서로 다른 수준과 상대적 크기를 나타내는 사각형으로 분할합니다.A treemap chart divides the chart area into rectangles that represent the different levels and relative sizes of the data hierarchy. 이 맵은 트렁크로 시작하여 점점 더 작은 분기로 분할하는 트리의 분기와 유사합니다.The map is similar to branches on a tree that start with a trunk and divide into smaller and smaller branches. 각 사각형은 계층의 다음 수준을 나타내는 더 작은 사각형으로 구분됩니다.Each rectangle is broken into smaller rectangles that represent the next level in the hierarchy. 최상위 수준 트리 맵 사각형은 차트의 왼쪽 위에 가장 큰 사각형이 있고 가장 작은 사각형이 오른쪽 아래에 있도록 정렬됩니다.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. 사각형 내에서 더 높은 수준의 다음 수준도 사각형이 왼쪽 위에서 오른쪽 아래로 있도록 정렬됩니다.Within a rectangle, the next level of the higher is also arranged with rectangles from the upper left to the lower right.

예를 들어 샘플 트리 맵의 다음 이미지에서는 남서쪽 지역이 가장 크고 독일이 가장 작습니다.For example, in the following image of the sample treemap, the Southwest territory is the largest and Germany is the smallest. 남서쪽 내에서 로드 바이크는 마운틴 바이크보다 더 큽니다.Within the Southwest, Road Bikes are larger than Mountain Bikes.

ssrs_treemap_examplessrs_treemap_example

트리 맵 차트를 삽입하고 샘플 AdventureWorks 데이터를 설정하려면To insert a treemap chart and set up the sample AdventureWorks data

참고

보고서에 차트를 추가하기 전에 데이터 원본 및 데이터 집합을 만듭니다.Before you add a chart to your report, create a data source and dataset. 샘플 데이터 및 샘플 쿼리는 샘플 AdventureWorks 데이터를 참조하세요.For sample data and a sample query, see Sample AdventureWorks data.

  1. 디자인 화면을 마우스 오른쪽 단추로 클릭한 다음 삽입 > 차트를 선택합니다.Right-click the design surface, then select Insert > Chart. 트리 맵 아이콘을 선택합니다.Select the Treemap icon.

    ssrs_treemap_iconssrs_treemap_icon

  2. 차트의 위치 및 크기를 변경합니다.Reposition and resize the chart. 샘플 데이터와 함께 사용하려면 너비가 5인치인 차트로 시작하는 것이 좋습니다.To use with the sample data, a chart that is 5 inches wide is a good start.

  3. 샘플 데이터의 다음 필드를 추가합니다.Add the following fields from the sample data:

    • 값: LineTotalValues: LineTotal
    • 범주 그룹(다음 순서로):Category Groups (in the following order):
      1. CategoryNameCategoryName
      2. SubcategoryNameSubcategoryName
    • 계열 그룹: TerritoryNameSeries Groups: TerritoryName

    ssrs_treemap_example_propertiesssrs_treemap_example_properties

  4. 페이지 크기를 트리 맵의 일반적인 모양에 대해 최적화하려면 범례 위치를 아래쪽으로 설정합니다.To optimize the page size for the general shape of a treemap, set the legend position to the bottom.

  5. 하위 범주 및 라인 합계를 표시하는 도구 설명을 추가하려면 LineTotal 을 마우스 오른쪽 단추로 클릭한 다음 계열 속성을 선택합니다.To add tooltips that display the subcategory and the line total, right-click LineTotal, and then select Series Properties.

    ssrs_visualization_seriespropertiesssrs_visualization_seriesproperties

    도구 설명 속성을 다음 값으로 설정합니다.Set the Tooltip property to the following value:

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

    자세한 내용은 계열에 도구 설명 표시(보고서 작성기 및 SSRS)를 참조하세요.For more information, see Show ToolTips on a series (Report Builder and SSRS).

  6. 기본 차트 제목을 지역별로 분류한 판매로 변경합니다.Change the default chart title to Categorized Sales by Territory.

  7. 표시되는 레이블 값 수는 글꼴 크기, 전체 차트 영역의 크기 및 특정 사각형 크기에 의해 영향을 받습니다.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. 더 많은 레이블을 보려면 LineTotalLabel Font 속성을 기본값 8pt가 아닌 10pt로 변경합니다.To see more labels, change the Label Font property of LineTotal to 10pt from the default of 8pt.

선버스트 차트Sunburst chart

선버스트 차트에서 계층은 일련의 원으로 표시됩니다.In a sunburst chart, the hierarchy is represented by a series of circles. 가장 높은 수준의 계층은 가운데에 위치하며 낮은 수준의 계층은 그 외부에 표시된 링입니다.The highest level of the hierarchy is in the center, and lower levels of the hierarchy are rings displayed outside the center. 계층의 최하위 수준이 외부 링입니다.The lowest level of the hierarchy is the outside ring.

ssrs_sunburst_examplessrs_sunburst_example

선버스트 차트를 삽입하고 샘플 AdventureWorks 데이터를 설정하려면To insert a sunburst chart and set up the sample AdventureWorks data

참고

보고서에 차트를 추가하기 전에 데이터 원본 및 데이터 집합을 만듭니다.Before you add a chart to your report, create a data source and dataset. 샘플 데이터 및 샘플 쿼리는 샘플 AdventureWorks 데이터를 참조하세요.For sample data and a sample query, see Sample AdventureWorks data.

  1. 디자인 화면을 마우스 오른쪽 단추로 클릭한 다음 삽입 > 차트를 선택합니다.Right-click the design surface, and then select Insert > Chart. 선버스트 아이콘을 선택합니다.Select the Sunburst icon.

    ssrs_sunburst_iconssrs_sunburst_icon

  2. 차트의 위치 및 크기를 변경합니다.Reposition and resize the chart. 샘플 데이터와 함께 사용하려면 너비가 5인치인 차트로 시작하는 것이 좋습니다.To use with the sample data, a chart that is 5 inches wide is a good start.

  3. 샘플 데이터의 다음 필드를 추가합니다.Add the following fields from the sample data:

    • 값: LineTotalValues: LineTotal
    • 범주 그룹(다음 순서로):Category Groups (in the following order):
      1. CategoryNameCategoryName
      2. SubcategoryNameSubcategoryName
      3. SalesReasonNameSalesReasonName
    • 계열 그룹: TerritoryNameSeries Groups: TerritoryName

    ssrs_treemap_example_propertiesssrs_treemap_example_properties

  4. 페이지 크기를 선버스트 차트의 일반적인 모양에 대해 최적화하려면 범례 위치를 아래쪽으로 설정합니다.To optimize the page size for the general shape of a sunburst chart, set the legend position to the bottom.

  5. 기본 차트 제목을 지역별로 분류한 판매, 판매 이유 포함으로 변경합니다.Change the default chart title to Categorized Sales by Territory, with sales reason.

  6. 범주 그룹의 값을 선버스트에 레이블로 추가하려면 레이블 속성 Visible=trueUseValueAsLabel=false를 설정합니다.To add the values of the category groups to the sunburst as labels, set the label properties Visible=true and UseValueAsLabel=false.

    표시되는 레이블 값은 글꼴 크기, 전체 차트 영역의 크기 및 특정 사각형 크기에 의해 영향을 받습니다.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. 더 많은 레이블을 보려면 LineTotalLabel Font 속성을 기본값 8pt가 아닌 10pt로 변경합니다.To see more labels, change the Label Font property of LineTotal to 10pt from the default of 8pt.

    ssrs_sunburst_linetotalpropertiesssrs_sunburst_linetotalproperties

  7. 다른 색 범위를 원하는 경우 차트 색상표 속성을 변경합니다.If you want a different range of colors, change the chart Palette property.

    ssrs_visualization_palettessrs_visualization_palette

샘플 AdventureWorks 데이터Sample AdventureWorks data

이 섹션은 데이터 원본 및 보고서 작성기Report Builder의 데이터 집합을 만들기 위한 샘플 쿼리 및 기본 단계를 포함하고 있습니다.This section includes a sample query and the basic steps for creating a data source and dataset in 보고서 작성기Report Builder. 보고서가 이미 데이터 원본 및 데이터 집합을 포함하고 있는 경우 이 섹션을 건너뛸 수 있습니다.If your report already contains a data source and dataset, you can skip this section.

쿼리는 AdventureWorks 판매 주문 세부 정보 데이터를 판매 지역, 제품 범주, 제품 하위 범주 및 판매 이유 데이터와 함께 반환합니다.The query returns AdventureWorks sales order detail data with sales territory, product category, product subcategory, and sales reason data.

  1. 데이터 가져오기Get the data.

    이 섹션의 쿼리는 GitHub AdventureWorks 2016 전체 데이터베이스 백업에서 다운로드할 수 있는 AdventureWorks 데이터베이스를 기반으로 합니다.The query in this section is based on the AdventureWorks database, which is available for download from GitHub: AdventureWorks 2016 full database backup.

  2. 데이터 원본 만들기Create a data source.

    1. 보고서 데이터에서 데이터 원본을 마우스 오른쪽 단추로 클릭하고 데이터 원본 추가를 선택합니다.Under Report Data, right-click Data Sources, and then select Add data source.

    2. 내 보고서에 포함된 연결 사용을 선택합니다.Select Use a connection embedded in my report.

    3. 연결 형식으로 Microsoft SQL Server를 선택합니다.For connection type, select Microsoft SQL Server.

    4. 서버 및 데이터베이스에 연결 문자열을 입력합니다.Enter the connection string to your server and database. 예를 들어For example:

      Data Source=[server name];Initial Catalog=AdventureWorks2016  
      
    5. 데이터베이스에 대한 연결을 확인하려면 연결 테스트 단추를 선택한 다음 확인을 선택합니다.To verify the connection, select the Test Connection button, and then select OK.

      데이터 원본을 만드는 방법에 대한 자세한 내용은 데이터 연결 추가 및 확인(보고서 작성기 및 SSRS)를 참조하세요.For more information about creating a data source, see Add and verify a data connection (Report Builder and SSRS).

  3. 데이터 집합 만들기Create a dataset.

    1. 보고서 데이터에서 데이터 집합을 마우스 오른쪽 단추로 클릭하고 데이터 집합 추가를 선택합니다.Under Report Data, right-click Datasets, and then select Add dataset.

    2. 내 보고서에 포함된 데이터 집합 사용을 선택합니다.Select Use a dataset embedded in my report.

    3. 만든 데이터 원본을 선택합니다.Select the data source that you created.

    4. 텍스트 쿼리 형식을 선택하고 다음과 같은 쿼리를 복사하여 쿼리 텍스트 상자에 붙여넣습니다.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. 확인을 선택합니다.Select OK.

      데이터 집합을 만드는 방법에 대한 자세한 내용은 공유 데이터 집합 또는 포함된 데이터 집합 만들기(보고서 작성기 및 SSRS)를 참조하세요.For more information about creating a dataset, see Create a shared dataset or embedded dataset (Report Builder and SSRS).

참고 항목See also