レポート定義言語 (SSRS)

レポート定義言語 (RDL) は、SQL Server Reporting Services レポート定義の XML 表現です。 レポート定義には、レポートのデータ取得とレイアウトの情報が含まれます。 RDL は、 Reporting Services用に作成された XML 文法に準拠する XML 要素で構成されます。 レポート定義ファイル内のコード アセンブリにアクセスすることによって、レポート アイテムの値、スタイル、および書式設定を制御するために独自のカスタム機能を追加できます。

RDL は、レポート定義の交換を可能にする共通スキーマを定義することで、商用レポート製品の相互運用性を促進します。 XML で使用できるプロトコルまたはプログラム インターフェイスは RDL で使用できます。 RDL は次のように定義できます。

  • レポート定義の XML スキーマ

  • ビジネスおよびサード パーティ用の交換形式

  • 追加の名前空間とカスタム要素をサポートする拡張可能で開放型のスキーマ

RDL の仕様

特定のスキーマ バージョンの仕様をダウンロードするには、「 レポート定義言語の仕様」を参照してください。

RDL XML スキーマ定義

SQL Server Reporting Services のレポート定義言語 (RDL) ファイルは、XML スキーマ定義 (XSD) ファイルを使用して検証されます。 スキーマでは、.rdl ファイル内で RDL 要素を使用できる場所に関する規則を定義しています。 要素には、データ型とカーディナリティ (要素を使用できる回数) が含まれます。 要素には、単純なものも複雑なものもあります。 単純な要素には、子要素または属性がありません。 複雑な要素には、子要素のほか、必要に応じて属性を指定できます。

たとえば、スキーマには、ReportParameters 複合型の RDL 要素 ReportParametersType が含まれます。 通常、要素の複合型の名前は、要素名の後に Type という単語が続きます。 ReportParameters 要素は、Report 要素 (複合型) に含めることができ、ReportParameter 要素を含むことができます。 ReportParameterType は単純型で、BooleanDateTimeIntegerFloat、または String のいずれかの値のみを指定できます。 XML スキーマ データ型の詳細については、「 XML スキーマ第 2 部: データ型 (第 2 版)」を参照してください。

RDL XSD は、ReportDefinition.xsd ファイルから入手できます。このファイルは製品 CD-ROM の Extras フォルダーにあります。 また、次の URL を使用してレポート サーバーで使用することもできます。 https://servername/reportserver/reportdefinition.xsd.

RDL の作成

RDL は開放型で拡張可能な性質を持つため、XML スキーマに基づき RDL を生成するさまざまなツールとアプリケーションを作成できます。

Reporting Services には、RDL ファイルを作成するための複数のツールが用意されています。 詳細については、「 Reporting Services ツール」を参照してください。

アプリケーションから RDL を生成する最も簡単な方法の 1 つは、Microsoft .NET Framework 名前空間と System.Xml 名前空間の System.Linq クラスを使用することです。 特に、 XmlTextWriter クラスは RDL の記述に使用できます。 XmlTextWriterを使用すると、任意の .NET Framework アプリケーションで完全なレポート定義を最初から最後まで生成できます。 開発者は、カスタム プロパティを持つカスタム レポート アイテムを追加して、RDL を拡張することもできます。 XmlTextWriter クラスおよび System.Xml 名前空間の詳細については、「Microsoft .NET Framework 開発者ガイド」を参照してください。 言語統合クエリ (LINQ) の詳細については、MSDN で「LINQ to XML」を検索してください。

レポート定義の標準的なファイル拡張子は .rdl です。 .rdlc という拡張子のクライアント レポート定義ファイルを作成することもできます。 どちらの拡張子の場合も、MIME の種類は text/xml です。 レポートの詳細については、「Reporting Services レポート (SSRS)」を参照してください。

RDL 型

次の表に、RDL 要素および属性で使用される型を示します。

説明
Binary base-64 でエンコードされたバイナリ値を持つプロパティです。
Boolean オブジェクトの値として true または false を持つプロパティです。 特に指定しない限り、オプションのブール値オブジェクトを省略した場合の値は False です。
Date ISO8601 の日付形式 (YYYY-MM-DD[THH:MM[:SS[.S]]]) で指定した、完全指定の日付または datetime の値を持つプロパティです。
Enum 文字列テキストの値を持つプロパティです。値は指定値の一覧のうちのいずれかである必要があります。
Float 浮動小数点数値を持つプロパティです。 オプションの 10 進区切り記号として、ピリオド (.) が使用されます。
Integer 整数 (int32) 値を持つプロパティです。
Language 米国英語を表す "en-us" などの言語文化コードを含むテキスト値を持つプロパティです。 値は、特定の言語か、Microsoft .NET Framework で既定の言語が定義されたニュートラル言語である必要があります。
Name 文字列テキストの値を持つプロパティです。 名前は、アイテムの名前空間内で一意である必要があります。 指定しない場合、名前を持つ最も内側のオブジェクトが、アイテムの名前空間となります。
NormalizedString 正規化された文字列テキストの値を持つプロパティです。
Size サイズ要素には、数値が含まれている必要があります (小数点としてピリオドを使用)。 数値の後には、cm、mm、in、pt、pc など、CSS 長さ単位の指定子を入力する必要があります。 数値と指定子の間のスペースは省略可能です。 サイズ指定子の詳細については、「 CSS の長さ単位リファレンス」を参照してください。

RDL では、Size の最大値は 160 インチで、 最小サイズは 0 インチです。
String 文字列テキストの値を持つプロパティです。
UnsignedInt 符号なし整数 (uint32) 値を持つプロパティです。
Variant 任意の単純な XML 型を持つプロパティです。

RDL データ型

DataType 列挙は、RDL で属性、式、またはパラメーターのデータ型を定義します。 次の表に、共通言語ランタイム (CLR) データ型と RDL データ型の対応を示します。

CLR 型 対応するデータ型
Boolean Boolean
DateTime、DateTimeOffset DateTime
Int16、Int32、UInt16、Byte、SByte Integer
Single、Double Float
String、Char、GUID、Timespan String

参照

レポート定義スキーマのバージョンを確認する (SSRS)
レポートでのカスタム アセンブリの使用
カスタム レポート アイテム