SSRS(Report Definition Language)
RDL(Report Definition Language)은 SQL Server Reporting Services 보고서 정의의 XML 표현입니다. 보고서 정의에는 보고서에 대한 데이터 검색 및 레이아웃 정보가 포함됩니다. RDL은 Reporting Services용으로 만들어진 XML 문법과 일치하는 XML 요소로 구성됩니다. 보고서 정의 파일 내에서 코드 어셈블리에 액세스하여 보고서 항목 값, 스타일, 서식 등을 제어하는 사용자 지정 함수를 추가할 수 있습니다.
RDL은 보고 정의 교환을 가능하게 하는 공용 스키마를 정의하여 상업 보고용 제품의 상호 운용성을 높입니다. XML로 작업하는 프로토콜 또는 프로그래밍 인터페이스를 RDL과 함께 사용할 수 있습니다. RDL은 다음과 같습니다.
보고서 정의를 위한 XML 스키마
기업과 타사 간의 교환 형식
추가 네임스페이스 및 사용자 지정 요소를 지원하는 개방형의 확장 가능한 스키마
RDL 사양
특정 스키마 버전에 대한 사양을 다운로드하려면 Report Definition Language 사양(Report Definition Language Specification)을 참조하십시오.
RDL XML 스키마 정의
SQL Server Reporting Services RDL(Report Definition Language) 파일은 XSD(XML 스키마 정의) 파일을 사용하여 검증됩니다. 스키마는 .rdl 파일에 RDL 요소의 발생 규칙을 정의합니다. 요소는 데이터 형식과 카디널리티, 즉 허용되는 발생 횟수를 포함합니다. 요소에는 단순 요소와 복합 요소가 있습니다. 단순 요소에는 자식 요소 또는 특성이 없습니다. 복합 요소에는 자식이 있고 선택적으로 특성도 보유합니다.
예를 들어 스키마가 복합 유형 ReportParametersType인 RDL 요소 ReportParameters를 포함합니다. 규칙에 따라 요소의 복합 유형 이름은 요소 이름 뒤에 Type이라는 단어를 붙여 만듭니다. ReportParameters 요소는 Report 요소(복합 유형)에 포함될 수 있고, ReportParameter 요소를 포함할 수 있습니다. ReportParameterType은 단순 유형으로 값은 Boolean, DateTime, Integer, Float 또는 String 중 하나일 수 있습니다. XML 스키마 데이터 형식에 대한 자세한 내용은 XML Schema Part 2: Datatypes Second Edition을 참조하십시오.
RDL XSD는 제품 CD-ROM의 Extras 폴더에 있는 ReportDefinition.xsd 파일에서 사용할 수 있습니다. 다음 URL을 통해 보고서 서버에서도 사용할 수 있습니다: https://servername/reportserver/reportdefinition.xsd
RDL 만들기
개방형이고 확장 가능한 RDL의 특성 덕분에 XML 스키마를 기반으로 RDL을 생성하는 다양한 도구와 응용 프로그램을 작성할 수 있습니다.
Reporting Services는 RDL 파일을 빌드하는 여러 도구를 제공합니다. 자세한 내용은 도구(SSRS)를 참조하십시오.
응용 프로그램에서 RDL을 생성하는 가장 쉬운 방법은 System.Xml 네임스페이스 및 System.Linq 네임스페이스의 Microsoft .NET Framework 클래스를 사용하는 것입니다. 특히 XmlTextWriter 클래스는 RDL을 쓰는 데 사용할 수 있습니다. XmlTextWriter를 사용하여 전체 보고서 정의를 처음부터 생성하여 임의의 .NET Framework 응용 프로그램에서 완료할 수 있습니다. 개발자는 또한 사용자 지정 속성이 포함된 사용자 지정 보고서 항목을 추가하여 RDL을 확장할 수도 있습니다. XmlTextWriter 클래스 및 System.Xml 네임스페이스에 대한 자세한 내용은 Microsoft .NET Framework 개발자 가이드를 참조하십시오. LINQ(Language-Integrated Query)에 대한 자세한 내용은 MSDN에서 "LINQ to XML"을 참조하십시오.
보고서 정의 파일의 표준 파일 확장명은 .rdl입니다. 확장명이 .rdlc인 클라이언트 보고서 정의 파일을 개발할 수도 있습니다. 두 확장명 모두 MIME 형식은 텍스트/xml입니다. 보고서에 대한 자세한 내용은 Reporting Services 보고서(SSRS)를 참조하십시오.
RDL 형식
다음 표에서는 RDL 요소 및 특성에 사용되는 유형을 보여 줍니다.
유형 |
설명 |
---|---|
Binary |
Base-64로 인코딩된 이진 값을 갖는 속성입니다. |
Boolean |
개체 값으로 true 또는 false를 갖는 속성입니다. 다르게 지정되지 않는 이상 생략된 선택적 Boolean 개체의 값은 False입니다. |
Date |
완전히 지정된 날짜 또는 ISO8601 날짜 형식(YYYY-MM-DD[THH:MM[:SS[.S]]])으로 지정된 날짜/시간 값을 갖는 속성입니다. |
Enum |
지정된 값 목록의 하나인 문자열 텍스트 값을 갖는 속성입니다. |
Float |
float 값을 갖는 속성입니다. 마침표(.)를 선택적 소수 구분 기호로 사용합니다. |
Integer |
정수(int32) 값을 갖는 속성입니다. |
Language |
미국 영어의 경우 "ko-kr"와 같이 언어 및 culture 코드가 포함된 텍스트 값을 갖는 속성입니다. 값은 기본 언어가 Microsoft .NET Framework에 정의된 중립 언어 또는 특정 언어여야 합니다. |
Name |
문자열 텍스트 값을 갖는 속성입니다. 이름은 항목의 네임스페이스 내에서 고유해야 합니다. 지정하지 않을 경우 항목의 네임스페이스는 가장 안쪽에 위치하고 있으며 이름이 있는 포함하는 개체입니다. |
NormalizedString |
일반화된 문자열 텍스트 값을 갖는 속성입니다. |
Size |
크기 요소는 숫자를 포함해야 합니다(마침표 문자가 선택적 소수 구분 기호로 사용됨). 숫자 다음에는 cm, mm, in, pt, pc와 같은 CSS 길이 단위 지정자가 와야 합니다. 숫자와 지정자 사이의 공백은 선택적입니다. 크기 지정자에 대한 자세한 내용은 CSS 길이 단위 참조(CSS Length Units Reference)를 참조하십시오. RDL에서 Size의 최대값은 160인치이고 최소 크기는 0인치입니다. |
String |
문자열 텍스트 값을 갖는 속성입니다. |
UnsignedInt |
서명되지 않은 정수(int32) 값을 갖는 속성입니다. |
Variant |
단순 XML 유형을 갖는 속성입니다. |
RDL 데이터 형식
DataType 열거형은 특성, 식 또는 매개 변수의 데이터 형식을 RDL로 정의합니다. 다음 표에서는 CLR(공용 언어 런타임) 데이터 형식과 RDL 데이터 형식의 관련을 보여 줍니다.
CLR 유형 |
해당 데이터 형식 |
---|---|
부울 |
부울 |
DateTime, DateTimeOffset |
DateTime |
Int16, Int32, UInt16, Byte, SByte |
Integer |
Single, Double |
Float |
String, Char, GUID, Timespan |
String |