次の方法で共有


レポート データセットについて (レポート ビルダ 2.0)

レポート データセットのデータは、行または列のセットとして視覚化できます。少なくとも 1 つの列と 0 個以上の行が必要です。デザイン時に、データ ソースから取得する列を指定するクエリを作成します。デザイン時にメタデータを処理することで、デザイン画面でデータセット フィールドをデータ領域とレポート アイテムにリンクすることができます。実行時には、レポート プロセッサが実際のデータを取得し、レポート レイアウトに組み合わせます。レポートはレポート レンダラに渡され、これを使用してレポートを表示します。

デザイン時にクエリ デザイナでデータセット クエリを実行すると、サンプル データを示すデータ ソースの行セットが表示されます。実行時にユーザーがレポートを表示すると、データ ソースのデータが変更されたためにデータセット クエリで別の値が生成されることがあります。レポートを処理するたびに、新しいデータが表示される可能性があります。

レポート データセットのデータについて

レポート データセットは、次の種類のデータで構成されています。

  • データベース コマンド、ストアド プロシージャ、またはユーザー定義関数を実行することによって生成されるリレーショナル データベースの結果セット。1 つのクエリから複数の結果セットが取得された場合は、最初の結果セットだけが処理され、他の結果セットはすべて無視されます。たとえば、テキストベースのクエリ デザイナで次のクエリを実行すると、Production.Product の結果セットだけが結果ペインに表示されます。

    SELECT ProductID FROM Production.Product
    GO
    SELECT ContactID FROM Person.Contact
    
  • XML for Analysis (XMLA) プロトコルを使用する多次元データ ソースのフラットな行セット。データ プロバイダによっては、結果セットには表示されなくてもレポートで使用可能な追加のセルやディメンションのプロパティがデータ ソースから提供されることがあります。

  • XML 要素、属性、および子要素を含む XML データ ソースのフラットな結果セット。

  • 登録および構成されている .NET Framework データ プロバイダの結果セット。

  • 定義済みエンティティ、エンティティ関係、およびフィールドを持つ特定のデータ ソースに指定されたレポート モデルのデータ。詳細については、「レポート モデルのレポート データセットの作成 (レポート ビルダ 2.0)」を参照してください。

実行時にレポートを処理した場合、クエリで返される実際の結果セットに 0 個以上の行があることがあります。また、クエリで定義された列がデータ ソースに見つからない可能性もあります。データ ソースの Null 値は、.NET Framework 値の System.DBNull.Value にマップされます。 

データ プロパティの設定

レポート データセットを定義する際は、クエリのデータ プロパティを設定することも、データ プロバイダにより設定された既定値を使用することもできます。データ型は次のいずれかの方法で変更できます。

  • フィールドを別のデータ型に明示的に変換するようにデータセット クエリを書き直します。

  • データセットのフィールドを編集し、カスタム書式を指定します。

  • データベース フィールドに基づいて新しいカスタム フィールドを作成し、カスタム書式を指定します。

各種言語データをサポートするデータ ソースの場合、並べ替え順、各種言語文字プロパティ、および大文字と小文字を同等に処理するかどうかに影響を与えるデータセットのプロパティを調整しなければならないことがあります。これらのプロパティには、大文字小文字、かな、文字幅、アクセント、照合順序が含まれます。詳細については、SQL Server オンライン ブックの「データベースとデータベース エンジン アプリケーションの国際化に関する注意点」および「照合順序の使用」を参照してください。これらのプロパティの設定方法の詳細については、「[オプション] ([データセットのプロパティ] ダイアログ ボックス) (レポート ビルダ 2.0)」を参照してください。

データセット フィールド コレクションのデータ型について

データ ソースでは、データはそのデータ ソースでサポートされているデータ型に格納されます。たとえば、SQL Server データベースのデータは、nvarchar や datetime などのサポートされている SQL Server データ型である必要があります。データ ソースからデータを取得するとき、データは、データ ソースの種類に関連付けられているデータ処理拡張機能またはデータ プロバイダを通過します。データ処理拡張機能によっては、データは、データ ソースで使用されるデータ型からデータ処理拡張機能でサポートされるデータ型に変換されることがあります。Reporting Services では、Business Intelligence Development Studio と共にインストールされる共通言語ランタイム (CLR) でサポートされるデータ型が使用されます。データ プロバイダは、ネイティブ データ型の結果セットの各列を .NET Framework 共通言語ランタイム (CLR) データ型にマップします。

各ステージにおいて、データは、次の一覧で説明するデータ型によって表現されます。

  • データ ソース   接続先のデータ ソースの種類のバージョンでサポートされるデータ型。

    たとえば、SQL Server データ ソースの一般的なデータ型には、int、datetime、および varchar が含まれます。SQL Server 2008 で追加されたデータ型により、date、time、datetimetz、および datetime2 のサポートが追加されました。詳細については、「データ型 (Transact-SQL)」を参照してください。

  • データ プロバイダまたはデータ処理拡張機能   データ ソースに接続するときに選択したデータ処理拡張機能のデータ プロバイダのバージョンによってサポートされるデータ型。.NET Framework に基づくデータ プロバイダは、CLR でサポートされるデータ型を使用します。.NET Framework データ プロバイダのデータ型の詳細については、MSDN の「データ型のマッピング (ADO.NET)」および「基本型の操作」を参照してください。

    たとえば、.NET Framework でサポートされる一般的なデータ型には、Int32 および String が含まれます。カレンダー日付および時刻は DateTime 構造体でサポートされています。.NET Framework 2.0 Service Pack 1 で、タイム ゾーン オフセットを含む日付の DateTimeOffset 構造体のサポートが追加されました。

    注意注意

    レポート サーバーは、レポート サーバー上にインストールされ構成されたデータ プロバイダを使用します。プレビュー モードのレポート作成クライアントは、クライアント マシン上にインストールされ構成されたデータ処理拡張機能を使用します。レポート クライアントとレポート サーバー環境の両方でレポートをテストする必要があります。

  • レポート プロセッサ   データ型は、Reporting Services のインストール時にインストールされた CLR のバージョンに基づきます。SQL Server 2008Reporting Services では、.NET Framework 3.5 に基づいた CLR がインストールされます。

    たとえば、SQL Server 2008 で追加された新しい日付および時刻型に対してレポート プロセッサが使用するデータ型を次の表に示します。

    SQL データ型

    CLR データ型

    説明

    Date

    DateTime

    日付のみ

    Time

    TimeSpan

    時刻のみ

    DateTimeTZ

    DateTimeOffset

    タイム ゾーン オフセットを含む日付と時刻

    DateTime2

    DateTime

    小数ミリ秒を含む日付と時刻

SQL Server データベースの型の詳細については、「データ型 (データベース エンジン)」および「日付と時刻のデータ型および関数 (Transact-SQL)」を参照してください。

式のデータセット フィールドへの参照を含める方法については、「式におけるデータ型の使用 (レポート ビルダ 2.0)」を参照してください。

複数のデータセットの使用

レポートには通常、複数のデータセットがあります。次の一覧では、レポートにおけるデータセットの使用方法について説明します。

データセットの既存のクエリのインポート

データセットを作成する場合、新しいクエリを作成するか、ファイルまたは別のレポートから既存のクエリをインポートすることができます。サポートされているファイルの種類は .sql と .rdl だけです。多次元式 (MDX) クエリまたはデータ マイニング予測 (DMX) クエリは、結果セットをフラットな行セットとして取得しなければならないため、Reporting Services クエリ デザイナでのみ生成できます。

別のレポートからクエリをインポートする場合は、レポートのデータセットの一覧からインポートするクエリを選択できます。

実行時に行データが取得されない場合のメッセージの表示

レポート処理中、データセットのクエリを実行しても、結果のセットに行が含まれていないことがあります。表示レポートでは、空のデータセットにリンクされているデータ領域は空のデータ領域として表示されます。表示レポートの空のデータ領域部分に表示するテキストを指定できます。また、すべてのデータセットのクエリを実行しても実行時にデータが生成されない場合にサブレポートに表示するメッセージも指定できます。詳細については、「データ領域にデータがないことを示すメッセージを設定する方法 (レポート ビルダ 2.0)」を参照してください。

存在しないフィールドの検出

レポートを処理したときに、データ ソースに列が存在しないために、データセットの結果セットに指定されたすべての列の値が含まれていないことがあります。フィールド プロパティの IsMissing を使用して、フィールドの値が実行時に返されたかどうかを検出できます。詳細については、「式におけるデータセット フィールド コレクションの参照の使用 (レポート ビルダ 2.0)」を参照してください。

非表示のデータセットの表示

多次元データ ソースに対するパラメータ化クエリを作成すると、パラメータに有効な値を提供するためのデータセットが Reporting Services によって自動的に作成されます。既定では、これらのデータセットはレポート データ ペインに表示されません。詳細については、「非表示のデータセットを表示する方法 (レポート ビルダ 2.0)」を参照してください。