SSRS(Report Definition Language)Report Definition Language (SSRS)

RDL(Report Definition Language)은 SQL ServerSQL Server Reporting ServicesReporting Services 보고서 정의의 XML 표현입니다.Report Definition Language (RDL) is an XML representation of a SQL ServerSQL Server Reporting ServicesReporting Services report definition. 보고서 정의에는 보고서에 대한 데이터 검색 및 레이아웃 정보가 포함됩니다.A report definition contains data retrieval and layout information for a report. RDL은 Reporting ServicesReporting Services용으로 만들어진 XML 문법과 일치하는 XML 요소로 구성됩니다.RDL is composed of XML elements that match an XML grammar created for Reporting ServicesReporting Services. 보고서 정의 파일 내에서 코드 어셈블리에 액세스하여 보고서 항목 값, 스타일, 서식 등을 제어하는 사용자 지정 함수를 추가할 수 있습니다.You can add your own custom functions for controlling report item values, styles, and formatting by accessing code assemblies within report definition files.

RDL은 보고 정의 교환을 가능하게 하는 공용 스키마를 정의하여 상업 보고용 제품의 상호 운용성을 높입니다.RDL promotes the interoperability of commercial reporting products by defining a common schema that enables the interchange of report definitions. XML로 작업하는 프로토콜 또는 프로그래밍 인터페이스를 RDL과 함께 사용할 수 있습니다.Any protocol or programmatic interface that works with XML can be used with RDL. RDL은 다음과 같습니다.RDL is:

  • 보고서 정의를 위한 XML 스키마An XML schema for report definitions.

  • 기업과 타사 간의 교환 형식An interchange format for businesses and third parties.

  • 추가 네임스페이스 및 사용자 지정 요소를 지원하는 개방형의 확장 가능한 스키마An extensible and open schema that supports additional namespaces and custom elements.

RDL 사양 RDL Specifications

특정 스키마 버전에 대한 사양을 다운로드하려면 Report Definition Language 사양(Report Definition Language Specification)을 참조하십시오.To download specifications for specific schema versions, see Report Definition Language Specification.

RDL XML 스키마 정의 RDL XML Schema Definition

A SQL ServerSQL Server Reporting ServicesReporting Services RDL(Report Definition Language) 파일은 XSD(XML 스키마 정의) 파일을 사용하여 검증됩니다.A SQL ServerSQL Server Reporting ServicesReporting Services Report Definition Language (RDL) file is validated by using an XML Schema Definition (XSD) file. 스키마는 .rdl 파일에 RDL 요소의 발생 규칙을 정의합니다.The schema defines the rules for where RDL elements can occur in an .rdl file. 요소는 데이터 형식과 카디널리티, 즉 허용되는 발생 횟수를 포함합니다.An element includes its data type and cardinality, that is, the number of occurrences that are allowed. 요소에는 단순 요소와 복합 요소가 있습니다.An element can be simple or complex. 단순 요소에는 자식 요소 또는 특성이 없습니다.A simple element does not have child elements or attributes. 복합 요소에는 자식이 있고 선택적으로 특성도 보유합니다.A complex element does have children and optionally, attributes.

예를 들어 스키마가 복합 유형 ReportParameters인 RDL 요소 ReportParametersType를 포함합니다.For example, the schema includes the RDL element ReportParameters, which is the complex type ReportParametersType. 규칙에 따라 요소의 복합 유형 이름은 요소 이름 뒤에 Type이라는 단어를 붙여 만듭니다.By convention, a complex type for an element is the name of the element follow by the word Type. ReportParameters 요소는 Report 요소(복합 형식)에 포함될 수 있고 ReportParameter 요소를 포함할 수 있습니다.A ReportParameters element can be contained by the Report element (a complex type), and can contain ReportParameter elements. ReportParameterType 은 단순 유형으로 값은 Boolean, DateTime, Integer, Float또는 String중 하나와 같을 수 있습니다.A ReportParameterType is a simple type that can only be one of the following values: Boolean, DateTime, Integer, Float, or String. XML 스키마 데이터 형식에 대한 자세한 내용은 XML 스키마 2부: Datatypes Second Edition을 참조하세요.For more information about XML Schema datatypes, see XML Schema Part 2: Datatypes Second Edition.

RDL XSD는 제품 CD-ROM의 Extras 폴더에 있는 ReportDefinition.xsd 파일에서 사용할 수 있습니다.The RDL XSD is available in the ReportDefinition.xsd file, located in the Extras folder on the product CD-ROM. 다음 URL 통해 보고서 서버에서 사용할 수 이기도: http://servername/reportserver/reportdefinition.xsd합니다.It is also available on the report server through the following URL: http://servername/reportserver/reportdefinition.xsd.

RDL 만들기 Creating RDL

개방형이고 확장 가능한 RDL의 특성 덕분에 XML 스키마를 기반으로 RDL을 생성하는 다양한 도구와 응용 프로그램을 작성할 수 있습니다.Because of the open and extensible nature of RDL, a variety of tools and applications can be built that generate RDL based on its XML schema.

Reporting ServicesReporting Services 는 RDL 파일을 빌드하는 여러 도구를 제공합니다. provides multiple tools to build RDL files. 자세한 내용은 Reporting Services 도구를 참조하세요.For more information, see Reporting Services Tools.

응용 프로그램에서 RDL을 생성하는 가장 쉬운 방법은 MicrosoftMicrosoft .NET Framework.NET Framework 네임스페이스 및 System.Xml 네임스페이스의 System.Linq 클래스를 사용하는 것입니다.One of the easiest ways to generate RDL from an application is to use the MicrosoftMicrosoft .NET Framework.NET Framework classes of the System.Xml namespace and System.Linq namespace. 특히 XmlTextWriter 클래스는 RDL을 쓰는 데 사용할 수 있습니다.One class in particular, the XmlTextWriter class, can be used to write RDL. XmlTextWriter를 사용하여 전체 보고서 정의를 처음부터 생성하여 임의의 .NET Framework.NET Framework 응용 프로그램에서 완료할 수 있습니다.With XmlTextWriter, you can generate a complete report definition from start to finish in any .NET Framework.NET Framework application. 개발자는 또한 사용자 지정 속성이 포함된 사용자 지정 보고서 항목을 추가하여 RDL을 확장할 수도 있습니다.Developers can also extend RDL by adding custom report items with custom properties. 에 대 한 자세한는 XmlTextWriter 클래스 및 System.Xml 네임 스페이스 참조는 MicrosoftMicrosoft .NET Framework.NET Framework 개발자 가이드입니다.For more on the XmlTextWriter class and the System.Xml namespace, see the MicrosoftMicrosoft .NET Framework.NET Framework Developer's Guide. LINQ(Language-Integrated Query)에 대한 자세한 내용은 MSDN에서 "LINQ to XML"을 참조하십시오.For more information about Language-Integrated Query (LINQ), search for "LINQ to XML" on MSDN.

보고서 정의 파일의 표준 파일 확장명은 .rdl입니다.The standard file extension for report definition files is .rdl. 확장명이 .rdlc인 클라이언트 보고서 정의 파일을 개발할 수도 있습니다.You can also develop client report definition files, which have the extensions .rdlc. 두 확장명 모두 MIME 형식은 텍스트/xml입니다.The MIME type for both extensions is text/xml. 보고서에 대한 자세한 내용은 Reporting Services 보고서(SSRS)를 참조하세요.For more information about reports, see Reporting Services Reports (SSRS).

RDL 형식 RDL Types

다음 표에서는 RDL 요소 및 특성에 사용되는 유형을 보여 줍니다.The following table lists types used in RDL elements and attributes.

TypeType DescriptionDescription
이진Binary Base-64로 인코딩된 이진 값을 갖는 속성입니다.A property with a base-64 encoded binary value.
BooleanBoolean 개체 값으로 true 또는 false 를 갖는 속성입니다.A property with true or false as the value of the object. 다르게 지정되지 않는 이상 생략된 선택적 Boolean 개체의 값은 False입니다.Unless specified otherwise, the value of an omitted optional Boolean object is False.
날짜Date 완전히 지정된 날짜 또는 ISO8601 날짜 형식(YYYY-MM-DD[THH:MM[:SS[.S]]])으로 지정된 날짜/시간 값을 갖는 속성입니다.A property with a fully specified date or datetime value specified in ISO8601 date format: YYYY-MM-DD[THH:MM[:SS[.S]]].
EnumEnum 지정된 값 목록의 하나인 문자열 텍스트 값을 갖는 속성입니다.A property with a string text value that must be one of a list of designated values.
FloatFloat float 값을 갖는 속성입니다.A property with a float value. 마침표(.)를 선택적 소수 구분 기호로 사용합니다.A period (.) is used as the optional decimal separator.
IntegerInteger 정수(int32) 값을 갖는 속성입니다.A property with an integer (int32) value.
언어Language 미국 영어의 경우 "en-us"와 같이 언어 및 culture 코드가 포함된 텍스트 값을 갖는 속성입니다.A property with a text value that contains a language and culture code, such as "en-us" for US English. 값은 기본 언어가 MicrosoftMicrosoft .NET Framework.NET Framework에 정의된 중립 언어 또는 특정 언어여야 합니다.The value must either be a specific language or a neutral language for which a default language is defined in the MicrosoftMicrosoft .NET Framework.NET Framework.
이름Name 문자열 텍스트 값을 갖는 속성입니다.A property with a string text value. 이름은 항목의 네임스페이스 내에서 고유해야 합니다.Names must be unique within the namespace of the item. 지정하지 않을 경우 항목의 네임스페이스는 가장 안쪽에 위치하고 있으며 이름이 있는 포함하는 개체입니다.If not specified, the namespace for an item is the innermost containing object that has a name.
NormalizedStringNormalizedString 일반화된 문자열 텍스트 값을 갖는 속성입니다.A property with a string text value that has been normalized.
크기Size 크기 요소는 숫자를 포함해야 합니다(마침표 문자가 선택적 소수 구분 기호로 사용됨).A size element must contain a number (with a period character used as an optional decimal separator). 숫자 다음에는 cm, mm, in, pt, pc와 같은 CSS 길이 단위 지정자가 와야 합니다.The number must be followed by a designator for a CSS length unit such as cm, mm, in, pt, or pc. 숫자와 지정자 사이의 공백은 선택적입니다.A space between the number and the designator is optional. 크기 지정자에 대한 자세한 내용은 CSS 길이 단위 참조(CSS Length Units Reference)를 참조하십시오.For more information about size designators, see CSS Length Units Reference.

RDL에서 Size 의 최대값은 160인치이고In RDL, the maximum value for Size is 160 in. 최소 크기는 0인치입니다.The minimum size is 0 in.
StringString 문자열 텍스트 값을 갖는 속성입니다.A property with a string text value.
UnsignedIntUnsignedInt 서명되지 않은 정수(int32) 값을 갖는 속성입니다.A property with an unsigned integer (uint32) value.
VariantVariant 단순 XML 유형을 갖는 속성입니다.A property with any simple XML type.

RDL 데이터 형식 RDL Data Types

DataType 열거형은 특성, 식 또는 매개 변수의 데이터 형식을 RDL로 정의합니다.The DataType Enumeration defines the data type of an attribute, expression, or parameter in RDL. 다음 표에서는 CLR(공용 언어 런타임) 데이터 형식과 RDL 데이터 형식의 관련을 보여 줍니다.The following table shows how common language runtime (CLR) data types correspond to RDL data types.

CLR 유형CLR Type(s) 해당 데이터 형식Corresponding Data Type
BooleanBoolean BooleanBoolean
DateTime, DateTimeOffsetDateTime, DateTimeOffset DateTimeDateTime
Int16, Int32, UInt16, Byte, SByteInt16, Int32, UInt16, Byte, SByte IntegerInteger
Single, DoubleSingle, Double FloatFloat
String, Char, GUID, TimespanString, Char, GUID, Timespan StringString

관련 항목:See Also

보고서 정의 스키마 버전 찾기(SSRS) Find the Report Definition Schema Version (SSRS)
보고서에 사용자 지정 어셈블리 사용 Using Custom Assemblies with Reports
사용자 지정 보고서 항목Custom Report Items