式での組み込みフィールド参照の使用 (Reporting Services)
組み込みフィールドのコレクションには、レポートの処理時に Reporting Services によって提供されるグローバルな値を表す Globals コレクションと User コレクションの両方が含まれています。Globals コレクションでは、レポート名、レポート処理の開始時刻、レポート ヘッダーまたはレポート フッターの現在のページ番号などの値が提供されます。User コレクションでは、ユーザー ID と言語設定が提供されます。これらの値は、レポート内の結果をフィルタ処理する際に式で使用できます。
Globals コレクションの使用
Globals コレクションには、レポートのグローバル変数が保持されます。デザイン画面では、これらの変数は、[&ReportName] など、先頭に & (アンパサンド) が付いた状態で表示されます。次の表では、Globals コレクションのメンバについて説明します。
メンバ |
型 |
説明 |
---|---|---|
ExecutionTime |
DateTime |
レポートの実行を開始した日付と時刻です。 |
PageNumber |
Integer |
ページ ヘッダーとページ フッターのみで使用できる現在のページ番号です。 |
ReportFolder |
String |
レポートを含んでいるフォルダへの完全なパスです。これには、レポート サーバーの URL は含まれません。 |
ReportName |
String |
レポート サーバー データベースに格納されているとおりのレポートの名前です。 |
ReportServerUrl |
String |
レポートが実行されるレポート サーバーの URL です。 |
TotalPages |
Integer |
ページ ヘッダーとページ フッターのみで使用できる、レポートの総ページ数です。 |
Globals コレクションのメンバからは、Variant 値が返されます。特定のデータ型を必要とする、このコレクションのメンバを式で使用する場合は、先に変数をキャストする必要があります。たとえば、バリアント型の実行時間を Date 形式に変換するには、=CDate(Globals!ExecutionTime) を使用します。詳細については、「式におけるデータ型の使用 (Reporting Services)」を参照してください。
使用例
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 セキュリティ拡張機能によって決まります。 |
レポートでの複数言語のサポートの詳細については、「多言語配置やグローバル配置のソリューション設計に関する考慮事項 (Reporting Services)」を参照してください。
ロケール設定の使用
式を使用して、User.Language 値でクライアント コンピュータのロケール設定を参照し、ユーザーに対してどのようにレポートを表示するかを指定できます。たとえば、ロケール値に基づいて異なるクエリ式を使用するレポートを作成できます。クエリは、返された言語に応じて異なる列からローカライズされた情報を取得するように変更できます。また、この変数を基にしてレポートまたはレポート アイテムの言語設定に式を使用することもできます。
注意 |
---|
レポートの言語設定は変更できますが、言語設定の変更により、表示に関する問題が発生する可能性があることに注意してください。たとえば、レポートのロケール設定を変更すると、レポートの日付の書式が変更されますが、通貨の書式も変更される可能性があります。通貨用の変換処理が行われない場合は、これによりレポートに不適切な通貨記号が表示される可能性があります。これを回避するには、変更する各アイテムに関する言語情報を設定するか、通貨データを含むアイテムに特定の言語を設定します。 |
スナップショット レポートまたは履歴レポートの UserID の識別
場合によっては、User!UserID 変数を含むレポートは、レポートを参照している現在のユーザー固有のレポート データを表示することができません。詳細については、「レポートのトラブルシューティング : 特定のファイル形式にエクスポートされるレポート」を参照してください。