レポートでの式の使用 (Visual Studio レポート デザイナ)

ReportViewer レポートに Microsoft Visual Basic の式を含めることができます。式を使用して、レポート アイテムの値の計算や、スタイルと書式のプロパティやその他のレポート アイテムのプロパティの値を計算できます。Visual Basic のすべての関数だけでなく、レポート定義ファイルでしかサポートされていない組み込み関数も使用できます。

ReportViewer レポートでよく使用される式の詳細については、「レポートの一般的な式 (Visual Studio レポート デザイナ)」を参照してください。

フィールド式

最も基本的な式は、テキスト ボックスにフィールド値を表示する式です。これは、フィールド式と呼ばれます。データ フィールドをレポート アイテムにリンクするには、式に Fields コレクション、フィールドの名前、および Value プロパティを指定する必要があります。値は、フィールドをレポートにドラッグすると自動的に作成されます。次の例は、テキスト ボックスに製品名を表示する式を示しています。

=Fields!Product.Value

式には、フィールド オブジェクトを参照する短い式を使用することも、フィールドや他のレポート アイテムに基づく決定関数や書式をサポートする長い式を使用することもできます。レポート アイテムやプロパティ内の式には、最初に等号 (=) を付ける必要があります。テキストの最初にこの等号を付けないと、テキストはフィールドの実際の値として評価されます。

フィールド式の例は以下のとおりです。

  • 次の式では、FirstName フィールドと LastName フィールドが連結されます。

    =Fields!FirstName.Value & " " & Fields!LastName.Value
    
  • 次の式では、LineTotal フィールドに Sum 集計関数が実行されます。

    =Sum(Fields!LineTotal.Value)
    

Fields コレクションの詳細については、「レポート内の式のグローバル コレクション (Visual Studio レポート デザイナ)」を参照してください。

条件付き書式

式を使用して、レポート アイテムの外観を制御できます。たとえば、テキスト ボックスの Color プロパティに式を記述し、データによって異なる色でデータが表示されるようにすることができます。条件付き書式の例は以下のとおりです。

  • 次の例では、テキスト ボックスの Color プロパティで使用し、Cost フィールドの値が Revenue フィールドの値よりも大きい場合に、値が赤で表示されるようにしています。指定した条件に合わない場合は、テキストは黒で表示されます。

    =IIf(Fields!Cost.Value > Fields!Revenue.Value, "Red", "Black")
    

条件付き書式の詳細については、「レポートへのスタイルおよび書式の追加 (Visual Studio レポート デザイナ)」を参照してください。

Reporting Services の関数

Reporting Services では、式で使用できる組み込み関数を多数提供しています。RowNumberRunningValue のような関数だけでなく、SumMinMaxCount など、標準の集計関数もあります。すべての関数の一覧と説明については、「レポートの組み込み関数 (Visual Studio レポート デザイナ)」を参照してください。

クラスの参照およびカスタム コード

レポート内の式には、Microsoft.VisualBasicSystem.Convert、および System.Math の名前空間内のクラスへの参照も含まれます。他のシステム名前空間のクラスや関数を使用する場合は、System.Collections.ArrayList のように完全な名前空間を使用する必要があります。

Reporting Services の関数や既定のクラスによって提供されていないその他の機能が必要な場合は、カスタム コードや別の標準アセンブリ、またはレポート コード ブロックを使用できます。この場合は、カスタム アセンブリを構築し、式の内部からこのアセンブリを参照するようにします。詳細については、「レポートへのカスタム コードの追加 (Visual Studio レポート デザイナ)」を参照してください。

参照

概念

ReportViewer コントロール (Visual Studio)
レポートの概要 (Visual Studio)

その他のリソース

サンプルとチュートリアル