RDL(Report Definition Language)
적용 대상: Power BI Report Builder Power BI Desktop
RDL(Report Definition Language)은 페이지를 매긴 보고서 정의를 XML로 표현한 것입니다. 보고서 정의에는 보고서에 대한 데이터 검색 및 레이아웃 정보가 포함됩니다. RDL은 Power BI용으로 만들어진 XML 문법과 일치하는 XML 요소로 구성됩니다. 보고서 정의 파일 내의 코드 블록에 액세스하여 보고서 항목 값, 스타일 및 서식을 제어하기 위한 사용자 지정 함수를 추가할 수 있습니다.
RDL은 보고 정의 교환을 가능하게 하는 공용 스키마를 정의하여 상업 보고용 제품의 상호 운용성을 높입니다. XML과 함께 작동하는 모든 프로토콜이나 프로그래밍 인터페이스를 RDL과 함께 사용할 수 있습니다. RDL은 다음과 같습니다.
- 보고서 정의를 위한 XML 스키마
- 기업과 제3자를 위한 교환 형식입니다.
- 추가 네임스페이스와 사용자 지정 요소를 지원하는 확장 가능한 개방형 스키마입니다.
RDL 사양
특정 스키마 버전에 대한 사양을 다운로드하려면 RDL(Report Definition Language) 사양을 참조하십시오.
RDL XML 스키마 정의
RDL(Report Definition Language) 파일은 XSD(XML 스키마 정의) 파일을 사용하여 검증됩니다. 스키마는 .rdl 파일에 RDL 요소의 발생 규칙을 정의합니다. 요소는 데이터 형식과 카디널리티, 즉 허용되는 발생 횟수를 포함합니다. 요소는 단순할 수도 있고 복잡할 수도 있습니다. 단순 요소에는 자식 요소나 특성이 없습니다. 복합 요소에는 자식 항목과 선택적으로 특성이 있습니다.
예를 들어, 스키마에는 복합 형식 ReportParametersType인 RDL 요소 ReportParameters가 포함되어 있습니다. 일반적으로 요소의 복합 형식은 요소 이름 뒤에 Type이라는 단어가 오는 것입니다. ReportParameters 요소는 Report 요소(복합 형식)에 포함될 수 있으며 ReportParameter 요소를 포함할 수 있습니다. ReportParameterType 은 단순 유형으로 값은 Boolean, DateTime, Integer, Float또는 String중 하나와 같을 수 있습니다. XML 스키마 데이터 형식에 대한 자세한 내용은 XML 스키마 2부: Datatypes Second Edition을 참조하세요.
RDL 만들기
RDL의 개방적이고 확장 가능한 특성으로 인해 XML 스키마를 기반으로 RDL을 생성하는 다양한 도구와 애플리케이션을 빌드할 수 있습니다.
Power BI Report Builder는 RDL 기반 페이지를 매긴 보고서를 빌드하는 데 기본 설정되는 방법입니다.
애플리케이션에서 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입니다. MIME 형식은 text/xml입니다.
RDL 형식
다음 표에서는 RDL 요소 및 특성에 사용되는 유형을 보여 줍니다.
Type | 설명 |
---|---|
이진 | Base-64로 인코딩된 이진 값이 있는 속성입니다. |
부울 | 개체 값이 true 또는 false인 속성입니다. 달리 지정하지 않는 한 생략된 선택적 부울 개체의 값은 False입니다. |
날짜 | 완전히 지정된 날짜 또는 ISO8601 날짜 형식(YYYY-MM-DD[THH:MM[:SS[.S]]])으로 지정된 날짜/시간 값을 갖는 속성입니다. |
Enum | 지정된 값 목록 중 하나여야 하는 문자열 텍스트 값이 있는 속성입니다. |
Float | 부동 소수점 값을 갖는 속성입니다. 마침표(.)는 선택적 소수 구분 기호로 사용됩니다. |
정수 | 정수(int32) 값을 갖는 속성입니다. |
언어 | 미국 영어의 경우 "en-us"와 같이 언어 및 culture 코드가 포함된 텍스트 값을 갖는 속성입니다. 값은 특정 언어이거나 Microsoft .NET Framework에 기본 언어가 정의된 중립 언어여야 합니다. |
이름 | 문자열 텍스트 값이 있는 속성입니다. 이름은 항목의 네임스페이스 내에서 고유해야 합니다. 지정되지 않은 경우 항목의 네임스페이스는 이름이 있는 가장 안쪽 포함 개체입니다. |
NormalizedString | 정규화된 문자열 텍스트 값이 있는 속성입니다. |
크기 | 크기 요소에는 숫자(선택적 소수 구분 기호로 마침표가 사용됨)가 포함되어야 합니다. 숫자 다음에는 cm, mm, in, pt, pc와 같은 CSS 길이 단위 지정자가 와야 합니다. 숫자와 지정자 사이의 공백은 선택 사항입니다. 크기 지정자에 대한 자세한 내용은 CSS 값 및 단위 참조를 참조하세요. RDL에서 크기의 최댓값은 160인치입니다. 최소 크기는 0인치입니다. |
String | 문자열 텍스트 값이 있는 속성입니다. |
UnsignedInt | 부호 없는 정수(uint32) 값이 있는 속성입니다. |
변형 | 간단한 XML 형식의 속성입니다. |
RDL 데이터 형식
DataType 열거형은 RDL의 특성, 식 또는 매개 변수의 데이터 형식을 정의합니다. 다음 표에서는 CLR(공용 언어 런타임) 데이터 형식이 RDL 데이터 형식에 해당하는 방식을 보여 줍니다.
CLR 유형 | 해당 데이터 형식 |
---|---|
Boolean | Boolean |
DateTime, DateTimeOffset | DateTime |
Int16, Int32, UInt16, Byte, SByte | 정수 |
Single, Double | Float |
String, Char, GUID, Timespan | 문자열 |