次の方法で共有


レポート データセット内のフィールドの操作

データセット フィールドは、テーブルやグラフなどのレポート アイテムとレポート データの間のリンクを提供するために使用されます。フィールドは、クエリによって返される列への直接的なリンクか、ユーザー定義の計算フィールドです。

データセット フィールドは、組み込みフィールドと同じではありません。組み込みフィールドは、Reporting Services によって提供される定義済みフィールドのセットで、レポートの処理時にレポート名やタイム スタンプなどのレポート情報を提供します。詳細については、「式での組み込みフィールド参照の使用 (Reporting Services)」を参照してください。

レポートにデータセット フィールド値を表示するには、データセット フィールド値をデザイン画面のテキスト ボックスかデータ領域のセル、またはグラフおよびゲージのドロップ ゾーンにドラッグします。データセット フィールドは、数値データおよび非数値データだけでなく、データベース内のその他のデータ型 (ドリルスルー レポートの URL、画像、サブスクライバの電子メール アドレスなど) として表示できます。

フィールド コレクションの操作

データセット フィールドは、データセット クエリおよびユーザー定義の計算フィールドによって指定されます。データセットを作成した後、レポート データ ペインのデータセット ノードを展開すると、データセット フィールド コレクションを表示できます。データベース フィールドは、データセットのクエリを変更するたびに自動的に更新されます。

計算フィールドは、式を作成して手動で指定します。計算フィールドは、データ ソースに存在しない新しい値を作成するために使用できます。たとえば、計算フィールドは、新しい値、フィールド値のセットのカスタムの並べ替え順、または別のデータ型に変換される既存のフィールドを表すことができます。詳細については、「レポート データ ペインでフィールドを追加、編集、削除する方法」を参照してください。

データセット フィールドとレポート アイテムのリンク

データセットのデータは、テキスト ボックス、テーブル、マトリックス、リスト、グラフ、およびゲージのレポート アイテムに表示できます。フィールドをレポート アイテムにリンクするには、レポート データ ペインからフィールドをドラッグするか、レポート アイテムのフィールド セレクタ アイコンを使用できます。たとえば、フィールドをグラフ カテゴリのドロップ ゾーンにリンクする最もシンプルな方法は、フィールド セレクタを使用する方法です。既存の行グループを含む Tablix の場合、フィールドを Tablix 行グループ領域にドラッグして、入れ子になったフィールドを追加できます。フィールドを Tablix 本体領域にドラッグすると、既定値が自動的に入力された新規フィールドを追加できます。

デザイン画面上でのフィールドのレポート アイテムへの追加の詳細については、「レポート レイアウトのデザイン」を参照してください。

データセット フィールド コレクションで予期した結果が得られない場合は、「レポートのトラブルシューティング : 特定のファイル形式にエクスポートされるレポート」を参照してください。

既定式について

テキスト ボックスは、レポート本文の Textbox レポート アイテム、または Tablix データ領域のセル内のテキスト ボックスです。フィールドをテキスト ボックスにリンクするとき、テキスト ボックスの位置によって、フィールド参照の既定式が決定されます。レポート本文のテキスト ボックス値の式は、集計およびデータセットを指定する必要があります。レポートに 1 つのデータセットしか存在しない場合、この既定式が作成されます。数値を表すフィールドの場合、既定の集計関数は Sum です。数値以外の値を表すフィールドの場合、既定の集計は First です。

Tablix データ領域では、既定のフィールド式は、フィールドを追加するテキスト ボックスの行およびグループ メンバシップに依存します。テーブルの詳細行のテキスト ボックスに追加した場合、フィールド Sales のフィールド式は、[Sales] です。同じフィールドをグループ ヘッダー内のテキスト ボックスに追加した場合、グループ ヘッダーには詳細値ではなくグループの集計値が表示されるので、既定の式は (Sum[Sales]) です。レポートの実行時に、レポート プロセッサによって各式が評価され、レポート内の結果が置き換えられます。

拡張フィールド プロパティの使用

SQL ServerAnalysis Services などの多次元クエリをサポートするデータ ソースは、フィールドのフィールド プロパティをサポートします。フィールド プロパティは、クエリの結果セットに表示されますが、レポート データ ペインには表示されません。これらは、レポートで使用することが可能です。フィールドのプロパティを参照するには、フィールドをレポートにドラッグし、既定のプロパティの Value を、目的のプロパティのフィールド名に変更します。たとえば、Analysis Services キューブでは、キューブ セルの値の書式を定義できます。書式設定された値は、フィールド プロパティ FormattedValue を使用することにより使用できます。値を使用してテキスト ボックスの書式プロパティを設定するのではなく、値を直接使用するには、フィールドをテキスト ボックスにドラッグして、既定式 =Fields!FieldName.Value を =Fields!FieldName.FormattedValue に変更します。

注意注意

すべての Field プロパティをすべてのデータ ソースに使用できるわけではありません。Value と IsMissing プロパティは、すべてのデータ ソースで定義されます。その他の定義済みプロパティ (多次元データ ソースの Key、UniqueName、ParentUniqueName など) は、データ ソースが、それらのプロパティを提供している場合にのみサポートされます。一部のデータ プロバイダでは、カスタム プロパティがサポートされます。詳細については、「レポート データセットの作成」で、目的のデータ ソースの種類の拡張フィールド プロパティについてのトピックを参照してください。たとえば、SQL ServerAnalysis Services データ ソースについては、「Analysis Services データセットに対する拡張フィールド プロパティの使用」を参照してください。

フィールド データ型の操作

データセットを作成したとき、データ ソースのフィールドのデータ型がレポートで使用される正確なデータ型ではない場合があります。データ型は、1 つまたは 2 つのマッピング レイヤを通過することがあります。データ処理拡張機能またはデータ プロバイダが、データ ソースのデータ型を共通言語ランタイム (CLR) データ型にマップすることがあります。データ処理拡張機能によって返されるデータ型は、.NET Framework の共通言語ランタイム (CLR) データ型のサブセットにマップされます。

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

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

レポート データは、データ ソースからデータ プロバイダまたはデータ処理拡張機能を経由して、レポート処理コンポーネントに送られます。各ステージにおいて、データは、次の一覧で説明するデータ型によって表現されます。

データ プロバイダは、ネイティブ データ型の結果セットの各列を Microsoft.NET Framework CLR データ型にマップします。

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

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

  • データ プロバイダまたはデータ処理拡張機能   データ ソースに接続するときに選択したデータ処理拡張機能のデータ プロバイダのバージョンによってサポートされるデータ型。.NET Framework に基づくデータ プロバイダは、CLR でサポートされるデータ型を使用します。

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

    注意注意

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

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

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

    SQL データ型

    CLR データ型

    説明

    Date

    DateTime

    日付のみ

    Time

    TimeSpan

    時刻のみ

    DateTimeTZ

    DateTimeOffset

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

    DateTime2

    DateTime

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

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

Microsoft.NET Framework データ プロバイダの種類の詳細については、「データ型のマッピング (ADO.NET)」を参照してください。

詳細については、「式におけるデータ型の使用 (Reporting Services)」および「レポート定義言語のデータ型」を参照してください。