다음을 통해 공유


3단원: 포함 XML 데이터에서 보고서 데이터 집합 정의

새 설치: 2006년 7월 17일

다음 단계에 따라 Reporting Services XML 데이터 원본에 대한 데이터 집합 쿼리에 포함된 XML 데이터에서 보고서 데이터를 검색하는 방법을 배웁니다. 이 예를 수행하는 과정에서 AdventureWorks 예제 데이터베이스의 SQL 쿼리 결과 집합에 대한 XML 데이터가 데이터 집합 쿼리에 포함됩니다. 또한 이 자습서에서는 쿼리의 ElementPath 태그에서 보고서 데이터 집합을 검색할 요소 노드 및 특성을 지정하는 방법을 보여 줍니다.

절차

데이터 집합에 대한 쿼리를 만들려면

  1. Microsoft SQL Server Management Studio를 엽니다.

  2. 서버에 연결 대화 상자에서 서버 유형으로 데이터베이스 엔진을 선택합니다.

  3. 서버 이름AdventureWorks 예제 데이터베이스를 설치한 서버의 이름을 입력합니다. 예를 들어 localhost를 입력합니다.

  4. 개체 탐색기에서 데이터베이스 노드를 확장합니다.

  5. AdventureWorks를 마우스 오른쪽 단추를 클릭하고 새 쿼리를 선택합니다.

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

    SELECT TOP 5 S.OrderDate, S.SalesOrderNumber, S.TotalDue, 
           C.FirstName, C.LastName
    FROM    HumanResources.Employee E INNER JOIN
            Person.Contact C ON E.ContactID = C.ContactID INNER JOIN
            Sales.SalesOrderHeader S ON E.EmployeeID = S.SalesPersonID
    ORDER BY S.TotalDue DESC
    FOR XML AUTO
    
  7. 결과 창에서 xml 결과를 선택하고 복사합니다.

루트 노드를 XML에 추가하려면

  1. 메모장 또는 원하는 편집기를 엽니다.

  2. XML 텍스트를 붙여 넣습니다.

  3. 다음 XML을 첫 번째 줄 앞에 삽입합니다. <Query><XmlData><Root>.

  4. 다음 XML을 마지막 줄에 추가합니다. </Root></XmlData></Query>

    이는 데이터 테스트에 사용할 수 있는 XML 데이터입니다.

웹 서비스에 대한 보고서 데이터 집합을 정의하려면

  1. 보고서 디자이너를 시작하고 이 자습서에 대해 생성된 보고서 서버 프로젝트를 엽니다.

  2. 데이터 뷰에서 새 데이터 집합을 선택하고 XMLEmbeddedDataSet과 같은 데이터 집합 이름을 입력합니다.

  3. 데이터 집합 대화 상자의 데이터 원본에서 새 데이터 원본을 선택합니다. 데이터 원본 대화 상자가 표시됩니다.

  4. XMLEmbeddedDataSource와 같은 데이터 원본 이름을 입력합니다.

  5. 유형에서 XML을 선택합니다.

  6. 연결 문자열은 비워 둡니다.

  7. 확인을 클릭하여 변경 내용을 저장하고 데이터 원본 대화 상자를 닫습니다.

  8. 확인을 클릭하여 데이터 집합 대화 상자를 닫습니다.

  9. 메모장이나 이전 절차에서 사용한 편집기에서 쿼리 텍스트를 복사한 다음 쿼리 창에 붙여 넣습니다. 쿼리는 다음 텍스트와 같습니다.

    <Query>
    <XmlData>
    <Root>
    <S OrderDate="2003-07-01T00:00:00" SalesOrderNumber="SO51131" TotalDue="247913.9138">
      <C FirstName="Shu" LastName="Ito" />
    </S>
    <S OrderDate="2003-10-01T00:00:00" SalesOrderNumber="SO55282" TotalDue="227737.7215">
      <C FirstName="Shu" LastName="Ito" />
    </S>
    <S OrderDate="2002-07-01T00:00:00" SalesOrderNumber="SO46616" TotalDue="207058.3754">
      <C FirstName="Jae" LastName="Pak" />
    </S>
    <S OrderDate="2002-08-01T00:00:00" SalesOrderNumber="SO46981" TotalDue="201490.4144">
      <C FirstName="Ranjit" LastName="Varkey Chudukatil" />
    </S>
    <S OrderDate="2002-09-01T00:00:00" SalesOrderNumber="SO47395" TotalDue="198628.3054">
      <C FirstName="Michael" LastName="Blythe" />
    </S>
    </Root>
    </XmlData>
    </Query>
    
  10. **실행(!)**을 클릭하여 결과 집합을 봅니다. XML에 대한 기본 쿼리는 리프 노드의 첫 번째 경로에서 모든 특성과 요소를 선택합니다.

  11. 쿼리의 ElementPath 태그를 포함하여 결과 집합에 포함할 요소를 지정합니다. 쿼리 창에서 Query 태그 다음 XmlData 태그 앞에 다음 텍스트를 붙여 넣습니다.

    <ElementPath>Root /S  {@OrderDate (Date), @TotalDue (Decimal)} /C {@LastName} </ElementPath>
    

    이 요소 경로는 다음을 지정합니다.

    • S 요소의 경우 OrderDate 특성을 Date 유형으로, TotalDue 특성을 Decimal 유형으로 반환합니다.
    • C 요소의 경우 LastName 특성(기본값은 String 유형)을 반환합니다.
  12. **실행(!)**을 클릭하여 결과 집합을 봅니다. 이제 ElementPath 섹션에서 지정한 요소와 특성만이 결과에 포함됩니다. OrderDate 특성은 Date 유형을 지정하여 해당 값을 DateTime으로 변환합니다. 마찬가지로 TotalDueDecimal 유형으로 변환됩니다.

  13. 도구 모음에서 필드 새로 고침 (데이터 집합 필드 새로 고침) 단추를 클릭합니다. 이렇게 하면 보고서 정의가 저장되고 보고서 데이터 집합 창에서 필드 보기가 업데이트되어 사용할 수 있는 모든 필드가 표시됩니다.

다음 단계

데이터 집합 쿼리에 포함된 XML 데이터에서 보고서 데이터 집합을 성공적으로 정의했으며 보고서가 처리될 때 각 XML 테이블 요소 및 해당 특성의 데이터를 웹 서비스에서 검색할 수 있습니다. 다음 단원에서는 1, 2, 3단원의 데이터 집합을 사용하는 보고서를 만듭니다. 4단원: XML 데이터를 사용하는 보고서 만들기를 참조하십시오.

참고 항목

개념

Reporting Services 자습서

관련 자료

XML 데이터의 보고서 데이터 집합 정의
데이터 원본에 연결
보고서 데이터 집합 정의
방법: 보고서별 데이터 원본 만들기 또는 편집(보고서 디자이너)
방법: 데이터 집합 만들기(보고서 디자이너)
보고서 데이터 집합의 필드 작업
방법: 데이터 집합 창에서 필드 추가, 편집 또는 삭제(보고서 디자이너)
보고서 데이터 집합(보고서 디자이너)
XML 보고서 데이터를 지정하기 위한 요소 경로 구문

도움말 및 정보

SQL Server 2005 지원 받기