ページ分割されたレポートでの式 (レポート ビルダー)
適用対象: Microsoft レポート ビルダー (SSRS) Power BI Report Builder SQL Server Data Tools のレポート デザイナー
式はページ分割されたレポート全体にわたって、データの取得、計算、表示、グループ化、並べ替え、フィルター処理、パラメーター化、書式設定などのために広く使用されます。
レポート アイテムのプロパティの多くには、式を設定できます。 式を使用すると、レポートの内容、デザイン、対話性を制御できます。 式は、Microsoft Visual Basic で記述され、レポート定義内に保存され、レポートを実行したときにレポート プロセッサによって評価されます。
ワークシート内で直接データを操作する Microsoft Office Excel などのアプリケーションとは異なり、レポートでは、データのプレースホルダーである式を操作します。 評価された式の値から実際のデータを確認するには、レポートをプレビューする必要があります。 レポートの実行時に、レポート プロセッサーはテーブルやグラフなどのレポート データ要素とレポート レイアウト要素を組み合わせて、それぞれの式を評価します。
レポートをデザインする場合、レポート アイテムの式の多くは、自動的に設定されます。 たとえば、データ ペインからレポート デザイン画面のテーブル セルにフィールドをドラッグすると、そのフィールドのテキスト ボックスの値には単純式が設定されます。 次の図では、レポート データ ペインに、データセット フィールドの ID、Name、SalesTerritory、Code、および Sales が表示されています。 テーブルに [Name]、[Code]、[Sales] の 3 つのフィールドが追加されています。 デザイン画面上の [Name] の表記は基になる式 =Fields!Name.Value
を表しています。
レポートをプレビューすると、レポート プロセッサーによってテーブル データ領域がデータ接続からの実際のデータと結合され、結果セット内の各行に対してテーブル内に行が表示されます。
式を手動で入力するには、デザイン画面でアイテムを選択し、ショートカット メニューおよびダイアログ ボックスを使用して、アイテムのプロパティを設定します。 (fx) ボタンまたはドロップダウン リストの値 <Expression>
を表示すると、式にプロパティを設定できることがわかります。 詳細については、「式の追加 (レポート ビルダーおよび SSRS)」を参照してください。
複合式、またはカスタム コードやカスタム アセンブリを使った式を作成するには、SQL Server Data Tools (SSDT) でレポート デザイナーを使用することをお勧めします。 詳細については、「レポート デザイナーでカスタム コードやアセンブリを式から参照する (SSRS)」を参照してください。
Note
ページ分割されたレポートの定義ファイル (.rdl) は、Microsoft レポート ビルダー、Power BI レポート ビルダー、または SQL Server Data Tools のレポート デザイナーを使用して作成および変更できます。
単純式と複合式について
式は等号 (=) で始まり、Microsoft Visual Basic で記述されます。 式には、定数、演算子、および組み込みの値 (フィールド、コレクション、および関数) への参照、拡張またはカスタム コードへの参照の組み合わせを含むことができます。
式を使用すると、多くのレポート アイテム プロパティの値を指定できます。 最も一般的なプロパティは、テキスト ボックスとプレースホルダーのテキストの値です。 通常、テキスト ボックスに 1 つの式しか含まれていない場合、その式がテキスト ボックス プロパティの値となります。 テキスト ボックスに複数の式が含まれている場合は、各式がテキスト ボックス内のプレースホルダー テキストの値となります。
既定では、式はレポートのデザイン画面に 単純式 または 複合式として表示されます。
単純 組み込みコレクション (データセット フィールド、パラメーター、または組み込みフィールドなど) 内の 1 つのアイテムへの参照を含む単純式です。 デザイン画面では、単純式は角かっこ内に表示されます。 たとえば、
[FieldName]
は基となる式=Fields!FieldName.Value
に対応します。 単純式は、レポート レイアウトを作成し、[レポート データ] ペインからデザイン画面にアイテムをドラッグする際に自動的に作成されます。 さまざまな組み込みコレクションを表す記号の詳細については、「 単純式でのプレフィックス記号について」を参照してください。複合 複合式には、複数の組み込み参照、演算子、および関数呼び出しへの参照が含まれます。 式の値単純な参照を超えるものが含まれている場合は、<<Expr>> という形式で複雑な式が表示されます。 式を表示するには、その上にカーソルを合わせ、ツールヒントを使用します。 式を編集するには、 [式] ダイアログ ボックスでそれを開きます。
次の図は、テキスト ボックスおよびプレースホルダー テキストの両方の典型的な単純式と複合式を示しています。
式のテキストではなくサンプル値を表示するには、テキスト ボックスまたはプレースホルダー テキストに書式を適用します。 次の図は、サンプル値に切り替えられたレポートのデザイン画面を示しています。
詳細については、「テキストとプレースホルダーの書式設定 (レポート ビルダーおよび SSRS)」を参照してください。
単純式でのプレフィックス記号について
単純式では、記号を使用して、参照先 (フィールド、パラメーター、組み込みコレクション、または ReportItems コレクション) を示します。 表示テキストおよび式のテキストの例を次の表に示します。
Item | 表示テキストの例 | 式のテキストの例 |
---|---|---|
データセット フィールド | [Sales] [SUM(Sales)] [FIRST(Store)] |
=Fields!Sales.Value =Sum(Fields!Sales.Value) =First(Fields!Store.Value) |
レポート パラメーター | [@Param] [@Param.Label] |
=Parameters!Param.Value =Parameters!Param.Label |
組み込みフィールド | [&ReportName] |
=Globals!ReportName.Value |
表示テキストに使用されるリテラル文字 | \[Sales\] |
[Sales] |
複合式の作成
式には、関数、演算子、定数、フィールド、パラメーター、組み込みコレクションのアイテム、および埋め込みのカスタム コードまたはカスタム アセンブリへの参照を含めることができます。
Note
複合式、またはカスタム コードやカスタム アセンブリを使った式を作成するには、SQL Server SQL Server Data Tools (SSDT) でレポート デザイナーを使用することをお勧めします。 詳細については、「レポート デザイナーでカスタム コードやアセンブリを式から参照する (SSRS)」を参照してください。
次の表に、式に含めることのできる参照の種類の一覧を示します。
References | 説明 | 例 |
---|---|---|
定数 | 定数値を必要とするプロパティ (フォントの色など) に対話的にアクセスできる定数について説明します。 | ="Blue" |
オペレーター | 式の中で参照を組み合わせる際に使用できる演算子について説明します。 たとえば、文字列の連結では & 演算子が使用されます。 | ="The report ran at: " & Globals!ExecutionTime & "." |
組み込みコレクション | 式に含めることができる組み込みコレクション ( Fields 、 Parameters 、 Variables など) について説明します。 |
=Fields!Sales.Value =Parameters!Store.Value =Variables!MyCalculation.Value |
組み込みのレポート関数と集計関数 | 式からアクセスできる、 Sum や Previous などの組み込み関数について説明します。 |
=Previous(Sum(Fields!Sales.Value)) |
レポート デザイナーでカスタム コードやアセンブリを式から参照する (SSRS) | 組み込み CLR クラスの Math と Convert、他の CLR クラス、Visual Basic ランタイム ライブラリ関数、または外部アセンブリのメソッドにアクセスする方法を記述します。 レポート内に埋め込まれているカスタム コード、またはレポート クライアントとレポート サーバーの両方でカスタム アセンブリとしてコンパイルしてインストールするカスタム コードへのアクセス方法について説明します。 |
=Sum(Fields!Sales.Value) =CDate(Fields!SalesDate.Value) =DateAdd("d",3,Fields!BirthDate.Value) =Code.ToUSD(Fields!StandardCost.Value) |
式の検証
特定のレポート アイテム プロパティの式を作成する場合、式に含めることのできる参照は、レポート アイテム プロパティで受け入れられる値と、プロパティの評価のスコープによって異なります。 次に例を示します。
既定では、式 [Sum] は式の評価時のスコープ内のデータの合計を計算します。 テーブル セルの場合、スコープは行と列のグループ メンバーシップによって異なります。 詳細については、「合計、集計、および組み込みコレクションの式のスコープ (レポート ビルダーおよび SSRS)」を参照してください。
Font プロパティの値については、値はフォント名に評価される必要があります。
式の構文はデザイン時に検証されます。 式のスコープの検証は、レポートのパブリッシュ時に行われます。 実際のデータに依存する検証の場合、エラーは実行時にしか検出されません。 これらの式の一部では、レンダリングされたレポートでエラー メッセージとして #Error が生成されます。 この種類のエラーの問題を特定するためには、SQL Server Data Tools (SSDT) でレポート デザイナーを使用する必要があります。 レポート デザイナーの出力ウィンドウには、これらのエラーの詳細が示されます。
詳細については、「式のリファレンス (レポート ビルダーおよび SSRS)」を参照してください。
このセクションの内容
レポートでの式の使用 (レポート ビルダーおよび SSRS)
合計、集計、および組み込みコレクションの式のスコープ (レポート ビルダーおよび SSRS)