組み込みフィールドのコレクションには、レポートの処理時に Reporting Services によって提供されるグローバルな値を表す Globals
コレクションと User
コレクションの両方が含まれています。 Globals
コレクションでは、レポート名、レポート処理の開始時刻、レポート ヘッダーまたはレポート フッターの現在のページ番号などの値が提供されます。 User
コレクションでは、ユーザー ID と言語設定が提供されます。 これらの値は、レポート内の結果をフィルター処理する際に式で使用できます。
注意
SQL Server データ ツールのレポート ビルダーまたはレポート デザイナーを使用して、レポート定義 (.rdl) を作成および変更できます。 これらの作成環境では、レポートおよび関連アイテムの作成方法、開く方法、および保存方法が異なります。 詳細については、「microsoft.com で Web 上のレポート デザイナーおよびReport Builder (SSRS) でレポートを設計する」を参照してください。
Globals コレクションの使用
Globals
コレクションには、レポートのグローバル変数が保持されます。 デザイン画面では、これらの変数は、[&ReportName]
など、先頭に & (アンパサンド) が付いた状態で表示されます。 次の表では、Globals
コレクションのメンバーについて説明します。
メンバー | Type | 説明 |
---|---|---|
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)
を使用します。 詳細については、式で使用されるデータ型 (レポート ビルダーおよび 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 コレクションの使用
User
コレクションには、レポートを実行しているユーザーのデータが保持されます。 このコレクションを使用すると、現在のユーザーのデータのみを表示するなど、レポートに表示されるデータをフィルター選択することも、レポート タイトルなどに UserID を表示することもできます。 デザイン画面では、これらの変数は、[&UserID]
など、先頭に & (アンパサンド) が付いた状態で表示されます。
次の表では、User
コレクションのメンバーについて説明します。
メンバー | Type | 説明 |
---|---|---|
Language |
String |
レポートを実行しているユーザーの言語です。 たとえば、「 en-US 」のように入力します。 |
UserID |
String |
レポートを実行しているユーザーの ID です。 Windows 認証を使用している場合、この値は現在のユーザーのドメイン アカウントです。 この値は、Windows 認証またはカスタム認証を使用できるReporting Servicesセキュリティ拡張機能によって決定されます。 |
レポートで複数の言語をサポートする方法の詳細については、オンライン ブックのReporting Servicesドキュメントの「多言語またはグローバル展開のソリューション設計に関する考慮事項」SQL Server参照してください。
ロケール設定の使用
式を使用し、User.Language
値でクライアント コンピューターのロケール設定を参照して、ユーザーに対してどのようにレポートを表示するかを指定できます。 たとえば、ロケール値に基づいて異なるクエリ式を使用するレポートを作成できます。 クエリは、返された言語に応じて異なる列からローカライズされた情報を取得するように変更できます。 また、この変数を基にしてレポートまたはレポート アイテムの言語設定に式を使用することもできます。
Note
レポートの言語設定は変更できますが、言語設定の変更により、表示に関する問題が発生する可能性があることに注意してください。 たとえば、レポートのロケール設定を変更すると、レポートの日付の書式が変更されますが、通貨の書式も変更される可能性があります。 通貨用の変換処理が行われない場合は、これによりレポートに不適切な通貨記号が表示される可能性があります。 これを回避するには、変更する各アイテムに関する言語情報を設定するか、通貨データを含むアイテムに特定の言語を設定します。
スナップショット レポートまたは履歴レポートの UserID の識別
場合によっては、 User!UserID 変数を含むレポートは、レポートを参照している現在のユーザー固有のレポート データを表示することができません。
参照
式 (レポート ビルダーおよび SSRS)
[式] ダイアログ ボックス (レポート ビルダー)
式で使用されるデータ型 (レポート ビルダーおよび SSRS)
数値と日付の書式設定 (レポート ビルダーおよび SSRS)
式の例 (レポート ビルダーおよび SSRS)