改ページ対応レポートでのレポートおよびグループ変数の参照 (Report Builder)
適用対象: Microsoft Report Builder (SSRS) Power BI Report Builder SQL Server Data Tools の Report Designer
改ページ対応レポート内の式で複数回使用される複雑な計算がある場合は、変数の作成をお勧めします。 このような場合は、レポート変数またはグループ変数を作成できます。 変数名は、レポート内で一意である必要があります。
Note
ページ分割されたレポートの定義ファイル (.rdl) は、Microsoft レポート ビルダー、Power BI レポート ビルダー、または SQL Server Data Tools のレポート デザイナーを使用して作成および変更できます。
レポート変数
レポート変数は、為替レートやタイム スタンプなどの時間に依存する計算や、複数回参照される複雑な計算で、値を保持するために使用します。 既定では、レポート変数は 1 回計算すると、レポート全体の式で使用できます。 レポート変数は既定では読み取り専用です。 既定を変更して、レポート変数を読み書き可能にすることもできます。 レポート変数の値はセッション全体で維持され、次回レポートを処理するときまで変わりません。
レポート変数を追加するには、[レポートのプロパティ] ダイアログを開き、[変数] を選んで、名前と値を指定します。 文字で始まり、空白を含まない名前を入力します。名前の文字列は大文字と小文字が区別されます。 名前に含めることができるのは、文字、数字、またはアンダースコア (_) だけです。
式で変数を参照するには、 =Variables!CustomTimeStamp.Value
などのグローバル コレクション構文を使用します。 デザイン画面では、この値が <<Expr>>
としてテキスト ボックスに表示されます。
レポート変数は、次の方法で使用できます。
読み取り専用の使用: たとえば、タイム スタンプを作成する場合に、値を 1 回設定してレポート セッションの定数を作成します。
テキスト ボックス内の式はユーザーがレポートを読み進める間に要求に応じて評価されるため、次のページに進んでから
Now()
[戻る] ボタンを使用して戻ると、動的な値 (時刻を返す 関数が含まれている式など) から異なる値が返される場合があります。 レポート変数の値に式=Now()
を設定し、その変数を式に追加することで、レポート処理全体で同じ値が使用されるようになります。読み書き可能な使用: 値を 1 回設定して、レポート セッション内でその値をシリアル化します。 変数の読み書き可能オプションは、レポート定義のコード ブロックで静的変数を使用するよりも適切な方法です。
変数の [読み取り専用] オプションをオフにすると、変数の [Writable] プロパティは true に設定されます。 式から値を更新するには、
SetValue
メソッド (たとえば、=Variables!MyVariable.SetValue("123")
) を使用します。Note
レポート プロセッサによって変数が初期化される時期や、変数を更新する式が評価される時期を制御することはできません。 変数の初期化の実行順序は定義されません。
詳細については、「Report Builder でのレポートのプレビュー」を参照してください。
グループ変数
グループ変数は、グループのスコープ内で複合式を 1 回計算するために使用します。 グループ変数は、グループとその子グループのスコープ内でのみ有効です。
たとえば、別々の税区分にある各アイテムの在庫データをデータ領域に表示し、各カテゴリに異なる税率を適用するとします。 Category でデータをグループ化し、親グループで Tax 変数を定義します。 次に、税区分ごとに ItemTax のグループ変数を定義し、異なる Category サブグループをそれぞれ適切なグループ変数に割り当てます。 次に例を示します。
[Category]
に基づく親グループでは、値 Tax を指定して、変数[Tax]
を定義します。 カテゴリ値が Food と Clothing であるとします。[Subcategory]
に基づく子グループでは、変数 ItemsTax を=Variables!Tax.Value * Sum(Fields!Price.Value)
として定義します。 Food カテゴリのサブカテゴリ値が Beverages と Bread、 Clothing カテゴリのサブカテゴリ値が Shirts と Hats であるとします。子グループの行のテキスト ボックスで、式
=Variables!ItemsTax.Value
を追加します。このテキスト ボックスには、Food の税を使用した場合は Beverages と Bread、Clothing の税を使用した場合は Shirts と Hats の税の総額が表示されます。
グループ変数を追加するには、[Tablix グループのプロパティ] ダイアログを開き、[変数] を選んで、名前と値を指定します。 グループ変数は、一意のグループの値ごとに 1 回計算されます。
式で変数を参照するには、 =Variables!GroupDescription.Value
などのグローバル コレクション構文を使用します。 デザイン画面では、この値が <<Expr>>
としてテキスト ボックスに表示されます。