SQL Server Reporting ServicesでTablix ヘッダー行を各ページに繰り返し表示する方法:詳細解説
レポートビルダー 3.0 で Tablix ヘッダー行を各ページに繰り返し表示する方法
SQL Server Reporting Services (SSRS) のレポートビルダー 3.0 において、Tablix ヘッダー行を各ページに繰り返し表示するには、以下の手順に従います。
Tablix プロパティを設定
- Tablix を選択します。
- プロパティウィンドウを開きます。
- 詳細 タブをクリックします。
- 行の繰り返し プロパティを ページベース に設定します。
ヘッダー行を固定
- ヘッダー行を選択します。
- 右クリックメニューから 行の固定 を選択します。
ヘッダー行の表示条件を設定
- 行の表示 ダイアログボックスが開きます。
- 行グループ ドロップダウンリストから (なし) を選択します。
これらの手順を実行すると、Tablix ヘッダー行が各ページに繰り返し表示されます。
補足
- ヘッダー行を固定すると、スクロール時に常に表示されます。
- ヘッダー行の表示条件を設定することで、特定の条件下でのみヘッダー行を表示できます。
- 上記の手順は SQL Server Reporting Services バージョン 3.0 を対象としています。他のバージョンでは異なる場合があります。
- ヘッダー行を繰り返し表示する方法は他にもあります。詳細は SSRS のドキュメントを参照してください。
<?xml version="1.0" encoding="utf-8"?>
<Report xmlns="http://schemas.microsoft.com/sqlserver/reporting/2005/01/reportdefinition" version="3.0">
<Body>
<Tablix Name="Tablix1">
<TablixBody>
<tr>
<TableCell>
<Data>
</Data>
</TableCell>
</tr>
</TablixBody>
<RowGroups>
<RowGroup Name="RG1">
</RowGroup>
</RowGroups>
<TopCorners>
<TopCorner>
<Cell Text="ヘッダー" />
</TopCorner>
</TopCorners>
<VisualStyles>
<TextStyle Name="HeaderStyle" ForeColor="#FF0000" FontWeight="Bold" />
</VisualStyles>
</Tablix>
</Body>
<PageSettings>
<ReportSize>
<Width>8.5in</Width>
<Height>11in</Height>
</ReportSize>
</PageSettings>
</Report>
説明
このサンプルコードは、以下のことを行います。
Tablix
コントロールを作成します。TablixBody
にデータ行を挿入します。RowGroups
コレクションにRowGroup
コントロールを追加します。このRowGroup
コントロールは、Tablix データをグループ化します。VisualStyles
コレクションにTextStyle
コントロールを追加します。このTextStyle
コントロールは、ヘッダーセルのスタイルを定義します。
使用方法
- 上記のコードをテキストエディタで開きます。
- データ行とグループ化条件を挿入します。
- ヘッダーセルのテキストとスタイルを変更します。
- コードを保存します。
- SQL Server Reporting Services でレポートをデザインして実行します。
結果
レポートが実行されると、Tablix ヘッダー行が各ページに繰り返し表示されます。ヘッダー行は、HeaderStyle
スタイルで定義されたスタイルで表示されます。
注意
このサンプルコードはあくまで例であり、ニーズに合わせて変更する必要があります。
Tablix ヘッダー行を各ページに繰り返し表示するその他の方法
前述の方法に加えて、Tablix ヘッダー行を各ページに繰り返し表示する方法は他にもいくつかあります。
集計関数を挿入
Tablix ヘッダー行に集計関数 (SUM、AVG、COUNT など) を挿入することで、各ページにヘッダー行とその集計結果を表示することができます。
手順
- ヘッダー行に新しいセルを追加します。
- セルに集計関数を入力します。
- 集計関数の引数として、集計対象となる列を指定します。
例
<tr>
<TableCell>
<Data>売上合計: [SUM(SalesAmount)]</Data>
</TableCell>
</tr>
式を使用
Tablix ヘッダー行に式を使用することで、動的なヘッダーテキストを表示することができます。
- 式には、レポートパラメータやグローバル変数などの値を含めることができます。
<tr>
<TableCell>
<Data>レポート期間: [StartDate] - [EndDate]</Data>
</TableCell>
</tr>
サブレポートを使用
- セルにサブレポートアイテムを追加します。
- サブレポートアイテムのプロパティで、サブレポートファイルパスを指定します。
カスタムコードを使用
C# または VB.NET などの言語を使用して、カスタムコードで Tablix ヘッダー行を繰り返し表示することができます。
- レポートのコードビハインドファイルを開きます。
Tablix
コントロールのBeforePrint
イベントハンドラーを作成します。- イベントハンドラー内で、Tablix ヘッダー行を各ページに繰り返し表示するコードを記述します。
private void Tablix1_BeforePrint(object sender, PrintEventArgs e)
{
// ヘッダー行を固定
this.Tablix1.RowHeaders.IsFixed = true;
// ヘッダー行を各ページに繰り返し表示
this.Tablix1.RowHeaders.RepeatOnEachPage = true;
}
これらの方法は、それぞれ異なる利点と欠点があります。状況に応じて最適な方法を選択してください。
- ヘッダー行を繰り返し表示する場合は、レポートのパフォーマンスに影響を与える可能性があります。パフォーマンスが問題になる場合は、他の方法を検討する必要があります。
sql-server reporting-services ssrs-tablix