보고서 데이터 집합의 필드 작업(보고서 작성기 2.0)
데이터 집합 필드를 사용하면 테이블 및 차트와 같은 보고서 항목과 보고서 데이터 간의 링크를 제공할 수 있습니다. 필드는 쿼리에 의해 반환되는 열에 대한 직접 링크 또는 사용자가 정의하는 계산 필드일 수 있습니다.
데이터 집합 필드는 기본 제공 필드와 다릅니다. 기본 제공 필드는 보고서 작성기 2.0에서 제공하는 미리 정의된 필드 집합입니다. 보고서 작성기 2.0에서는 보고서를 처리할 때 보고서 이름 또는 타임스탬프와 같은 보고서 정보를 제공합니다. 자세한 내용은 식에 기본 제공 필드 참조 사용(보고서 작성기 2.0)을 참조하십시오.
보고서에 데이터 집합 필드 값을 표시하려면 해당 값을 디자인 화면 또는 데이터 영역 셀의 입력란 또는 차트 및 계기의 끌어 놓기 영역으로 끕니다. 데이터 집합 필드는 숫자 데이터 및 숫자가 아닌 데이터는 물론 데이터베이스의 다른 데이터 형식(드릴스루 보고서의 URL, 이미지 및 구독자의 전자 메일 주소)을 나타낼 수 있습니다.
필드 컬렉션 작업
데이터 집합 필드는 데이터 집합 쿼리 및 사용자가 정의하는 계산 필드로 지정됩니다. 데이터 집합을 만든 후 보고서 데이터 창의 데이터 집합 노드를 확장하는 경우 데이터 집합 필드 컬렉션을 볼 수 있습니다. 데이터 집합의 쿼리를 변경할 때마다 데이터베이스 필드가 자동으로 새로 고쳐집니다.
식을 만들어 계산 필드를 직접 지정합니다. 계산 필드를 사용하면 데이터 원본에 없는 새 값을 만들 수 있습니다. 예를 들어 계산 필드는 새 값, 필드 값 집합에 대한 사용자 지정 정렬 순서 또는 다른 데이터 형식으로 변환되는 기존 필드를 나타낼 수 있습니다. 자세한 내용은 방법: 보고서 데이터 창에서 필드 추가, 편집 또는 삭제(보고서 작성기 2.0)를 참조하십시오.
보고서 항목에 데이터 집합 필드 연결
입력란, 테이블, 행렬, 목록, 차트 및 계기 보고서 항목에서 데이터 집합의 데이터를 표시할 수 있습니다. 보고서 항목에 필드를 연결하려면 보고서 데이터 창에서 필드를 끌거나 보고서 항목의 필드 선택기 아이콘을 사용합니다. 예를 들어 차트 범주 끌어 놓기 영역에 필드를 연결하는 가장 간단한 방법은 필드 선택기를 사용하는 것입니다. 기존 행 그룹이 있는 테이블릭스의 경우 필드를 테이블릭스 행 그룹 영역으로 끌어 중첩된 추가 필드를 추가할 수 있습니다. 필드를 테이블릭스 본문 영역으로 끌 때 필드의 기본값이 자동으로 채워진 새 열을 추가할 수 있습니다.
디자인 화면의 보고서 항목에 필드를 추가하는 방법은 보고서 레이아웃 디자인(보고서 작성기 2.0)의 특정 보고서 항목 유형을 참조하십시오.
데이터 집합 필드 컬렉션에 예상 결과가 표시되지 않을 경우 SQL Server 온라인 설명서의 Reporting Services 설명서에 있는 "보고서 문제 해결"을 참조하십시오.
기본 식 이해
입력란은 보고서 본문의 입력란 보고서 항목 또는 테이블릭스 데이터 영역에 있는 셀의 입력란일 수 있습니다. 입력란에 필드를 연결할 때 입력란 위치에서 필드 참조에 대한 기본 식을 결정합니다. 보고서 본문에서 입력란 값 식은 집계 및 데이터 집합을 지정해야 합니다. 보고서에 하나의 데이터 집합만 존재하는 경우 이 기본 식이 생성됩니다. 숫자 값을 나타내는 필드의 경우 기본 집계 함수는 Sum입니다. 숫자가 아닌 값을 나타내는 필드의 경우 기본 집계는 First입니다.
테이블릭스 데이터 영역에서 기본 필드 식은 필드를 추가하는 입력란의 행 및 그룹 멤버 자격에 따라 다릅니다. 테이블의 정보 행에 있는 입력란에 추가되는 Sales 필드에 대한 필드 식은 [Sales]입니다. 동일한 필드를 그룹 머리글의 입력란에 추가하는 경우 그룹 머리글에서 정보 값이 아닌 그룹에 대한 요약 값을 표시하므로 기본 식은 (Sum[Sales])입니다. 보고서가 실행되면 보고서 처리기에서 각 식을 계산하고 보고서의 결과를 대체합니다.
확장 필드 속성 사용
다차원 쿼리를 지원하는 SQL ServerAnalysis Services와 같은 데이터 원본은 필드의 필드 속성을 지원합니다. 필드 속성은 쿼리의 결과 집합에 나타나지만 보고서 데이터 창에 표시되지 않습니다. 보고서에서 이 필드 속성을 계속 사용할 수 있습니다. 필드의 속성을 참조하려면 필드를 보고서로 끌고 기본 속성 Value를 원하는 속성의 필드 이름으로 변경합니다. 예를 들어 Analysis Services 큐브에서 큐브 셀의 값에 대한 서식을 정의할 수 있습니다. 서식이 지정된 값은 필드 속성 FormattedValue를 통해 사용할 수 있습니다. 값을 사용하고 입력란의 서식 속성을 설정하는 대신 값을 직접 사용하려면 필드를 입력란으로 끌고 기본 식 =Fields!FieldName.Value를 =Fields!FieldName.FormattedValue로 변경합니다.
[!참고]
모든 데이터 원본에 대해 모든 Field 속성을 사용할 수 있는 것은 아닙니다. Value 및 IsMissing 속성은 모든 데이터 원본에 대해 정의됩니다. 미리 정의된 다른 속성(다차원 데이터 원본에 대한 Key, UniqueName 및 ParentUniqueName)은 데이터 원본에서 제공하는 경우에만 지원됩니다. 일부 데이터 공급자는 사용자 지정 속성을 지원합니다. 자세한 내용은 보고서 데이터 집합 만들기(보고서 작성기 2.0)에서 데이터 원본 유형의 확장 필드 속성에 대한 특정 항목을 참조하십시오. 예를 들어 SQL ServerAnalysis Services 데이터 원본의 경우 Analysis Services 데이터베이스에 대해 확장 필드 속성 사용(보고서 작성기 2.0)을 참조하십시오.
필드 데이터 형식 작업
데이터 집합을 만들 때 데이터 원본의 필드 데이터 형식이 보고서에서 사용하는 데이터 형식과 정확하게 일치하지 않을 수 있습니다. 데이터 형식이 하나 또는 두 개의 매핑 계층을 거칠 수 있습니다. 데이터 처리 확장 프로그램 또는 데이터 공급자는 데이터 원본의 데이터 형식을 CLR(공용 언어 런타임) 데이터 형식으로 매핑할 수 있습니다. 데이터 처리 확장 프로그램에서 반환하는 데이터 형식은 .NET Framework에서 CLR(공용 언어 런타임) 데이터 형식의 하위 집합으로 매핑됩니다.
데이터 집합 필드 컬렉션의 데이터 형식 이해
데이터 원본에서 데이터는 데이터 원본에서 지원하는 데이터 형식으로 저장됩니다. 예를 들어 SQL Server 데이터베이스의 데이터는 nvarchar 또는 datetime과 같이 지원되는 SQL Server 데이터 형식 중 하나이어야 합니다. 데이터 원본에서 데이터를 검색할 때 데이터는 데이터 원본 유형과 연결된 데이터 처리 확장 프로그램 또는 데이터 공급자를 통과합니다. 데이터 처리 확장 프로그램에 따라 데이터가 데이터 원본에서 사용되는 데이터 형식에서 데이터 처리 확장 프로그램에서 지원하는 데이터 형식으로 변환될 수 있습니다. Reporting Services는 보고서 작성기 2.0과 함께 설치되는 CLR(공용 언어 런타임) 버전에서 지원하는 데이터 형식을 사용합니다.
[!참고]
보고서를 미리 볼 때 보고서 처리에 사용되는 데이터 원본, 데이터 공급자 및 데이터 형식은 현재 보고서 서버에 연결되어 있는지 여부에 따라서 달라집니다. 보고서 서버에 연결되어 있으면 보고서 처리가 서버에서 이루어집니다. 보고서 서버에 연결되어 있지 않으면 보고서 처리가 로컬 미리 보기에서 이루어집니다. 로컬 미리 보기에서는 보고서 처리기가 보고서 작성기 2.0과 함께 설치되거나 보고서 작성기 2.0의 필수 구성 요소인 데이터 공급자 및 데이터 형식을 사용합니다.
보고서 데이터는 데이터 공급자 또는 데이터 처리 확장 프로그램을 통해 데이터 원본에서 보고서 처리 구성 요소로 이동합니다. 데이터 공급자는 결과 집합의 각 열을 네이티브 데이터 형식에서 Microsoft.NET Framework CLR 데이터 형식으로 매핑합니다. 각 단계에서 데이터는 다음 목록에서 설명하는 데이터 형식으로 표현됩니다.
데이터 원본 연결하는 데이터 원본 유형 버전에서 지원하는 데이터 형식입니다.
예를 들어 SQL Server 2005 데이터 원본에 대한 일반적인 데이터 형식에는 int, datetime 및 varchar이 있습니다. SQL Server 2008에서 새로 도입된 데이터 형식에서는 date, time, datetimetz 및 datetime2에 대한 지원을 추가했습니다. 자세한 내용은 데이터 형식(Transact-SQL)을 참조하십시오.
데이터 공급자 또는 데이터 처리 확장 프로그램 데이터 원본에 연결할 때 선택하는 데이터 처리 확장 프로그램의 데이터 공급자 버전에서 지원하는 데이터 형식입니다. .NET Framework를 기반으로 하는 데이터 공급자는 CLR에서 지원하는 데이터 형식을 사용합니다.
예를 들어 .NET Framework에서 지원하는 일반적인 데이터 형식에는 Int32 및 String이 있습니다. 달력 날짜 및 시간은 DateTime 구조에서 지원합니다. .NET Framework 2.0 서비스 팩 1은 표준 시간대 오프셋이 있는 날짜에 대한 DateTimeOffset 구조를 새로 지원합니다. 표준 시간대를 포함하는 날짜에 대한 자세한 내용은 DateTime, DateTimeOffset 및 TimeZoneInfo 중 선택을 참조하십시오.
보고서 처리기 데이터 형식은 보고서 작성기 2.0을 설치할 때 설치된 CLR 버전을 기반으로 합니다.
예를 들어 다음 표에서는 SQL Server 2008에 도입된 새 날짜 및 시간 형식에 대해 보고서 서버의 보고서 처리기가 사용하는 데이터 형식을 보여 줍니다.
SQL 데이터 형식
CLR 데이터 형식
설명
Date
DateTime
날짜만
Time
TimeSpan
시간만
DateTimeTZ
DateTimeOffset
표준 시간대 오프셋을 포함하는 날짜 및 시간
DateTime2
DateTime
소수 자릿수 밀리초를 포함하는 날짜 및 시간
SQL Server 데이터베이스 형식에 대한 자세한 내용은 날짜 및 시간 데이터 형식 및 함수(Transact-SQL)(Date and Time Data Types and Functions (Transact-SQL))를 참조하십시오. CLR 데이터 형식에 대한 자세한 내용은 기본 형식 사용(Working with Base Types)을 참조하십시오.
Microsoft.NET Framework 데이터 공급자 데이터 형식에 대한 자세한 내용은 데이터 형식 매핑(ADO.NET)(Data Type Mappings (ADO.NET))을 참조하십시오.
자세한 내용은 식의 데이터 형식 작업(보고서 작성기 2.0) 및 SQL Server 온라인 설명서의 Reporting Services 설명서에 있는 "보고서 정의 언어 데이터 형식"을 참조하십시오.