Share via


式での組み込みフィールド参照の使用 (レポート ビルダ 2.0)

組み込みフィールドのコレクションには、レポートの処理時に 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) を使用します。詳細については、「式におけるデータ型の使用 (レポート ビルダ 2.0)」を参照してください。

使用例

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 変数が含まれているレポートで、そのレポートを閲覧している現在のユーザーに固有のレポート データを表示できない場合があります。詳細については、SQL Server オンライン ブックにある Reporting Services のマニュアルの「レポート処理に関する問題のトラブルシューティング」を参照してください。