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.
Die Reporting Services -Atom-Renderingerweiterung generiert ein Atom-Dienstdokument, in dem die aus einem paginierten Bericht und aus den Datenbereichen in einem Bericht verfügbaren Datenfeeds aufgeführt sind. Mit dieser Erweiterung generieren Sie Atom-kompatible Datenfeeds, die von Anwendungen gelesen bzw. zwischen Anwendungen ausgetauscht werden können, die aus Berichten generierte Datenfeeds nutzen können. Sie können z.B. die Atom-Renderingerweiterung zum Generieren von Datenfeeds verwenden, die dann in Power Pivot oder Power BI verwendet werden können.
Im Atom-Dienstdokument ist mindestens ein Datenfeed für jeden Datenbereich in einem Bericht aufgeführt. Abhängig vom Typ des Datenbereichs und den darin angezeigten Daten könnte Reporting Services mehrere Datenfeeds aus einem Datenbereich generieren. Eine Matrix oder ein Diagramm kann beispielsweise mehrere Datenfeeds bereitstellen. Wenn die Atom-Renderingerweiterung das Atom-Dienstdokument erstellt, wird für jeden Datenfeed ein eindeutiger Bezeichner erstellt. Sie verwenden den Bezeichner in der URL, um auf den Inhalt des Datenfeeds zuzugreifen.
Die Atom-Renderingerweiterung generiert Daten für einen Datenfeed auf ähnliche Weise, wie die CSV-(Comma-Separated Value-)Renderingerweiterung Daten in eine CSV-Datei rendert. Wie eine CSV-Datei entspricht ein Datenfeed einer vereinfachten Darstellung der Berichtsdaten. Beispiel: In einer Tabelle mit einer Zeilengruppe, in der die Verkäufe innerhalb einer Gruppe addiert werden, wird die Summe in jeder Datenzeile wiederholt, und es gibt keine separate Zeile, die nur die Summe enthält.
Atom-Dienstdokumente und -Datenfeeds können mit dem Reporting Services -Webportal, dem Berichtsserver oder einer mit Reporting Servicesintegrierten SharePoint-Website generiert werden.
Atom bezieht sich auf zwei verwandte Standards. Das Atom-Dienstdokument entspricht der RFC-5023-Spezifikation des Atom Publishing Protocols, und die Datenfeeds entsprechen der RFC-4287-Spezifikation des Atom Syndication Formats.
Die folgenden Abschnitte enthalten zusätzliche Informationen zur Verwendung der Atom-Renderingerweiterung:
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.
Berichte als Datenfeeds
Sie können einen Produktionsbericht als Datenfeed exportieren oder einen Bericht erstellen, dessen Hauptzweck in der Bereitstellung von Daten in Form von Datenfeeds für Anwendungen besteht. Wenn Sie Berichte als Datenfeed verwenden, haben Sie eine weitere Möglichkeit, Daten für Anwendungen bereitzustellen, wenn auf die Daten nicht einfach über Clientdatenanbieter zugegriffen werden kann. Sie können sie auch als Datenfeed verwenden, wenn Sie die Komplexität der Datenquelle ausblenden und die Verwendung der Daten vereinfachen möchten. Ein weiterer Vorteil der Verwendung von Berichtsdaten als Datenfeed besteht darin, dass Sie Reporting Services-Features verwenden können. Zu diesen Funktionen gehören Sicherheit, Zeitplanung und Berichtsmomentaufnahmen zur Verwaltung der Berichte, die Datenfeeds bereitstellen.
Um die Atom-Renderingerweiterung optimal nutzen zu können, sollten Sie verstehen, wie der Bericht in Datenfeeds gerendert wird. Wenn Sie vorhandene Berichte verwenden, ist es nützlich, vorherzusagen, welche Datenfeeds die Berichte generieren. Wenn Sie Berichte speziell zur Verwendung als Datenfeeds erstellen, haben Sie die Möglichkeit, die enthaltenen Daten und das Berichtslayout genau auf eine optimale Nutzung des Datenfeeds abzustimmen, was einen erheblichen Vorteil bietet.
Weitere Informationen finden Sie unter Generieren von Datenfeeds aus Berichten (Berichts-Generator und SSRS).
Atom-Dienstdokument (ATOMSVC-Datei)
In einem Atom-Dienstdokument ist eine Verbindung mit mindestens einem Datenfeed angegeben. Bei der Verbindung handelt es sich mindestens um eine einfache URL für den Datendienst, der den Feed erzeugt.
Wenn Sie Berichtsdaten mit der Atom-Renderingerweiterung rendern, sind im Atom-Dienstdokument die für einen Bericht verfügbaren Datenfeeds aufgeführt. Im Dokument ist mindestens ein Datenfeed für jeden Datenbereich im Bericht enthalten. Tabellen und Messgeräte generieren jeweils nur einen Datenfeed, während Matrizen, Listen und Diagramme je nach den darin angezeigten Daten mehrere Datenfeeds generieren könnten.
Das folgende Diagramm zeigt einen Bericht, in dem zwei Tabellen und ein Diagramm verwendet werden.
Das aus diesem Bericht generierte Atom-Dienstdokument enthält drei Datenfeeds: einen für jede Tabelle und einen für das Diagramm.
Die Matrixdatenbereiche könnten abhängig von der Struktur der Matrix mehr als einen Datenfeed aufweisen. Das folgende Diagramm zeigt einen Bericht mit einer Matrix, die zwei Datenfeeds generiert.
Das aus diesem Bericht generierte Atom-Dienstdokument enthält zwei Datenfeeds, jeweils einen für jede der dynamischen Peer-Spalten: „Gebiet“ und „Jahr“. Das folgende Diagramm veranschaulicht den Inhalt der einzelnen Datenfeeds.
Datenfeeds
Bei einem Datenfeed handelt es sich um eine XML-Datei mit einem konsistenten Tabellenformat, das sich nie ändert, und veränderbaren Daten, die mit jeder Berichtsausführung variieren können. Die von Reporting Services generierten Datenfeeds verwenden das gleiche Format wie die von ADO.NET Data Services generierten Feeds.
Ein Datenfeed enthält zwei Abschnitte: Header und Daten. Die Atom-Spezifikation definiert die Elemente in den beiden Abschnitten. Der Header enthält Informationen wie das für die Datenfeeds zu verwendende Zeichencodierungsschema.
Kopfzeilenabschnitt
Im folgenden XML-Code wird der Headerabschnitt eines Datenfeeds veranschaulicht.
<?xml version="1.0" encoding="utf-8" standalone="yes"?><feed xmlns:d="https://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="https://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns="http://www.w3.org/2005/Atom">
<title type="text"></title>
<id>uuid:1795992c-a6f3-40ec-9243-fbfd0b1a5be3;id=166321</id>
<updated>2009-05-08T23:09:58Z</updated>
Datenabschnitt
Der Datenabschnitt der Datenfeeds enthält für jede Zeile im von der Atom-Rendering-Erweiterung generierten abgeflachten Zeilensatz ein <entry>-Element.
Das folgende Diagramm zeigt einen Bericht, der Gruppen und Gesamtsummen verwendet.
Der folgende XML-Code entspricht einem <entry>-Element aus diesem Bericht in einem Datenfeed. Beachten Sie, dass das <entry>-Element die Gesamtsummen der Verkäufe und Bestellungen der Gruppe sowie die Gesamtsummen der Verkäufe und Bestellungen aller Gruppen enthält. Das <entry>-Element enthält alle Werte im Bericht.
<entry><id>uuid:1795992c-a6f3-40ec-9243-fbfd0b1a5be3;id=166322</id><title type="text"></title><updated>2009-05-08T23:09:58Z</updated><author /><content type="application/xml"><m:properties>
<d:ProductCategory_Value>Accessories</d:ProductCategory_Value>
<d:OrderYear_Value m:type="Edm.Int32">2001</d:OrderYear_Value>
<d:SumLineTotal_Value m:type="Edm.Decimal">20235.364608</d:SumLineTotal_Value>
<d:SumOrderQty_Value m:type="Edm.Int32">1003</d:SumOrderQty_Value>
<d:SumLineTotal_Total_2_1 m:type="Edm.Decimal">1272072.883926</d:SumLineTotal_Total_2_1>
<d:SumOrderQty_Total_2_1 m:type="Edm.Double">61932</d:SumOrderQty_Total_2_1>
<d:SumLineTotal_Total_2_2 m:type="Edm.Decimal">109846381.399888</d:SumLineTotal_Total_2_2>
<d:SumOrderQty_Total_2_2 m:type="Edm.Double">274914</d:SumOrderQty_Total_2_2></m:properties></content>
</entry>
Arbeiten mit Datenfeeds
Alle vom Bericht generierten Datenfeeds enthalten die Berichtselemente, die zum Bereich des übergeordneten Elements des Datenbereichs gehören, aus dem die Datenfeeds generiert werden. Angenommen, ein Bericht enthält mehrere Tabellen und ein Diagramm. Textfelder im Hauptteil des Berichts enthalten beschreibenden Text zu jedem Datenbereich. Jeder Eintrag in jedem vom Bericht generierten Datenfeed enthält den Wert des Textfelds. Lautete der Text z. B. "Diagramm zur Anzeige der durchschnittlichen Umsätze nach Vertriebsgebiet und Monat", wäre dieser Text in jeder Zeile aller drei Datenfeeds enthalten.
Wenn das Berichtslayout hierarchische Datenbeziehungen, z. B. geschachtelte Datenbereiche, umfasst, sind diese Beziehungen Teil des vereinfachten Rowsets der Berichtsdaten.
Die Datenzeilen für geschachtelte Datenbereiche sind in der Regel breit, insbesondere, wenn die geschachtelten Tabellen und die Matrizen Gruppen und Gesamtsummen beinhalten. Es ist u. U. hilfreich, den Bericht in einen Datenfeed zu exportieren und diesen anzuzeigen, um sicherzustellen, dass die generierten Daten Ihren Erwartungen entsprechen.
Wenn die Atom-Renderingerweiterung das Atom-Dienstdokument erstellt, wird für den Datenfeed ein eindeutiger Bezeichner erstellt. Sie verwenden den Bezeichner in der URL, um den Inhalt des Datenfeeds anzuzeigen. Das bereits dargestellte Beispiel für ein Atom-Dienstdokument enthält folgende URL: https://ServerName/ReportServer?%2fProduct+Sales+Summary&rs%3aCommand=Render&rs%3aFormat=ATOM&rc%3aItemPath=Tablix1. In der URL ist der Bericht (Product Sales Summary), das Atom-Renderingformat (ATOM) und der Name des Berichtselements (Tablix1) angegeben.
Die Namen der Berichtselemente entsprechen den in der Berichtsdefinitionssprache (Report Definition Language, RDL) verwendeten Standardnamen, die häufig weder intuitiv noch einfach zu erinnern sind. Der Standardname der ersten in einen Bericht eingefügten Matrix lautet beispielsweise Tablix1. Die Datenfeeds verwenden diese Namen.
Sie können mithilfe der DataElementName-Eigenschaft des Datenbereichs Anzeigenamen bereitstellen, um die Arbeit mit Datenfeeds zu vereinfachen. Wenn Sie einen Wert für DataElementName angeben, verwendet das Datenfeed-Unterelement <d> diesen anstelle des Standardnamens der Datenregion. Wenn beispielsweise der Standardname eines Datenbereichs Tablix1 ist und bei DataElementNameSalesByTerritoryYear festgelegt ist, dann verwendet das <d> im Datenfeed SalesByTerritoryYear. Wenn der Datenbereich zwei Datenfeeds wie den zuvor beschriebenen Matrixbericht enthält, sind SalesByTerritoryYear _Territory und SalesByTerritoryYear _Year die in den Datenfeeds verwendeten Namen.
Wenn Sie die im Bericht und die im Datenfeed angezeigten Daten vergleichen, werden Sie möglicherweise einige Unterschiede feststellen. In Berichten werden häufig formatierte numerische und Datums-/Uhrzeitangaben angezeigt, wohingegen der Datenfeed unformatierte Daten enthält.
Ein Datenfeed wird mit der Dateinamenerweiterung .atom gespeichert. Sie können einen Text- oder XML-Editor wie Notepad oder XML-Editor verwenden, um die Dateistruktur und den Inhalt anzuzeigen.
Berichtsdaten abflachen
Der Atom-Renderer stellt Berichtsdaten als vereinfachte Rowsets in einem XML-Format bereit. Die Regeln zum Vereinfachen von Datentabellen sind bis auf einige Ausnahmen mit denen des CSV-Renderers identisch:
Elemente im Geltungsbereich werden auf die Detailebene reduziert. Die Textfelder auf oberster Ebene werden im Gegensatz zum CSV-Renderer in jedem in den Datenfeed geschriebenen Eintrag angezeigt.
Berichtsparameterwerte werden in jeder Ausgabezeile gerendert.
Hierarchische und gruppierte Daten müssen vereinfacht werden, damit sie im Atom-kompatiblen Format dargestellt werden können. Die Renderingerweiterung vereinfacht den Bericht zu einer Baumstruktur, die die geschachtelten Gruppen innerhalb des Datenbereichs darstellt. Wenn Sie einen Bericht vereinfachen, treten die folgenden Ergebnisse auf:
Eine Zeilenhierarchie wird vor einer Spaltenhierarchie vereinfacht.
Elemente der Zeilenhierarchie werden vor den Elementen der Spaltenhierarchie an den Datenfeed übergeben.
Spalten werden wie folgt sortiert: Textfelder im Hauptteil von links nach rechts und von oben nach unten, gefolgt von Datenbereichen von links nach rechts und von oben nach unten.
Innerhalb eines Datenbereichs werden die Spalten wie folgt sortiert: Eckelemente, Zeilenhierarchieelemente, Spaltenhierarchieelemente und Zellen.
Peerdatenbereiche sind Datenbereiche oder dynamische Gruppen, die einen allgemeinen Datenbereich oder einen dynamischen Vorgänger gemeinsam nutzen. Peerdaten werden durch Verzweigen der vereinfachten Struktur identifiziert.
Weitere Informationen finden Sie unter Tabellen, Matrizen und Listen (Berichts-Generator und SSRS).
Rendering-Regeln für Atome
Beim Rendern eines Datenfeeds ignoriert die Atom-Renderingerweiterung die folgenden Informationen:
Formatierung und Layout
Seitenkopf
Seitenfuß
Benutzerdefinierte Berichtselemente
Rechtecke
Zeilen
Bilder
Automatische Zwischensummen
Die verbleibenden Berichtselemente werden von oben nach unten und dann von links nach rechts sortiert. Anschließend wird jedes Element in eine Spalte gerendert. Enthält der Bericht geschachtelte Datenelemente, wie Listen oder Tabellen, werden die übergeordneten Elemente in jeder Zeile wiederholt.
In der folgenden Tabelle wird die Darstellung von Berichtselementen beim Rendern angegeben:
| Element | Renderingverhalten |
|---|---|
| Tabelle | Das Rendering erfolgt durch Erweitern der Tabelle und Erstellen einer Zeile und Spalte für jede Zeile und Spalte auf der untersten Detailebene. Zwischensummenzeilen und -spalten haben keine Spalten- bzw. Zeilenüberschriften. Drillthrough-Berichte werden nicht unterstützt. |
| Matrix | Das Rendering erfolgt durch Erweitern der Matrix und Erstellen einer Zeile und Spalte für jede Zeile und Spalte auf der untersten Detailebene. Zwischensummenzeilen und -spalten haben keine Spalten- bzw. Zeilenüberschriften. |
| Liste | Rendert für jede Detailzeile oder Instanz in der Liste einen Datensatz. |
| Unterbericht | Das übergeordnete Element wird für jede Instanz des Inhalts wiederholt. |
| Diagramm | Es wird ein Datensatz mit allen Diagrammbezeichnungen für jeden Diagrammwert gerendert. Bezeichnungen aus Reihen und Kategorien in Hierarchien werden vereinfacht und in die Zeile für einen Diagrammwert eingeschlossen. |
| Datenbalken | Wird als Diagramm dargestellt. Ein Datenbalken enthält normalerweise keine Hierarchien oder Bezeichnungen. |
| Sparkline | Wird als Diagramm dargestellt. Eine Sparkline enthält normalerweise keine Hierarchien oder Bezeichnungen. |
| Messgerät | Wird als einzelner Datensatz mit dem Minimal- und Maximalwert der linearen Skala, dem Start- und Endwert des Bereichs und dem Wert des Zeigers gerendert. |
| Indikator | Wird als einzelner Datensatz mit dem Namen des aktiven Zustands, den verfügbaren Zuständen und dem Datenwert gerendert. |
| Karte | Generiert einen Datenfeed für jeden Kartendatenbereich. Wenn mehrere Kartenebenen den gleichen Datenbereich verwenden, sind diese alle im Datenfeed enthalten. Der Datenfeed umfasst einen Datensatz mit den Bezeichnungen und Werten der einzelnen Kartenelemente der Kartenebene. |
Geräteinformationseinstellungen
Sie können einige Standardeinstellungen für diesen Renderer ändern, einschließlich des zu verwendenden Codierungsschemas. Weitere Informationen finden Sie unter ATOM Device Information Settings.