GlobalsコレクションとUser コレクションの両方を含む組み込みフィールド コレクションは、レポートの処理時に Reporting Services によって提供されるグローバル値を表します。
Globals コレクションは、レポートの名前、レポート処理が開始された時刻、レポート ヘッダーまたはフッターの現在のページ番号などの値を提供します。
User コレクションは、ユーザー識別子と言語設定を提供します。 これらの値は、レポート内の結果をフィルター処理する際に式で使用できます。
注
レポート定義 (.rdl) は、レポート ビルダーと SQL Server Data Tools のレポート デザイナーで作成および変更できます。 作成環境ごとに、レポートと関連アイテムを作成、開く、保存するさまざまな方法が用意されています。 詳細については、Web 上の microsoft.com にある レポート デザイナーおよびレポート ビルダー (SSRS) でのレポートのデザイン を参照してください。
Globals コレクションの使用
Globals コレクションには、レポートのグローバル変数が含まれています。 デザイン画面では、これらの変数は、[&ReportName] など、先頭に & (アンパサンド) が付いた状態で表示されます。 次の表では、 Globals コレクションのメンバーについて説明します。
| メンバー | タイプ | 説明 |
|---|---|---|
| 実行時間 | DateTime |
レポートの実行を開始した日付と時刻です。 |
| ページ番号 | Integer |
ページ番号をリセットした改ページを基準とする現在のページ番号です。 レポート処理の開始時に、初期値は 1 に設定されます。 ページ番号は、表示されるページごとに増えます。 PageBreak プロパティで、四角形、データ領域、データ領域グループ、またはマップの改ページ内のページ数を設定するには、ResetPageNumber プロパティを Trueに設定します。 Tablix 列階層グループではサポートされていません。PageNumber は、ページ ヘッダーまたはページ フッターの式でのみ使用できます。 |
| レポートフォルダー | String |
レポートを含んでいるフォルダーへの完全なパスです。 これには、レポート サーバーの URL は含まれません。 |
| レポート名 | String |
レポート サーバー データベースに格納されているとおりのレポートの名前です。 |
| レポートサーバーURL (ReportServerUrl) | String |
レポートが実行されているレポート サーバーの URL。 |
| ページ総数 | Integer |
PageNumber をリセットする改ページを基準としたページの合計数。 改ページが設定されていない場合、この値は OverallTotalPages と同じです。 TotalPages は、ページ ヘッダーまたはページ フッターの式でのみ使用できます。 |
| ページ名 | String |
ページの名前です。 レポート処理の開始時に、初期値はレポート プロパティである InitialPageName から設定されます。 各レポート アイテムが処理されると、この値は四角形、データ領域、データ領域グループ、またはマップからの PageName の対応する値に置き換えられます。 Tablix 列階層グループではサポートされていません。 PageName は、ページ ヘッダーまたはページ フッターの式でのみ使用できます。 |
| 総ページ数 | Integer |
レポート全体に対する現在のページのページ番号です。 この値は ResetPageNumber の影響を受けません。 OverallPageNumber は、ページ ヘッダーまたはページ フッターの式でのみ使用できます。 |
| 総ページ数 | Integer |
レポート全体の合計ページ数です。 この値は ResetPageNumber の影響を受けません。 OverallTotalPages は、ページ ヘッダーまたはページ フッターの式でのみ使用できます。 |
| RenderFormat | RenderFormat |
現在の表示要求に関する情報です。 詳細については、次のセクションの「RenderFormat」を参照してください。 |
Globals コレクションのメンバーは、バリアントを返します。 特定のデータ型を必要とする、このコレクションのメンバーを式で使用する場合は、先に変数をキャストする必要があります。 たとえば、バリアント型の実行時間を Date 形式に変換するには、 =CDate(Globals!ExecutionTime)を使用します。 詳細については、式で使用されるデータ型 (レポート ビルダーおよび SSRS) に関する記事を参照してください。
RenderFormat
次の表では、 RenderFormatのメンバーについて説明します。
| メンバー | タイプ | 説明 |
|---|---|---|
| 名前 | String |
RSReportServer 構成ファイルに登録されているレンダラーの名前。 レポート処理または表示サイクルの特定の部分で使用できます。 |
| IsInteractive | Boolean |
現在のレンダリング要求で対話型のレンダリング形式を使用するかどうかを指定します。 |
| DeviceInfo | 読み取り専用の名前/値のコレクションです。 | 現在のレンダリング要求の deviceinfo パラメーターのキーと値のペア。 キーまたはインデックスを使用して、コレクションに文字列値を指定できます。 |
例示
次の例は、式で Globals コレクションへの参照を使用する方法を示しています。
レポートのフッター内のテキスト ボックスで次の式を使用すると、ページ番号およびレポートの総ページ数が返されます。
=Globals.PageNumber & " of " & Globals.TotalPages次の式は、レポート名およびレポートが実行された時間を返します。 時刻の書式は、Microsoft .NET Framework の短い日付形式の書式設定文字列を使用して設定されます。
=Globals.ReportName & ", dated " & Format(Globals.ExecutionTime, "d")この式は、選択した列の [ 列の表示設定 ] ダイアログ ボックスに配置され、レポートが Excel にエクスポートされた場合にのみ列を表示します。 それ以外の場合、列は非表示になります。
EXCELOPENXMLは、Office 2007 に含まれる Excel 形式を参照します。EXCELは、Office 2003 に含まれる Excel 形式を参照します。=IIF(Globals!RenderFormat.Name = "EXCELOPENXML" OR Globals!RenderFormat.Name = "EXCEL", false, true)
ユーザー コレクションの使用
User コレクションには、レポートを実行しているユーザーに関するデータが含まれています。 このコレクションを使用すると、現在のユーザーのデータのみを表示するなど、レポートに表示されるデータをフィルター処理したり、たとえばレポート タイトルに UserID を表示したりできます。 デザイン画面では、これらの変数は、[&UserID] など、先頭に & (アンパサンド) が付いた状態で表示されます。
次の表では、 User コレクションのメンバーについて説明します。
| メンバー | タイプ | 説明 |
|---|---|---|
Language |
String |
レポートを実行しているユーザーの言語です。 たとえば、en-US のようにします。 |
UserID |
String |
レポートを実行しているユーザーの ID です。 Windows 認証を使用している場合、この値は現在のユーザーのドメイン アカウントです。 この値は、Windows 認証またはカスタム認証を使用できる Reporting Services セキュリティ拡張機能によって決定されます。 |
レポートで複数の言語をサポートする方法の詳細については、 SQL Server オンライン ブックの Reporting Services ドキュメントの「多言語またはグローバル展開のソリューション設計に関する考慮事項」を参照してください。
ロケール設定の使用
式を使用すると、 User.Language 値を使用してクライアント コンピューターのロケール設定を参照して、ユーザーに対するレポートの表示方法を決定できます。 たとえば、ロケール値に基づいて異なるクエリ式を使用するレポートを作成できます。 クエリは、返される言語に応じて、別の列からローカライズされた情報を取得するように変更される場合があります。 また、この変数を基にしてレポートまたはレポート アイテムの言語設定に式を使用することもできます。
注
レポートの言語設定は変更できますが、言語設定の変更により、表示に関する問題が発生する可能性があることに注意してください。 たとえば、レポートのロケール設定を変更すると、レポートの日付の書式が変更されますが、通貨の書式も変更される可能性があります。 通貨用の変換処理が行われない場合は、これによりレポートに不適切な通貨記号が表示される可能性があります。 これを回避するには、変更する各アイテムに関する言語情報を設定するか、通貨データを含むアイテムに特定の言語を設定します。
スナップショット レポートまたは履歴レポートの UserID の識別
場合によっては、ユーザーを含むレポート !UserID 変数は、レポートを表示している現在のユーザーに固有のレポート データを表示できません。
こちらもご覧ください
式 (レポート ビルダーおよび SSRS)
[式] ダイアログ ボックス (レポート ビルダー)
式で使用されるデータ型 (レポート ビルダーおよび SSRS)
数値と日付の書式設定 (レポート ビルダーおよび SSRS)
式の例 (レポート ビルダーおよび SSRS)