Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für: Microsoft Report Builder (SSRS)
Power BI Report Builder
Berichts-Designer in SQL Server Data Tools
Die XML-Renderingerweiterung gibt einen paginierten Bericht im XML-Format zurück. Das Schema der Bericht-XML-Ausgabe hängt vom jeweiligen Bericht ab und enthält nur Daten. Die XML-Renderingerweiterung rendert keine Layout-Informationen und führt keine Paginierung durch. Der von dieser Erweiterung generierte XML-Code kann in eine Datenbank importiert, als XML-Datennachricht verwendet oder an eine benutzerdefinierte Anwendung gesendet werden.
Hinweis
Sie können paginierte Berichtsdefinitionsdateien (.rdl) im Berichts-Generator von Microsoft, im Power BI Report Builder und im Berichts-Designer in SQL Server-Datentools erstellen und ändern.
Berichtselemente
In der folgenden Tabelle wird beschrieben, wie Berichtselemente gerendert werden.
| Element | Renderingverhalten |
|---|---|
| Bericht | Wird als Element der obersten Ebene des XML-Dokuments gerendert. |
| Datenbereiche | Wird als Element innerhalb des Elements für den Container gerendert. Datenbereiche beinhalten Tabellen, Matrizen und Listen, in denen Daten in Text- und Diagrammform angezeigt werden, sowie Datenbalken, Sparklines, Messgeräte und Indikatoren für die visuelle Darstellung von Daten. |
| Gruppen- und Detailabschnitte | Jede Instanz wird als Element innerhalb des Elements für den Container gerendert. |
| Textfeld | Wird als Attribut oder Element innerhalb des Containers gerendert. |
| Rechteck | Wird als Element innerhalb des Containers gerendert. |
| Spaltengruppen in der Matrix | Werden als Elemente innerhalb von Zeilengruppen gerendert. |
| Zuordnung | Wird als Element innerhalb des Elements für den Container gerendert. Kartenebenen sind untergeordnete Elemente der Karte, und jede Kartenebene umfasst Elemente für die zugehörigen Kartenelemente und Kartenelementattribute. |
| Diagramm | Wird als Element innerhalb des Elements für den Container gerendert. Reihen sind untergeordnete Elemente des Diagramms, und Kategorien sind untergeordnete Elemente einer Reihe. Stellt alle Diagrammbeschriftungen für jeden Diagrammwert dar. Bezeichnungen und Werte sind als Attribute eingeschlossen. |
| Datenbalken | Wird ähnlich einem Diagramm als Element innerhalb des Elements für den Container gerendert. Ein Datenbalken enthält normalerweise keine Hierarchien oder Bezeichnungen, sondern nur Werte. |
| Sparkline | Wird ähnlich wie ein Diagramm als Element innerhalb des Container-Elements gerendert. Eine Sparkline enthält normalerweise keine Hierarchien oder Bezeichnungen, sondern nur Werte. |
| Messgerät | Wird als Element innerhalb des Elements für den Container gerendert. Es wird als einzelnes Element mit den Minimal- und Maximalwerten der Skala, den Start- und Endwerten des Bereichs und dem Wert des Zeigers als Attributen dargestellt. |
| Indikator | Wird ähnlich einem Messgerät als Element innerhalb des Elements für den Container gerendert. Wird als einzelnes Element mit dem Namen des aktiven Zustands, den verfügbaren Zuständen und dem Datenwert als Attribute gerendert. |
Für Berichte, die mit der XML-Renderingerweiterung gerendert werden, sind außerdem folgende Regeln zu beachten:
XML-Elemente und -Attribute werden in der Reihenfolge gerendert, in der sie in der Berichtsdefinition angezeigt werden.
Die Paginierung wird ignoriert.
Kopf- und Fußzeilen werden nicht gerendert.
Ausgeblendete Elemente, die nicht durch Umschalten eingeblendet werden können, werden nicht dargestellt. Anfangs sichtbare Elemente und ausgeblendete Elemente, die über einen Umschalter sichtbar gemacht werden können, werden gerendert.
Bilder, Linien und benutzerdefinierte Berichtselemente werden ignoriert.
Datentypen
Dem Textfeldelement oder -attribut wird basierend auf den im Textfeld angezeigten Werten ein XSD-Datentyp zugewiesen.
| Wenn alle Textfeldwerte | Zugewiesener Datentyp ist |
|---|---|
| Int16, Int32, Int64, UInt16, UInt32, UInt64, Byte, SByte | xsd:integer |
| Decimal (oder Decimal und jeder integer- oder BYTE-Datentyp) | xsd:decimal |
| Float (oder Decimal sowie jeder Ganzzahl- oder Byte-Datentyp) | xsd:float |
| Double (oder Decimal und jeder integer- oder BYTE-Datentyp) | xsd:double |
| DateTime oder DateTimeOffset | xsd:dateTime |
| Time | xsd:string |
| Boolescher Wert | xsd:boolean |
| String, Char | xsd:string |
| Sonstiges | xsd:string |
XML-spezifische Renderingregeln
In den folgenden Abschnitten wird beschrieben, wie die XML-Renderingerweiterungen die Elemente innerhalb des Berichts interpretieren.
Hauptteil des Berichts
Ein Bericht wird als Stammelement des XML-Dokuments gerendert. Der Name des Elements stammt von der Eigenschaft DataElementName, die im Bereich Eigenschaften festgelegt ist.
XML-Namespacedefinitionen und Schemareferenzattribute sind ebenfalls im Berichtselement enthalten. Variablen werden in <> notiert:
<<Report> xmlns="<SchemaName>" xmlns:xsi="<http://www.w3.org/2001/XMLSchema-instance>" xsi:<schemaLocation>="<SchemaNameReportURL>&rc%3aSchema=true" Name="ReportName">
Die Werte für die Variablen lauten wie folgt:
| Name | Wert |
|---|---|
| Bericht | Report.DataElementName |
| ReportURL | URL-kodierte absolute URL zum Bericht auf dem Server. |
| SchemaName |
Report.SchemaName. Wenn NULL, dann Report.Name. Wenn Report.Name verwendet wird, wird der Wert zuerst codiert mit XmlConvert.EncodeLocalName. |
| ReportName | Der Berichtsname. |
Textfelder
Textfelder werden als Elemente oder Attribute der DataElementStyle-RDL-Eigenschaft entsprechend gerendert. Der Name des Elements oder Attributs wird von der TextBox.DataElementName-RDL-Eigenschaft abgeleitet.
Diagramme, Datenbalken und Sparklines
Diagramme, Datenbalken und Sparklines werden in XML gerendert. Die Daten sind strukturiert.
Messgeräte und Indikatoren
Messgeräte und Indikatoren werden in XML gerendert. Die Daten sind strukturiert.
Unterberichte
Ein Unterbericht wird als Element dargestellt. Der Name des Elements wird von der DataElementName-RDL-Eigenschaft abgeleitet. Die Einstellung der TextBoxesAsElements-Eigenschaft des Berichts überschreibt die des Unterberichts. Namespace- und XSLT-Attribute werden nicht zum Unterberichtselement hinzugefügt.
Rechtecke
Ein Rechteck wird als ein Element gerendert. Der Name des Elements wird von der DataElementName-RDL-Eigenschaft abgeleitet.
Benutzerdefinierte Berichtselemente
CustomReportItems (CRI) sind für die Renderingerweiterung nicht sichtbar. Wenn ein benutzerdefiniertes Berichtselement im Bericht vorhanden ist, rendert die Renderingerweiterung dieses als konventionelles Berichtselement.
Bilder
Bilder werden nicht gerendert.
Zeilen
Linien werden nicht angezeigt.
Tabellen, Matrizen und Listen
Tabellen, Matrizen und Listen werden als Element gerendert. Der Name des Elements wird von der Tablix-RDL-Eigenschaft DataElementName abgeleitet.
Zeilen und Spalten
Spalten werden innerhalb von Zeilen dargestellt.
Tablix-Eckzelle
Die Ecke wird nicht gerendert. Nur der Inhalt der Ecke wird dargestellt.
Tablix-Zellen
Tablix-Zellen werden als Elemente gerendert. Der Name des Elements wird von der DataElementName-RDL-Eigenschaft der Zelle abgeleitet.
Automatische Zwischensummen
Automatische Tablix-Zwischensummen werden nicht angezeigt.
Zeilen- und Spaltenelemente, die sich nicht mit einer Gruppe wiederholen
Elemente, die sich nicht mit einer Gruppe wiederholen, wie Bezeichnungen, Teilergebnisse und Gesamtergebnisse, werden als Elemente gerendert. Der Name des Elements stammt aus der RDL-Eigenschaft TablixMember.DataElementName.
Die RDL-Eigenschaft TablixMember.DataElementOutput steuert, ob ein nicht wiederholtes Element gerendert wird.
Wenn die DataElementName-Eigenschaft des Tablix-Elements nicht angegeben ist, wird ein Name für das nicht wiederholte Element in folgender Form dynamisch generiert:
ZeileX: Für nicht wiederholte Zeilen, wobei X ein nullbasierter Zeilenindex innerhalb des aktuellen übergeordneten Elements ist.
SpalteY: Für nicht wiederholte Spalten, wobei Y ein nullbasierter Spaltenindex innerhalb des aktuellen übergeordneten Elements ist.
Eine Kopfzeile, die nicht wiederholt wird, wird als untergeordnetes Element der Zeile oder Spalte gerendert, die nicht zusammen mit einer Gruppe wiederholt wird.
Wenn ein sich nicht wiederholendes Element keine entsprechenden Tablix-Zellen hat, wird es nicht dargestellt. Dieses Ergebnis kann auftreten, wenn sich eine Tablix-Zelle über mehr als eine Spalte erstreckt.
Zeilen und Spalten, die sich mit einer Gruppe wiederholen
Zeilen und Spalten, die sich innerhalb einer Gruppe wiederholen, werden nach den Regeln Tablix.DataElementOutput gerendert. Der Name des Elements wird von der DataElementName-Eigenschaft abgeleitet.
Jeder eindeutige Wert innerhalb einer Gruppe wird als untergeordnetes Element der Gruppe dargestellt. Der Name des Elements wird von der Group.DataElementName-Eigenschaft abgeleitet.
Wenn der Wert der DataElementOutput-Eigenschaft Output entspricht, wird die Kopfzeile eines wiederholten Elements als untergeordnetes Element des Detailelements dargestellt.
Benutzerdefinierte Formate und XSL-Transformationen
Von der XML-Renderingerweiterung erstellte XML-Dateien können mithilfe von XSL-Transformationen (XSLT) in beinahe jedes Format transformiert werden. Mit dieser Funktion können Daten in Formaten erstellt werden, die von den vorhandenen Renderingerweiterungen nicht unterstützt werden. Bevor Sie eine eigene Renderingerweiterung erstellen, sollten Sie die Verwendung der XML-Renderingerweiterung und von XSLT in Betracht ziehen.
Doppelte Namen
Wenn doppelte Datenelementnamen innerhalb des gleichen Bereichs vorhanden sind, zeigt der Renderer eine Fehlermeldung an.
XSLT-Transformationen
Der XML-Renderer kann eine serverseitige XSLT-Transformation für die ursprünglichen XML-Daten übernehmen. Wenn eine XSLT-Transformation übernommen wird, gibt der Renderer den transformierten Inhalt statt der ursprünglichen XML-Daten aus. Die Transformation tritt auf dem Server, nicht auf dem Client auf.
Die XSLT-Transformation, die auf die Ausgabe angewendet werden soll, wird entweder in der Berichtsdefinitionsdatei über die DataTransform-Eigenschaft des Berichts definiert. Alternativ kann sie mit dem XSLT DeviceInfo-Parameter angegeben werden.
Wenn beide Werte festgelegt werden, tritt die Transformation bei jeder Verwendung des XML-Renderers auf. Wenn Sie Abonnements verwenden, muss die XSLT in der RDL-Eigenschaft DataTransform definiert werden.
Wenn eine XSLT-Datei sowohl in der Definitionseigenschaft DataTransform als auch in der Einstellung für Geräteinformationen angegeben ist, wird die in DataTransform angegebene XSLT zuerst angewendet, gefolgt von der durch die Einstellungen für Geräteinformationen festgelegten XSLT.
Geräteinformationseinstellungen
Sie können einige Standardeinstellungen für diesen Renderer ändern, indem Sie die Geräteinformationseinstellungen ändern. Dazu gehören:
Eine Transformation (XSLT), die auf das XML angewendet wird.
Den MIME-Typ des XML-Dokuments.
Ob Formatzeichenfolgen auf Daten angewendet werden sollen.
Ob die XML-Ausgabe eingerückt werden soll.
Ob der XML-Schemaname einbezogen werden soll.
Die Codierung für das XML-Dokument.
Die Dateierweiterung des XML-Dokuments.
Weitere Informationen finden Sie unter XML-Geräteinformationseinstellungen.
Zugehöriger Inhalt
- Paginierung in paginierten Berichten (Microsoft Berichts-Generator)
- Renderverhalten in einem paginierten Bericht (Report Builder)
- Interaktive Funktionalität für verschiedene Berichtsrenderingerweiterungen
- Rendern von Berichtselementen in paginierten Berichten (Berichts-Generator)
- Tabellen, Matrizen und Listen in Report Builder paginierten Berichten