2009-03-11 7 views
8

Reporting Services 2005Subreports versuchen und halten zusammen weißen Flecken/pages

Mein Layout ist wie folgt verlassen:

  • Ich habe die mainreport, die eine Tabelle enthält
  • Diese Tabelle 3 Gruppen hat es läuft durch, GrpLevel1, GrpLevel2, GrpLevel3
  • Sub-Berichte werden auf einer von 3 Gruppen hinzugefügt und Weitergabe ausgeführt, dass Gruppenschlüssel zum Unterbericht

So wird ein bestimmter Unterbericht auf GrpLevel1 ausgeführt und für jedes Level2, das es enthält, werden die Unterberichte unter GrpLevel2 ausgeführt.

Die Probleme, die ich habe, sind, dass die Sub-Berichte auf die nächste Seite springen wollen, die ein Lückenloch im Bericht hinterlassen.

Wenn ein Unterbericht eine Tabelle mit einer Reihe von Daten enthält und nicht auf 3/4s einer Seite passen kann (die erste Seite des Berichts hat den Berichtsheader oben 1/4), wird das Ganze übersprungen auf die nächste Seite nur eine Kopfzeile, anstatt zu drucken, was es auf der ersten Seite kann.

Auf dem Tisch habe ich "Keep Together" ausgeschaltet.

Ich bin ratlos und bereit, meinen Würfel in Brand zu setzen. Einblick in das würde sehr geschätzt werden.

UPDATE **************** THIS IN SSRS 2008 WURDE R2 FIXED ******************* ****
Es wurde mit (SQL Server) Reporting Services 2008 R2 behoben. Sie können jetzt KeepTogether auf Unterberichte umschalten. Paginierung sieht viel besser aus.

+0

Ich habe genau das gleiche Problem ... so frustrierend. Ich bin mir nicht sicher, ob es eine Lösung gibt. SSRS scheint alles auf eine einzige Seite zu stellen, wenn es möglich ist, egal was Sie wollen ... – Nathan

+0

*** Das scheint nicht in SSRS 2008 R2 **** behoben **** Habe das Problem an zwei Arbeitsplätzen jetzt gesehen, beides mit SSRS2008 (letzte Aktualisierung am 23. Januar 2012). Umschalten zusammen mit Unterberichten hat keine Wirkung. – Codingo

+0

Ich habe das gleiche Problem. Anstelle eines Berichtsservers habe ich auf meiner Website rdlc-Dateien. Ich habe KeepTogether überall auf false gesetzt, aber mein Hauptbericht hält meine Unterberichte weiterhin zusammen. Kennt jemand eine Lösung dafür? –

Antwort

6

Sieht aus wie es keine Lösung für dieses Problem gibt. Der Fehler ist von Microsoft bekannt, aber in SSRS2008 noch nicht behoben.

Aus dem KB-Artikel (http://support.microsoft.com/kb/938943)

Dieses Verhalten, da die Steuerung Subreport tritt eine implizite Keeptogether-Eigenschaft hat. Die KeepTogether-Eigenschaft versucht, Inhalt eines Unterberichts auf einer Seite zu speichern. Aufgrund dieses Verhaltens erstellt der Bericht Engine Leerzeichen im Hauptbericht , wenn der Unterbericht auf der gleichen Seite wie der Hauptbericht nicht passt. Anschließend erstellt die Berichts-Engine den Unterbericht auf einer neuen Seite.

Die Arbeit um, dass sie im Wesentlichen Liste ist ‚nicht verwenden subreports‘

+0

Danke, dass Sie mich auf den Artikel hingewiesen haben. Ich denke, ich muss einfach tun, was ich kann und hoffe, dass eine Lösung herauskommt. Ich habe einen dynamischen Berichtsersteller, den Benutzer verwenden, um die Berichte zu erstellen, keine Unterberichte zu verwenden (obwohl nicht unmöglich) kommt nicht in Frage. Es würde einfach zu viel Umschreiben erfordern, um es die Mühe wert zu machen. –

+2

UPDATE ******* dies hat in SSRS 2008 R2 FESTGESETZT ********** Es mit (SQL Server) Reporting Services 2008 R2 behoben wurde. Sie können jetzt KeepTogether auf Unterberichte umschalten. Paginierung sieht viel besser aus. –

+0

*** Dies gilt nicht in SSRS 2008 fixiert erscheinen R2 **** hat nun das Problem in zwei Arbeitsplätzen gesehen, beide mit SSRS2008 (neuestem Updates zum 23. Januar 2012). Umschalten zusammen mit Unterberichten hat keine Wirkung. – Codingo

0

Ein andere Möglichkeit, ich habe um dies den subreport im Berichtskopf zu platzieren war. Natürlich ist das sehr abhängig von dem Inhalt des Berichts und eliminiert die Nützlichkeit der folgenden Abschnitte, aber es hat mein Problem gelöst, dass auf der ersten Seite ein riesiger Whitespace vorhanden ist.

+0

fixiert werden War dies im Jahr 2008 geschehen? Weil Sie auf keinen Fall einen Unterbericht in der Kopf- oder Fußzeile im Jahr 2005 platzieren können – Bonez024

1

Rechtsklick mit subreport und wählte subreport-Format, dann halten deaktivieren Objekt zusammen

+0

Existiert nicht in Reporting Services 2005 –

+0

im Jahr 2005 existiert unter den Tabellen-> Layouteigenschaften .. aber leider ist es nicht etwas tun .. – Bonez024

4

ich über die frühere Version von SSRS nicht sicher bin, aber ich konfrontiert das gleiche Problem in SSRS 2008

Die Lösung ist Ändern der Subreport-Eigenschaft in Code.

  1. zur Lösung Explorer Gehen Sie direkt auf Ihrem Bericht klicken und klicken Sie auf „Code anzeigen“.

  2. Suchen Sie nach Ihrem Unterbericht.

  3. Innen subreport-Tag werden Sie „<KeepTogether>“ finden, die so eingestellt werden würden „true“ zu, es ändern „false“ zu

Diese Eigenschaft von Designern nicht verfügbar ist und geändert werden muss aus dem tatsächlichen Bericht XML-Code.

+0

Zu Punkt 3 ist Ihr Tag-Name leer. Ich bin mir nicht sicher, wonach ich suchen soll. Ich habe bereits versucht, nach einem leeren Tag-Namen zu suchen, aber nichts gefunden. –

+0

Das hat für mich funktioniert. Ich habe den XML-Code für den Bericht durchlaufen und jeden Verweis auf KeepTogether auf false geändert – leojh

0

Ich brauchte eine Woche, um dieses Problem zu lösen! Aber ich habe eine Lösung gefunden und freue mich, sie mit Ihnen zu teilen.

Ich hatte genau das gleiche Problem. In meinem Hauptbericht gibt es eine Tabelle mit drei Gruppen und zwei Unterberichten in jeder Gruppe. Und diese Unterberichte hatten Matrizen. Ich glaube unabhängig von Matrizen, dass Unterberichte innerhalb von Gruppen-/Detailbändern innerhalb einer Tabelle platziert wurden, was dazu führte, dass viele unnötige leere Seiten vor, zwischen und nach den Abschnitten gedruckt wurden. Es war ein Schmerz am Hals und ich dachte daran, die Unterberichte zu entfernen, aber dann vereitelt es den ganzen Zweck des Berichts.

Also, was wurde behoben, anstatt den Unterbericht in DETAIL-Bänder der Gruppen in der Tabelle zu platzieren, legen Sie sie in der Fußzeile der Gruppen. Jetzt weiß ich, dass dies das Format des Berichts ändern/beeinflussen kann und möglicherweise nicht zu Ihren Berichtszwecken passt. Aber das hat das Problem für mich behoben. Eine weitere Möglichkeit, das Problem mit der leeren Seite zu umgehen, war, die Unterberichte unabhängig davon, wo sie sich befinden (Detail- oder Gruppenbänder), zu belassen und ANDERE Detailbänder in ein Footer-Band zu verschieben. Im Wesentlichen ist zu beachten, dass die Anzahl der Detail-/Gruppenbänder innerhalb der Tabelle reduziert wird. Begrenzen Sie die Gruppierungen und haben Sie eine Mindestanzahl von Unterberichten in einer Tabelle, wenn Sie das verwalten können.

Hoffe das hilft jemand da draußen.

0

Für SSRS 2008 Wenn Ihr subreports in jeder Gruppe sind, sollten Sie auf Gruppeneigenschaften gehen und die halten zusammen Eigenschaft für diese Gruppe (n) auf false wechseln. Das hat für mich funktioniert.