7단원: 드릴스루 보고서 만들기

새 설치: 2006년 7월 17일

매개 변수를 사용하는 방법 중 하나는 매개 변수를 다른 보고서에 드릴스루하는 것입니다. 이 단원에서는 영업 지역 그룹별로 보고서 데이터를 필터링하는 AdventureWorks 예제 보고서인 "Territory Sales Drilldown"에 매개 변수를 추가합니다. 또한 매개 변수에 대해 사용 가능한 값을 제공하기 위해 AdventureWorks 데이터베이스에서 영업 지역 그룹에 대해 사용 가능한 고유한 값을 검색하는 TerritoryGroup 데이터 집합을 만듭니다.

이 보고서는 다음 단원에서 여러 종류의 탐색 작업의 대상으로 사용됩니다.

Advanced Parameters Tutorial 보고서 서버 프로젝트를 열려면

  1. SQL Server Business Intelligence Development Studio에서 이전 단원에서 만든 Advanced Parameters Tutorial 보고서 서버 프로젝트를 엽니다.

  2. 솔루션 탐색기에서 Resellers Worldwide 보고서를 두 번 클릭합니다. 보고서가 레이아웃 뷰에서 열립니다.

  3. 데이터 탭을 클릭합니다.

AdventureWorks 예제 보고서인 Territory Sales Drilldown을 가져오려면

  1. 솔루션 탐색기에서 보고서 폴더를 마우스 오른쪽 단추로 클릭하고 추가를 선택한 다음 기존 항목을 선택합니다. 기존 항목 추가 대화 상자가 열립니다.

    [!참고] 보고서 가져오기 명령은 기존 Reporting Services 보고서가 아닌 기존 Microsoft Access 보고서를 가져옵니다.

  2. AdventureWorks 예제 보고서 폴더를 찾아 봅니다. 기본 위치는 *<drive>:\*Program Files\Microsoft SQL Server\90\Samples\Reporting Services\Report Samples\AdventureWorks Sample Reports입니다. Territory Sales Drilldown.rdl 보고서를 두 번 클릭하여 Advanced Parameter Tutorial 프로젝트에 추가합니다.

  3. 솔루션 탐색기에서 Territory Sales Drilldown.rdl을 마우스 오른쪽 단추로 클릭하여 이름 바꾸기를 선택합니다. Parameterized Territory Sales Drilldown.rdl을 입력합니다. Enter 키를 누릅니다.

  4. Parameterized Territory Sales Drilldown 보고서를 두 번 클릭합니다. 보고서가 레이아웃 뷰에서 열립니다.

다음으로 1단원에서 만든 공유 데이터 원본을 사용하도록 이 보고서의 데이터 원본을 변경해야 합니다.

데이터 집합을 다른 데이터 원본에 바인딩하려면

  1. 데이터 탭을 클릭하여 데이터 뷰로 전환합니다. 다음과 같은 오류가 발생합니다. "데이터베이스에 연결할 수 없습니다. 연결 문자열을 설정하고 테스트하십시오."

    Parameterized Territory Sales Drilldown 보고서에서는 "AdventureWorks"라는 데이터 원본을 사용합니다. 이 데이터 원본을 공유 데이터 원본인 "Resellers"로 변경해야 합니다.

  2. 데이터 집합 드롭다운 목록에서 TerritorySales 데이터 집합을 선택하고 선택한 데이터 집합 편집 단추를 클릭합니다.

  3. 쿼리 탭의 데이터 원본 드롭다운 목록에서 Resellers를 선택합니다.

  4. 확인을 클릭합니다.

  5. 실행(!)을 클릭하여 결과 집합을 봅니다.

    Name, SalesPersonID, FirstName, LastName, SalesOrderNumber, TotalDue 등의 6개 열에 대해 값이 있는 수 천개의 행이 표시되어야 합니다.

이 보고서를 매개 변수화하기 위해 유효한 값에 대해 새 데이터 집합을 만듭니다. 그런 다음 새 보고서 매개 변수인 SalesTerritoryGroup을 만들고 유효한 해당 값이 이 데이터 집합에서 검색되도록 설정합니다.

사용 가능한 값에 대한 데이터 집합을 만들려면

  1. 데이터 집합 드롭다운 목록에서 <새 데이터 집합>을 클릭합니다. 데이터 집합 대화 상자가 열립니다.

  2. 쿼리 탭의 이름 입력란에 ValidValuesforTerritoryGroup을 입력합니다.

  3. 데이터 원본Resellers인지 확인합니다.

  4. 명령 유형Text인지 확인합니다.

  5. 다음 쿼리를 쿼리 창에 붙여 넣습니다.

    SELECT DISTINCT [Group] AS SalesTerritoryList
       FROM [AdventureWorks].[Sales].[SalesTerritory]
    

    AdventureWorks 데이터베이스에 있는 Sales.SalesTerritory 테이블의 Group 열에는 지역에 대한 값이 있습니다.

  6. 실행(!)을 클릭하여 결과 집합을 봅니다.

    SalesTerritoryList 열이 Europe, North America, Pacific의 3개의 행으로 표시됩니다. 이 3개의 행이 다음 절차에서 만드는 다중값 매개 변수인 SalesTerritoryGroup에 대한 3가지 사용 가능한 값이 됩니다*.*

새 다중값 보고서 매개 변수를 추가하려면

  1. 레이아웃 탭을 클릭합니다.

  2. 보고서 메뉴에서 보고서 매개 변수를 선택합니다. 보고서 매개 변수 대화 상자가 열립니다.

  3. 추가를 클릭합니다. 기본값이 있는 새 보고서 매개 변수가 생성됩니다.

  4. 속성 섹션의 이름 입력란에 SalesTerritoryGroup을 입력합니다. 데이터 형식이 String인지 확인합니다.

  5. 다중값 옵션을 선택합니다.

  6. 프롬프트에 **Sales Territory Group:**을 입력합니다.

  7. 빈 값 허용 옵션을 취소합니다.

  8. 사용 가능한 값 섹션에서 쿼리 사용을 클릭합니다.

  9. 데이터 집합 드롭다운 목록에서 TerritoryGroup을 선택합니다.

  10. 필드 드롭다운 목록에서 SalesTerritory를 선택합니다.

  11. 레이블 필드 드롭다운 목록에서 SalesTerritory를 선택합니다.

  12. 기본값 섹션에서 쿼리 사용을 클릭합니다.

  13. 데이터 집합 드롭다운 목록에서 TerritoryGroup을 선택합니다.

  14. 필드 드롭다운 목록에서 SalesTerritory를 선택합니다.

    이렇게 하면 SalesTerritoryGroup에 대한 기본값이 ValidValuesforTerritoryGroup 데이터 집합에 대해 검색한 모든 값으로 설정됩니다.

  15. 확인을 클릭합니다.

보고서 매개 변수와 사용 가능한 값 집합을 정의했습니다. 다음 절차에서는 방금 만든 유효한 값 집합에서 영업 지역 그룹에 대한 열을 포함하도록 TerritorySales 데이터 집합 쿼리를 수정합니다. 그런 다음 결과 집합을 SalesTerritoryGroup에 대해 선택한 매개 변수 값의 데이터로 제한하도록 쿼리를 수정합니다.

보고서 매개 변수를 데이터 집합 쿼리에 바인딩하려면

  1. 데이터 탭을 클릭합니다.

  2. 데이터 집합 드롭다운 목록에서 TerritorySales를 선택합니다. TerritorySales 쿼리가 쿼리 창에 나타납니다.

  3. 유효한 값 쿼리에서 수정한 것처럼 영업 지역 그룹을 추가하여 기존 쿼리를 수정합니다. HAVING (ST.[Group] IN (@SalesTerritoryGroup)) 제한 절을 추가하여 선택한 영업 지역에 대한 데이터로 결과를 제한합니다.

    기존 쿼리를 다음 쿼리로 바꿉니다.

    SELECT ST.[Group] AS SalesTerritory, ST.Name, SP.SalesPersonID, 
      C.FirstName, C.LastName, SOH.SalesOrderNumber, SOH.TotalDue 
    FROM  Sales.SalesTerritory ST INNER JOIN
     Sales.SalesPerson SP ON ST.TerritoryID = SP.TerritoryID INNER JOIN
     HumanResources.Employee E ON SP.SalesPersonID = 
         E.EmployeeID INNER JOIN
     Person.Contact C ON E.ContactID = C.ContactID INNER JOIN
     Sales.SalesOrderHeader SOH ON SP.SalesPersonID = SOH.SalesPersonID
    GROUP BY ST.[Group],ST.Name, SP.SalesPersonID, C.FirstName, 
        C.LastName, SOH.SalesOrderNumber, SOH.TotalDue
    HAVING (ST.[Group] IN (@SalesTerritoryGroup))
    ORDER BY ST.Name
    
  4. (옵션) 쿼리 매개 변수가 보고서 매개 변수에 바인딩되어 있는지 확인합니다. 선택한 데이터 집합 편집 단추를 클릭하고 매개 변수 탭을 클릭합니다. @SalesTerritoryGroup이라는 매개 변수는 =Parameters!SalesTerritoryGroup.Value 식으로 설정되어야 합니다.

  5. 실행(!)을 클릭하여 결과 집합을 봅니다. 쿼리 매개 변수 정의 대화 상자가 열립니다. Europe을 입력합니다.

  6. Europe에 대한 값만 있는 결과 집합이 표시됩니다.

    [!참고] 쿼리 디자이너에서는 다중값 매개 변수 테스트를 지원하지 않습니다.

Parameterized Territory Sales Drilldown 보고서에는 동일한 보고서 폴더의 드릴스루 보고서를 가리키는 SalesOrderNumber 텍스트 상자에 정의된 기존 하이퍼링크 동작이 있습니다. 다음 절차에서는 기본 예제 폴더를 사용하도록 하이퍼링크를 변경합니다.

Sales Order Number 드릴스루가 예제 보고서 폴더를 가리키게 하려면

  1. 레이아웃 탭을 클릭합니다.

  2. SalesOrderNumber 텍스트 상자를 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다. 텍스트 상자 속성 대화 상자가 표시됩니다.

  3. 탐색 탭을 클릭합니다.

  4. 하이퍼링크 동작 섹션에서 보고서로 이동 옵션에 대해 보고서 이름을 다음의 정규화된 보고서 주소로 바꿉니다.

    /AdventureWorks Sample Reports/Sales Order Detail
    
  5. 확인을 클릭합니다.

  6. 파일 메뉴에서 모두 저장을 클릭합니다.

보고서 설명을 수정하려면

  1. 보고서 메뉴에서 보고서 속성을 선택합니다. 보고서 속성 대화 상자가 열립니다.

  2. 설명 텍스트 상자의 텍스트를 "Adventure Works sales by territory with territory parameter."로 바꿉니다.

  3. 확인을 클릭합니다.

    [!참고] 보고서를 보고서 서버에 배포할 때 보고서 디자이너에서 변경한 설명 내용은 보고서 서버에 게시된 설명을 덮어쓰지 않습니다. 게시된 설명을 바꾸려면 보고서 관리자를 사용하여 설명을 삭제한 다음 보고서 디자이너의 보고서를 다시 배포하십시오. 보고서 관리자의 설명을 삭제하려면 보고서를 찾아 속성 탭을 클릭합니다. 설명 텍스트를 강조 표시하고 삭제합니다. 적용을 클릭합니다.

다음 단계

하이퍼링크를 보고서 항목 텍스트 상자에 성공적으로 추가했습니다. 다음 단원에서는 게시된 Resellers Worldwide를 기반으로 링크된 보고서를 만들어 보고서 매개 변수에 대한 값을 미리 설정하는 보고서를 대상 그룹에 제공합니다. 8단원: 사용자 지정 매개 변수 값을 사용하여 링크된 보고서 추가를 참조하십시오.

참고 항목

관련 자료

Reporting Services의 매개 변수 작업
매개 변수를 사용하여 다른 보고서에 연결

도움말 및 정보

SQL Server 2005 지원 받기