組み込み Globals および Users 参照の使用 (レポート ビルダー 3.0 および SSRS)

組み込みフィールドのコレクションには、レポートの処理時に Reporting Services によって提供されるグローバルな値を表す Globals コレクションと User コレクションの両方が含まれています。Globals コレクションでは、レポート名、レポート処理の開始時刻、レポート ヘッダーまたはレポート フッターの現在のページ番号などの値が提供されます。User コレクションでは、ユーザー ID と言語設定が提供されます。これらの値は、レポート内の結果をフィルター処理する際に式で使用できます。

注意

レポート定義 (.rdl) は、Business Intelligence Development Studio のレポート ビルダー 3.0 およびレポート デザイナーで作成および変更できます。これらの作成環境では、レポートおよび関連アイテムの作成方法、開く方法、および保存方法が異なります。詳細については、microsoft.com Web サイトの「レポート デザイナーとレポート ビルダー 3.0 でのレポートのデザイン (SSRS)」を参照してください。

Globals コレクションの使用

Globals コレクションには、レポートのグローバル変数が保持されます。デザイン画面では、これらの変数は、[&ReportName] など、先頭に & (アンパサンド) が付いた状態で表示されます。次の表では、Globals コレクションのメンバーについて説明します。

メンバー

説明

ExecutionTime

DateTime

レポートの実行を開始した日付と時刻です。

PageNumber

Integer

ページ番号をリセットした改ページを基準とする現在のページ番号です。レポート処理の開始時、初期値は 1 に設定されています。ページ番号は、表示されるページごとに増えます。

四角形、データ領域、データ領域グループ、マップの改ページ内でページ番号を付けるには、PageBreak プロパティで、ResetPageNumber プロパティを True に設定します。Tablix 列階層グループではサポートされていません。

PageNumber は、ページ ヘッダーまたはページ フッターの式でのみ使用できます。

ReportFolder

String

レポートを含んでいるフォルダーへの完全なパスです。これには、レポート サーバーの URL は含まれません。

ReportName

String

レポート サーバー データベースに格納されているとおりのレポートの名前です。

ReportServerUrl

String

レポートが実行されるレポート サーバーの URL です。

TotalPages

Integer

PageNumber をリセットした改ページを基準とする合計ページ数です。改ページを設定しない場合、この値は OverallTotalPages と同じです。

TotalPages は、ページ ヘッダーまたはページ フッターの式でのみ使用できます。

PageName

String

ページの名前です。レポート処理の開始時、初期値はレポート プロパティの InitialPageName から設定されます。各レポート アイテムが処理されると、この値は四角形、データ領域、データ領域グループ、またはマップの PageName の対応する値に置き換えられます。Tablix 列階層グループではサポートされていません。

PageName は、ページ ヘッダーまたはページ フッターの式でのみ使用できます。

OverallPageNumber

Integer

レポート全体に対する現在のページのページ番号です。この値は ResetPageNumber の影響を受けません。

OverallPageNumber は、ページ ヘッダーまたはページ フッターの式でのみ使用できます。

OverallTotalPages

Integer

レポート全体の合計ページ数です。この値は ResetPageNumber の影響を受けません。

OverallTotalPages は、ページ ヘッダーまたはページ フッターの式でのみ使用できます。

RenderFormat

RenderFormat

現在の表示要求に関する情報です。

詳細については、次のセクションの「RenderFormat」を参照してください。

Globals コレクションのメンバーからは、Variant 値が返されます。特定のデータ型を必要とする、このコレクションのメンバーを式で使用する場合は、先に変数をキャストする必要があります。たとえば、バリアント型の実行時間を Date 形式に変換するには、=CDate(Globals!ExecutionTime) を使用します。詳細については、「式におけるデータ型の使用 (レポート ビルダー 3.0 および SSRS)」を参照してください。

RenderFormat

次の表では、RenderFormat のメンバーについて説明します。

メンバー

説明

Name

String

RSReportServer 構成ファイルに登録されているレンダラーの名前です。

レポート処理または表示サイクルの特定の部分で使用できます。

IsInteractive

Boolean

現在の表示要求で対話型の表示形式を使用するかどうかを示します。

DeviceInfo

読み取り専用の名前/値のコレクションです。

現在の表示要求の deviceinfo パラメーターのキーと値のペアです。

キーまたはインデックスを使用して、コレクションに文字列値を指定できます。

Globals コレクションへの参照を式で使用する方法を次の例に示します。

  • レポートのフッター内のテキスト ボックスで次の式を使用すると、ページ番号およびレポートの総ページ数が返されます。

    =Globals.PageNumber & " of " & Globals.TotalPages

  • 次の式は、レポート名およびレポートが実行された時間を返します。時間の書式は、Microsoft .NET Framework の短い日付用の書式設定の文字列を使用して設定されます。

    =Globals.ReportName & ", dated " & Format(Globals.ExecutionTime, "d")

User コレクションの使用

User コレクションには、レポートを実行しているユーザーのデータが保持されます。このコレクションを使用すると、現在のユーザーのデータのみを表示するなど、レポートに表示されるデータをフィルター選択することも、レポート タイトルなどに UserID を表示することもできます。デザイン画面では、これらの変数は、[&UserID] など、先頭に & (アンパサンド) が付いた状態で表示されます。

次の表では、User コレクションのメンバーについて説明します。

メンバー

説明

Language

String

レポートを実行しているユーザーの言語です。たとえば、en-US のようになります。

UserID

String

レポートを実行しているユーザーの ID です。Windows 認証を使用している場合、この値は現在のユーザーのドメイン アカウントです。値は、Windows 認証またはカスタム認証を使用できる Reporting Services セキュリティ拡張機能によって決まります。

レポートにおける複数言語のサポートの詳細については、SQL Server オンライン ブックにある Reporting Services のマニュアルの「多言語配置やグローバル配置のソリューション設計に関する考慮事項」を参照してください。

ロケール設定の使用

式を使用し、User.Language 値でクライアント コンピューターのロケール設定を参照して、ユーザーに対してどのようにレポートを表示するかを指定できます。たとえば、ロケール値に基づいて異なるクエリ式を使用するレポートを作成できます。クエリは、返された言語に応じて異なる列からローカライズされた情報を取得するように変更できます。また、この変数を基にしてレポートまたはレポート アイテムの言語設定に式を使用することもできます。

注意

レポートの言語設定は変更できますが、言語設定の変更により、表示に関する問題が発生する可能性があることに注意してください。たとえば、レポートのロケール設定を変更すると、レポートの日付の書式が変更されますが、通貨の書式も変更される可能性があります。通貨用の変換処理が行われない場合は、これによりレポートに不適切な通貨記号が表示される可能性があります。これを回避するには、変更する各アイテムに関する言語情報を設定するか、通貨データを含むアイテムに特定の言語を設定します。

スナップショット レポートまたは履歴レポートの UserID の識別

場合によっては、User!UserID 変数を含むレポートは、レポートを参照している現在のユーザー固有のレポート データを表示することができません。詳細については、「レポートのトラブルシューティング: レポート処理」を参照してください。