SQL Server 관계형 데이터베이스의 보고서 데이터 집합 정의

업데이트: 2006년 4월 14일

Reporting Services에서는 Microsoft SQL Server 관계형 데이터베이스에서 보고서 데이터를 검색할 수 있게 해 주는 데이터 처리 확장 프로그램을 제공합니다. 이 데이터 처리 확장 프로그램은 기본 데이터 원본에 정의된 관계형 데이터 테이블, 뷰, 저장 프로시저 및 기타 데이터 구조에서 데이터를 검색합니다. 데이터 원본에 연결한 후에는 해당 데이터 원본에서 보고서로 가져올 데이터를 정의하는 보고서 데이터 집합을 만들 수 있습니다. Reporting Services 데이터 집합에는 데이터 원본, 보고서가 처리될 때 데이터를 검색하는 쿼리, 그리고 필드 컬렉션이 포함됩니다. 데이터 집합 정의는 보고서 정의에 저장됩니다. 데이터 집합 창에는 보고서의 현재 데이터 집합 정의가 표시됩니다.

Transact-SQL 쿼리 텍스트 또는 저장 프로시저 호출을 사용하여 쿼리를 만들거나, 테이블을 선택하고 해당 테이블의 데이터를 모두 검색하여 데이터 집합을 정의할 수 있습니다. 데이터 집합의 필드 컬렉션은 쿼리에서 자동으로 만들어집니다. 필드를 편집하거나 계산 필드를 추가할 수도 있습니다. 계산 필드에는 쿼리가 실행될 때 계산되는 식 기반 값이 있습니다. 또한 필터를 만들어 보고서로 데이터가 보내지기 전에 데이터 원본의 데이터를 제한할 수 있습니다. 데이터 집합을 정의하는 방법은 보고서 데이터 방법 도움말 항목을 참조하십시오.

관계형 데이터 원본에 대한 쿼리 디자이너에는 일반 쿼리 디자이너와 그래픽 쿼리 디자이너의 두 가지가 있습니다. 기본적으로는 일반 쿼리 디자이너가 열립니다. 일반 쿼리 디자이너는 Transact-SQL 텍스트를 직접 입력하거나, 다른 원본에서 쿼리 텍스트를 붙여 넣거나, 그래픽 쿼리 디자이너를 사용하여 작성할 수 없는 복잡한 쿼리를 입력하거나, 쿼리 기반 식을 입력하는 데 사용합니다. 그래픽 쿼리 디자이너는 데이터 원본에서 메타데이터를 찾아 쿼리를 대화형으로 디자인하거나 데이터 원본의 저장 프로시저 또는 테이블 목록을 보는 데 사용합니다.

보고서 디자이너에서 쿼리 디자이너를 열려면 데이터 탭을 선택합니다. 한 쿼리 디자이너에서 다른 쿼리 디자이너로 전환하려면 데이터 뷰 도구 모음의 일반 쿼리 디자이너(일반 쿼리 디자이너 단추 아이콘) 토글 단추를 클릭합니다. 자세한 내용은 SQL Server 쿼리 디자이너 사용자 인터페이스를 참조하십시오.

쿼리를 정의한 후 TimeoutCaseSensitivity와 같은 속성을 지정하고 쿼리 매개 변수로 값을 전달하는 보고서 매개 변수를 정의할 수도 있습니다. 쿼리를 실행하면 데이터 원본에서 검색한 결과 집합이 표시됩니다. 결과 집합의 열은 데이터 집합의 필드에 매핑됩니다. 보고서가 처리되면 데이터 집합 필드에 바인딩된 보고서 항목에 검색되거나 계산된 데이터가 표시됩니다. 보고서는 쿼리에서 검색된 첫 번째 결과 집합만 처리합니다.

관계형 데이터의 쿼리 디자이너에는 다음 세 가지 유형의 명령이 있습니다.

  • Text 유형은 Transact-SQL 문을 받아들입니다.
  • StoredProcedure 유형은 데이터 원본에 대한 저장 프로시저 호출을 받아들입니다. 이 모드는 출력 매개 변수를 지원하지 않습니다.
  • TableDirect 유형은 데이터 원본의 테이블 이름을 받아들이고 해당 테이블의 모든 열을 반환합니다. 일부 데이터 공급자는 TableDirect를 지원하지 않습니다.

쿼리 텍스트 사용

Transact-SQL을 사용하여 데이터 집합의 데이터를 정의할 수 있습니다. 이렇게 하려면 데이터 집합의 명령 유형을 Text로 설정하고 Transact-SQL 텍스트를 SQL 창에 직접 입력합니다.

예를 들어 다음 Transact-SQL 쿼리는 모든 직원의 성과 이름을 모두 선택합니다.

SELECT FirstName, LastName
FROM   HumanResources.Employee E INNER JOIN
       Person.Contact C ON  E.ContactID=C.ContactID

도구 모음의 실행 단추를 클릭하면 쿼리가 실행되고 결과 창에 해당 결과가 표시됩니다.

이 명령 모드는 Transact-SQL 문을 받아들이므로 이 모드에서 저장 프로시저를 실행할 수도 있습니다. 예를 들어 다음 SQL 문은 AdventureWorks의 저장 프로시저인 uspGetEmployeeManagers를 호출합니다.

EXEC uspGetEmployeeManagers '1'

저장 프로시저 사용

저장 프로시저를 사용하여 데이터 집합의 데이터를 정의할 수 있습니다. 이렇게 하려면 쿼리 창에서 저장 프로시저를 실행하거나, 데이터 집합의 명령 유형을 StoredProcedure로 설정하고 드롭다운 목록에서 저장 프로시저를 선택합니다. 그래픽 쿼리 디자이너에서는 명령 유형 드롭다운 목록을 클릭하면 해당 데이터 원본에서 사용할 수 있는 저장 프로시저가 표시됩니다. 일반 쿼리 디자이너에서는 실행할 저장 프로시저의 이름을 알고 있는 경우 쿼리 창에 해당 이름을 입력합니다.

Reporting Services에서는 데이터 집합을 하나만 반환하는 저장 프로시저를 지원합니다. 저장 프로시저에서 여러 개의 결과 집합을 반환할 경우 첫 번째 결과 집합만 사용됩니다.

저장 프로시저에 기본값을 사용하는 매개 변수가 있는 경우 매개 변수의 값으로 DEFAULT 키워드를 사용하여 Reporting Services의 해당 값에 액세스할 수 있습니다. 쿼리 매개 변수가 보고서 매개 변수에 연결되어 있으면 사용자가 보고서 매개 변수의 입력란에 DEFAULT라는 단어를 입력하거나 선택할 수 있습니다. 자세한 내용은 저장 프로시저(데이터베이스 엔진)를 참조하십시오.

TableDirect 사용

손쉽게 단일 테이블의 모든 열을 반환하여 데이터 집합의 데이터를 정의할 수 있습니다. 이렇게 하려면 명령 유형을 TableDirect로 설정하고 드롭다운 목록에서 테이블을 선택합니다. 테이블에 데이터 원본의 스키마가 있으면 테이블 이름에 해당 스키마가 포함되어 있는지 확인합니다. 그렇지 않으면 테이블 이름에 스키마를 입력할 수 있습니다.

예를 들어 쿼리 창에서 명령 유형 TableDirect에 다음 명령을 입력합니다. 이 명령은 AdventureWorks 데이터베이스의 Person.Contact 테이블에서 모든 데이터를 검색합니다.

Person.Contact

도구 모음의 실행 단추를 클릭하면 명령이 실행되고 결과 창에 해당 결과가 표시됩니다.

[!참고] Microsoft SQL Server 데이터 원본 유형은 TableDirect를 지원하지 않습니다. 이 모드를 사용하려면 데이터 원본 유형을 OLE DB로 선택한 후 Microsoft OLE DB Provider for SQL Server를 선택합니다.

쿼리 매개 변수 사용

쿼리에 매개 변수가 있는 경우 보고서 디자이너에서는 쿼리가 입력되면 해당하는 보고서 매개 변수를 보고서 정의에 자동으로 만듭니다. 보고서를 실행하면 보고서 매개 변수에 대한 값이 쿼리 매개 변수로 전달됩니다. 예를 들어 다음 SQL 쿼리는 EmpID라는 보고서 매개 변수를 만듭니다.

SELECT FirstName, LastName FROM HumanResources.Employee E INNER JOIN
       Person.Contact C ON  E.ContactID=C.ContactID 
WHERE EmployeeID = @EmpID

데이터 집합 대화 상자의 매개 변수 탭에서 보고서 매개 변수와 쿼리 매개 변수 간의 관계를 관리할 수 있습니다. 보고서 매개 변수와 연결된 매개 변수가 있는 쿼리는 DECLARE 문을 사용하지 않아도 됩니다.

보고서 매개 변수가 쿼리 매개 변수에서 자동으로 생성되더라도 보고서 레이아웃 뷰에서 보고서 매개 변수를 별도로 관리합니다.

[!참고] 쿼리 매개 변수 이름을 변경하거나 쿼리 매개 변수를 삭제해도 쿼리 매개 변수에 해당하는 보고서 매개 변수는 자동으로 변경되거나 삭제되지 않습니다. 보고서 매개 변수 대화 상자를 사용하여 보고서 매개 변수를 제거할 수 있습니다. 자세한 내용은 Reporting Services의 매개 변수 작업을 참조하십시오.

데이터 집합을 만들려면

  1. 데이터 탭의 데이터 집합 드롭다운 목록에서 **<새 데이터 집합>**을 선택합니다.

  2. 데이터 집합 대화 상자의 데이터 원본 드롭다운 목록에서 새 데이터 원본을 선택합니다.

  3. 데이터 원본 대화 상자의 유형 드롭다운 목록에서 Microsoft SQL Server를 선택합니다.

  4. SQL Server 데이터 원본에 사용할 연결 문자열을 지정합니다.
    연결 정보는 데이터베이스 관리자에게 문의하십시오. 다음 연결 문자열 예에서는 로컬 클라이언트에 있는 AdventureWorks 예제 데이터베이스를 지정합니다.

    Data Source=localhost;Initial Catalog=AdventureWorks
    
  5. 데이터 원본 대화 상자의 자격 증명 탭에서 데이터베이스 자격 증명을 설정합니다.

  6. 확인을 클릭합니다.

자세한 내용은 데이터 원본에 연결을 참조하십시오.

참고 항목

작업

방법: 데이터 집합 만들기(보고서 디자이너)

개념

보고서 데이터 집합 정의
Reporting Services의 쿼리 디자인 도구
데이터 원본에 연결

도움말 및 정보

SQL Server 2005 지원 받기

변경 내역

릴리스 내역

2006년 4월 14일

새로운 내용
  • TableDirect에 대한 설명을 추가했습니다.
  • "데이터 집합을 만들려면" 하위 항목을 추가했습니다.
변경된 내용