次の方法で共有


レポート定義言語 (SSRS)

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

RDL は、レポート定義の交換を可能にする共通スキーマを定義することで、商用レポート製品の相互運用性を促進します。 RDL は次のように定義できます。

  • レポート定義の XML スキーマ
  • ビジネスおよびサード パーティ用の交換形式
  • より多くの名前空間とカスタム要素をサポートする拡張可能なオープン スキーマ。

前提条件

XML で使用できるプロトコルまたはプログラム インターフェイスは RDL で使用できます。

RDL の仕様

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

RDL XML スキーマ定義

SSRS RDL ファイルは、XML スキーマ定義 (XSD) ファイルを使用して検証されます。 スキーマでは、.rdl ファイル内で RDL 要素を使用できる場所に関する規則を定義しています。 要素には、そのデータ型とカーディナリティ(許可される出現回数)が含まれます。 要素には、単純なものも複雑なものもあります。 単純な要素には子要素や属性はありません。 複合要素には子要素があり、属性を持つことができます。

たとえば、スキーマには、 ReportParametersType複合型の RDL 要素 ReportParametersが含まれます。

  • 慣例により、要素の複合型は、要素名の後に 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 ツール」を参照してください。

  • System.Xml および System.Linq 名前空間の Microsoft .NET Framework クラスを使用して、アプリケーションから RDL を生成します。
  • XmlTextWriter を使用して RDL を記述します。 XmlTextWriterを使用すると、任意の .NET Framework アプリケーションで完全なレポート定義を最初から最後まで生成できます。 XmlTextWriter クラスおよび System.Xml 名前空間の詳細については、「Microsoft .NET Framework 開発者ガイド」を参照してください。

開発者は、カスタム プロパティを持つカスタム レポート アイテムを追加することで RDL を拡張できます。 統合言語クエリ (LINQ) の詳細については、Microsoft Developer Network で「LINQ to XML」を検索してください。

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

RDL 型

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

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