レポート (Visual Studio レポート デザイナ) の共通の表現
一部の式は、レポートでよく使用されます。レポートのデータの外観を変更、集計、およびレポート アイテムのプロパティを変更する式が含まれます。このトピックでは一般的なタスクをレポート内で使用できる一部の式について説明します。
レポート内の多くの式は関数を含めます。 Microsoft.VisualBasic 、 System.Convert 、および System.Math の名前空間から関数を使用する式を記述できます追加したりすることができます他のアセンブリまたはカスタムのコードへの参照。Microsoft .NET Framework SDK からのクラスも使用できます。詳細については、.NET Framework SDK クラス ライブラリのドキュメントを参照してください。
関数
レポート内のほとんどの関数は、Microsoft Visual Basic または組み込みのレポート機能です。データの書式を設定する、ロジックを適用およびできますこれらの関数を使用してレポート メタデータにアクセスします。
Visual Basic 関数
使用して Visual Basic 関数にはテキスト ボックスまたは表示されますパラメータ、プロパティ、またはレポートの他の領域に対して使用されるデータを操作します。ここでは、これらの関数のいくつかを示す例を示します。Visual Basic 関数については、Visual Basic のマニュアルを参照してください。
日付関数
レポートに日付情報を提供するのに Visual Basic 関数を使用できます。
次の式、 Today 関数が含まれています、現在の日付を提供します。この式することができますテキスト ボックス内で、レポートや、現在の日付に基づいてフィルタ データのパラメータの日付を表示します。
=Today()
DateAdd 関数は、単一のパラメータに基づいて日付の範囲を指定するのに便利です。次の式では、日付、日付パラメータから名前付き引数 StartDate 後 6 か月間を提供します。
=DateAdd(DateInterval.Month, 6, Parameters!StartDate.Value)
次式には、特定の日付の年を表示する、 Year 関数が含まれています。使用してできますこのグループ日付を 1 つにグループ化するか、または日付のセットのラベルとして、年を表示します。この式には、受注日の特定のグループの年が用意されています。
=Year(Fields!OrderDate.Value)
Month 関数とその他の機能も使用されます日付を操作します。詳細については、Visual Basic のマニュアルを参照してください。
文字列関数
Visual Basic 関数は、レポートに文字列を操作するのに使用できます。
日付および Format 関数で文字列内の数値書式を設定することができます。次の式は、長い日付形式で、 引数 StartDate および EndDate パラメータの値を表示します。
=Format(Parameters!StartDate.Value, "D") & " through " & Format(Parameters!EndDate.Value, "D")
テキスト ボックスには、日付または番号のみが含まれる場合、テキスト ボックス内、 Format 関数ではなく書式を適用する、テキスト ボックスの 書式 プロパティを使用する必要があります。
右 、 Len 関数 、および InStr 関数がサブストリング、たとえば、 DOMAIN 断裁加工を取得する場合 \ ユーザー名 ユーザー名だけにします。次の式は ユーザー というパラメータから円記号 (\) 文字の右側に、文字列の一部を返します。
=Right(Parameters!User.Value, Len(Parameters!User.Value) - InStr(Parameters!User.Value, "\"))
次の式結果 Visual Basic 関数ではなく、.NET Framework の 文字列型 (String) の値 クラスのメンバを使用して、前の仕事と同じ値。
=Parameters!User.Value.Substring(Parameters!User.Value.IndexOf("\")+1, Parameters!User.Value.Length-Parameters!User.Value.IndexOf("\")-1)
決定関数
入力値の評価結果に応じて別の値を返す Visual Basic 関数を使用できます。
Iif 関数は、評価される式が true かどうかの応じて 2 つの値を返します。次式は、 Iif 関数 LineTotal の値が 100 を超えた場合に True のブール値を返す。それ以外の場合は False を返します。
=Iif(Fields!LineTotal.Value > 100, True, False)
次式は複数 Iif 関数 (とも呼ばれる"入れ子になった Iifs") を PctComplete の値に応じて値を次の 3 つのいずれかを取得します。
=Iif(Fields!PctComplete.Value >= .8, "Green", Iif(Fields!PctComplete.Value >= .5, "Amber", "Red"))
次の式ものいずれかの PctComplete の値に基づいて 3 の値を返しますが代わりに、 Switch 関数を使用している値を返します true に評価される一連の最初の式に関連付けられました。
=Switch(Fields!PctComplete.Value >= .8, "Green", Fields!PctComplete.Value >= .5, "Amber", Fields!PctComplete.Value < .5, "Red")
レポート機能
Reporting Services には他のレポート関数、レポート内でデータを操作するが。ここではこれらの関数の 2 つの例を示します。レポート機能および例については、次を参照してください。レポート (Visual Studio レポート デザイナ) の組み込み関数.
Sum 関数グループ内の値を合計できるまたはデータ領域。この関数は、ヘッダーまたはフッターのテーブルのグループに役立つにことができます。次の式は、注文のグループ化にデータ領域データの合計を表示します。
=Sum(Fields!LineTotal.Value, "Order")
データ領域内のテキスト ボックスで使用する場合、 RowNumber 関数を含む式は、式が表示されるテキスト ボックスのインスタンスごとの行番号を表示します。この関数はテーブル内の数の行に役立つことができます。さらに複雑なタスクの行の数に基づいてページ区切りを提供するように適してもできます。詳細については、ページ区切り」を参照してくださいこのトピックです。
次の式行数を表示の最初の行の外側のデータ領域最後の。 Nothing キーワードは、外側のデータ領域内の最初の行カウント、関数が開始することを示します。子データ領域内でカウントを開始するには、データ領域の名前を使用します。
=RowNumber(Nothing)
レポートのデータの外観
レポートには、データの表示方法を操作する式を使えます。たとえば、2 つのフィールドの値を 1 つのテキスト ボックスに表示、レポートに関する情報を表示したり、レポートにページ区切りが挿入される方法に影響します。
ページ ヘッダーとフッター
レポートをデザインするとき、レポート フッターで、レポートとページ番号の名前を表示することがあります。これを行うには、次の式を使用できます。
次の式は、レポートとが実行された時間の名前を提供します。それは、レポート フッターまたはレポートの本文にテキスト ボックスに配置できます。時刻短い形式の日付の文字列を書式、.NET Framework でフォーマットされています。
=Globals.ReportName & ", dated " & Format(Globals.ExecutionTime, "d")
レポートのフッターのテキスト ボックスに配置された次の式、ページ番号、レポートに合計ページではできます。
=Globals.PageNumber & " of " & Globals.TotalPages
参照できますレポート ヘッダーまたはフッターにレポート アイテムのレポートの本文からです。次の例で、ページ ヘッダーとありますディレクトリ一覧でのように、ページの最初と最後の値を表示する方法について説明します。 [氏名] というテキスト ボックスを含むデータ領域と仮定します。
ページ ヘッダーの左側にあるテキスト ボックスに、次の式では、ページに [LastName] テキスト ボックスの最初の値を示します。
=First(ReportItems!LastName.Value)
ページ ヘッダーの右側にテキスト ボックスに、次の式では、ページに [LastName] テキスト ボックスの最後の値を示します。
=Last(ReportItems!LastName.Value)
ページのヘッダーまたはフッターにレポート アイテムの参照に集計を適用できます。(適用できません、集計、レポートの本文にレポート アイテムの参照ただし。) 次の使用例では、ページの合計を表示する方法について説明します。 [コスト] というテキスト ボックスを含むデータ領域と仮定します。
ページ ヘッダーまたはフッターに配置された、次の式では、 [コスト] テキスト ボックスに値の合計を説明します、ページの。
=Sum(ReportItems!Cost.Value)
注意: 未解決のインポート要求があるため、処理チェックは延期されました。 1 つだけのレポート アイテムごとのページ ヘッダーまたはフッターの式を参照することができます。
ページ区切り
一部のレポートで、指定した数のではなく、またはほかに、グループまたはレポート アイテムでの行の末尾に改ページを配置することがあります。これを行うには、データ領域 (通常、詳細外すぐグループ) でグループを作成、改ページをグループに追加して追加、グループ式グループを指定した数の行。、
次の式をグループ式に配置されたときは 25 行の各セットに番号を割り当てます。改ページは、グループの定義されたとき、この結果、ページごとの 25 行を解除します。
=Int((RowNumber(Nothing)-1)/25)
プロパティ
式はテキスト ボックスにデータを表示しか使用されません。レポート アイテムにプロパティが適用する方法を変更する使用します。レポート アイテムのスタイル情報を変更したり、表示を変更できます。
書式設定
式は、レポート内のレポート アイテムの外観を変更するのに使用できます。
次の式をテキスト ボックスの Color プロパティで使用する場合は Profit フィールドの値より上のテキストの色を変更します。
=Iif(Fields!Profit.Value < 0, "Red", "Black")
次の式をデータ領域でレポート アイテムの BackgroundColor プロパティで使用するとき入れ替わり淡い緑色と白の間の各行の背景色。
=Iif(RowNumber(Nothing) Mod 2, "PaleGreen", "White")
可視性
表示またはレポート アイテムの表示プロパティを使用するレポートのアイテムを非表示にすることができます。非表示のテーブル such as データ領域で最初にできます、式の中で値に基づいて詳細行。
次の式をグループ内の詳細行の最初の可視性を使用した場合は、 PctQuota フィールドの 90 % を超えるすべての売上の詳細行を示します。
=Iif(Fields!PctQuota.Value>.9, False, True)
レポート パラメータ
使用して式をパラメータで、パラメータの既定値を変化します。たとえば、フィルタ データ レポートの実行に使用されるユーザー ID に基づいて、特定のユーザーのパラメータを使用します。
次の式をパラメータを既定値として使用される場合は、レポートを実行する人のユーザー ID を収集します。
=User!UserID
カスタムのコード
レポート内でカスタム コードを使用できます。カスタム コードは、レポートに埋め込まか、レポートで使用されているカスタム アセンブリが格納されます。カスタム コードについてを参照してください。Report (Visual Studio レポート デザイナ) にユーザー設定の [コードの追加.
次の例では、埋め込みコード メソッド ToUSD 、 StandardCost フィールドの値をドル値に変換します。
=Code.ToUSD(Fields!StandardCost.Value)
項目を参照してください。
概念
レポート (Visual Studio レポート デザイナ) で式を使用してください。
レポート (Visual Studio レポート デザイナ) でレポートのパラメータを定義します。
ページ ヘッダーおよびページ フッター レポート (Visual Studio レポート デザイナ) を追加
スタイルを追加および Report (Visual Studio レポート デザイナ) に書式設定
Report (Visual Studio レポート デザイナ) に対話機能、表示、およびナビゲーションを追加します。