レポートでのフィールドの計算

レポート デザイナを使用して、データ ソースに存在しないレポートのフィールドを作成することができます。この機能は、データ ソース内の他の属性に応じて変化する動的フィールドを作成する場合に役立ちます。動的フィールドを作成するために、C# の式を使用して文字列、日付、または数値のフィールド タイプを操作できます。

計算フィールドをレポート デザイナで作成するには 2 つの方法があります。1 つめの方法では、レポートにテキスト ボックスを追加し、そのテキスト ボックスにレポートの生成時に実行する式を入力します。この方法の手順と式の例については、後で説明します。2 つめの方法では、関連付けのない [Calculated] フィールドをレポートに追加します。この操作はレポート セクション ツリーのみで実行できます。ツリーの [Calculated] ノードを右クリックし、[追加] を選択します。これにより、レポートで使用できる関連付けのないフィールドが作成されます。関連付けのないフィールドの式は、フィールドの [式] プロパティで設定します。[式] を設定したら、フィールドを使用するレポートのセクションにドラッグします。

関連付けのないフィールドを使用すると、[式] プロパティで他の関連付けのないフィールドを使用できます。結果として、関連付けのないフィールドを使用してレポートに動的なコンテンツを生成するサマリ フィールドを作成できます。

注意注意:

関連付けのない [Calculated] フィールドを使用して、式で他のサマリ統計を使用するサマリ統計を計算することはできません。

手順:
  1. レポート デザイナでレポートを開きます
  2. [デザイン エレメント] リストの [TextBox] をクリックして、そのエレメントをレポート レイアウト上の位置にドラッグします。
  3. [エレメント プロパティ] グリッドの [データ フィールド] 領域に式を入力します。式は常に等号(=)で開始します。

    算術演算

    =Quantity + 5

    =Quantity - 3

    =Diameter * 3.14

    =Population / Area

    =(double)System.Math.Round(CostPerUnit*Inventory)

    サポートされる数学関数の詳細については、Math クラスに関する MSDN ヘルプをご参照ください。

    条件

    =(ValueField == 1)?"One":"Not One"

    =(Price < 10)?"Clearance":"Price-Change"

    =(SoilType == System.DBNull.Value) ?"No soil type specified" :SoilType

    日付/時間

    =System.DateTime.Now.ToString()

    =System.DateTime.UtcNow.ToString()

    サポートされる日付/時間関数の詳細については、DateTime 構造体に関する MSDN ヘルプをご参照ください。

    結合

    ="Average Cost:" + avgCostField

    =ZipCode + ZipCode4Digit

    文字列

    =Name.Substring(0,4)

    =Name.Replace("Test", "Final")

    =Name.ToUpper()

    サポートされる文字列関数の詳細については、String クラスに関する MSDN ヘルプをご参照ください。

  4. [レポートの実行] をクリックして、プレビューを表示します。
  5. フィールド値に対して「コントロール スクリプトのエラー」というエラー メッセージが返された場合は、フィールド名のスペルまたは式の構文を確認してください。

関連トピック

9/14/2013