現在、ExcelにレンダリングされるMS Reporting Servicesレポートを作成しています。レポートのデータの複数のワークシート(タブ)を作成するようにレポートを設定する方法を見つけようとしています。レポートに改ページを入力すると新しいワークシートが作成されることを理解していますが、各タブにデフォルトの(ワークシート1、ワークシート2)などの代わりに名前を付ける方法があります.
誰もこれがどのように行われるか知っていますか?
前もって感謝します!
@ huttelihutが指摘した として、これはSQL Server 2008 R2の時点で可能になりました- 詳細はこちら
2008 R2より前のバージョンでは不可能と思われますが、 MSDN Social には回避策がいくつか提案されています。
質問の元の質問者に遅れるが、SQL Server 2008 R2ではこれが可能になりました。
Tablixまたはテーブルまたはその他の要素にプロパティ「Pagebreak」を設定して新しいタブを強制し、改ページ前の要素と改ページ後の要素の両方にプロパティ「Pagename」を設定します。これらの名前は、レポートがExcelにエクスポートされるときにタブに表示されます。
ここでそれについて読む: http://technet.Microsoft.com/en-us/library/dd255278.aspx
Visual Studio 2010のSSRSレポートデザイナーを使用したSQL Server 2008 R2のスクリーンショットを次に示します。
一部のダイアログは見つけにくいため、スクリーンショットを作成しました。
1:グループを追加
2:グループ化するフィールドを指定
:レポートデザイナーのすぐ下にある[行グループ]セレクターでグループをクリックします
4:プロパティペインを選択するにはF4、「グループ」を展開し、グループ> PageBreak> BreakLocation = 'Between'を設定し、グループ> PageNameに必要な式を入力します
5:式の例です
PageName式に従って名前が付けられたタブを使用して、Excelにエクスポートされたレポートの結果
エドワードからのソリューションは私のために働いた。
一定の名前で1つのシートにTablix全体を含める場合は、TablixのプロパティでPageNameを指定します。 TablixのプロパティでPageNameを設定すると、式でTablixのデータセットのデータを使用できません。
Tablixの行をシートにグループ化する場合(またはデータに基づいた名前を持つ1つのシートが必要な場合)、グループヘッダーでPageNameを指定します。
2005年にこの問題を回避する簡単な方法を見つけました。ここに私の手順を示します。
=IIF(Parameters!PageBreaks.Value="Y",Fields!DISP_PROJECT.Value,"")
注:パラメーターが「Y」の場合、異なる値ごとに複数のシートが取得されます。それ以外の場合、すべてのグループレコードのフィールドはNULLです(最後に1つの改ページのみが発生します)。レポートのページヘッダーまたはグループTableRow1にタブ名を付けて、各Excelシートの「A1」の位置にタブ名が表示されるようにします。次に、Excelブックでこのマクロを実行します。
Sub SelectSheet()
For i = 1 To ThisWorkbook.Sheets.Count
mysheet = "Sheet" & i
On Error GoTo 10
Sheets(mysheet).Select
Set Target = Range("A1")
If Target = "" Then Exit Sub
On Error GoTo Badname
ActiveSheet.Name = Left(Target, 31)
GoTo 10
Badname:
MsgBox "Please revise the entry in A1." & Chr(13) _
& "It appears to contain one or more " & Chr(13) _
& "illegal characters." & Chr(13)
Range("A1").Activate
10
Next i
End Sub
グループでF4を押してページ名を探し、プロパティでページに名前を付けると、問題が解決するはずです
シートの基にするカテゴリに基づいてレポートデータをグループ化します。新しいカテゴリごとにグループ化して新しいページを開始することを指定します。各ページは、Excelブックの新しいワークシートになります。
注:SQL Server 2003とExcel 2003を使用しています。