SSRS-Berichte können standardmäßig nicht im Seitenkopf verfügbar gemacht werden. Gibt es eine Möglichkeit, diese Daten zu zeigen?
Eines der Dinge, die ich in meinen Berichten haben möchte, ist, nette Überschriften für meine Berichte zu haben. Ich möchte ein Logo und die Berichtsparameter des Benutzers zusammen mit anderen Daten haben, um mehr Informationen für die Geschäftsanforderungen zu liefern, die der Bericht klären muss. Eines der Dinge, die Microsoft SQL Server 2005 Reporting Services nativ nicht ausführen kann, ist das Anzeigen von Daten aus einem Dataset in der Kopfzeile. Dieser Post erklärt, wie man das umgehen kann und wie einfach es ist.
Erstellen Sie das Berichtsserverprojekt im Abschnitt Business Intelligence-Projekte und nennen Sie es AdventureWorksLTReports. Ich verwende die AdventureWorksLT-Beispieldatenbank von CodePlex.
alt text http://www.cloudsocket.com/images/image-thumb.png
Als Nächstes zeigen Sie den Seitenkopf an, indem Sie mit dem Designer mit der rechten Maustaste in den Berichtbereich klicken.
alt text http://www.cloudsocket.com/images/image-thumb1.png
Der Seitenkopf erscheint. Wenn Sie den Seitenfuß anzeigen möchten, können Sie über das gleiche Menü wie der Seitenkopf darauf zugreifen.
alt text http://www.cloudsocket.com/images/image-thumb2.png
Ich habe eine gespeicherte Prozedur erstellt, die Daten für den Kundenauftrag zurückgibt, der im Seitenkopf angezeigt werden soll. Ich werde die folgenden Informationen zum Kundenauftrag im Seitenkopf anzeigen:
Ich erzeuge ein Textfeld für jedes meiner Datenfelder im Seitenkopf zusammen mit einem Textfeld für das entsprechende Etikett. Ändern Sie nicht den Ausdruck in den TextBoxen, in denen die Kundenauftragsdaten gespeichert werden sollen.
alt text http://www.cloudsocket.com/images/image-thumb3.png
Platzieren Sie im Berichtshauptteil ein Textfeld für jedes Datenfeld, das im Seitenkopf benötigt wird. Wählen Sie in der Sichtbarkeit für jede TextBox True for Hidden aus. Dies ist der Platzhalter für die Daten, die im Seitenkopf benötigt werden.
alt text http://www.cloudsocket.com/images/image-thumb4.png
Ihr Bericht sollte dem folgenden Screenshot ähnlich sehen.
alt text http://www.cloudsocket.com/images/image-thumb5.png
Der letzte Schritt und am wichtigsten ist es, auf die verborgene TextBox in den TextBoxen im Seitenkopf zu verweisen. Wir verwenden den folgenden Ausdruck, um auf die benötigten TextBoxen zu verweisen:
= ReportItems! .Wert
Ihr Bericht sollte jetzt etwa wie folgt aussehen:
alt text http://www.cloudsocket.com/images/image-thumb6.png
Ihre Berichtvorschau sollte nun die Kopfdaten des Kundenauftrags im Berichtskopf enthalten.
Sie müssen es über Parameter tun. Fügen Sie für jeden Datenabschnitt, den Sie anzeigen möchten, einen Parameter hinzu und legen Sie den Parameter auf Ausgeblendet fest. Setzen Sie dann den Standardwert auf "From Query" und setzen Sie das Feld Dataset and Value auf die entsprechenden Werte.
Ich denke, die beste Option ist die Erstellung eines internen Parameters, mit dem Standardwert das Feld des Datasets, das Sie anzeigen möchten.
Hier sind zwei mögliche Problemumgehungen :
Sie können das datengebundene Feld im Hauptteil des Berichts als ausgeblendetes Textfeld platzieren und dann im Kopfbereich ein anderes Textfeld mit seinem Wert auf den im Körper verborgenen Text platzieren.
Verwenden Sie Berichtsparameter, um die Daten zu speichern, und verwenden Sie diese Parameter, um auf die Daten in der Kopfzeile zuzugreifen.
Diese Technik funktioniert nicht, wenn sich Ihr Bericht über mehrere Seiten erstreckt, stattdessen abgefragte Parameter verwendet und der Textfeldwert auf = Parameters! Name.Value gemäß Dieser Artikel .
Ich bin mit Orion Adrian hier. Report-Parameter sind der Weg zu gehen.
Ich wollte ein Feld, das allen zurückgegebenen Zeilen gemeinsam ist, im Header anzeigen, und für dieses Szenario ging ich für die verknüpfte Tabellenlösung (Platzieren einer Tabelle, die das Feld enthält) und Verknüpfen eines Textfelds in der Kopfzeile Tabelle).
Ich habe das getan, weil, wenn Sie die Parameterlösung verwenden und keine Daten an das fragliche Feld zurückgegeben werden, der Text "Parameter fehlt ein Wert" anstatt nur einer leeren Tabelle angezeigt wird. Ich dachte, dieser Text würde die Benutzer verwirren (da der Parameter nicht einmal sichtbar ist).
Tags und Links sql header report reporting-services