Delen via


Gegevensfeeds genereren uit rapporten (Report Builder)

De Rendering-extensie Atom van Reporting Services genereert een Atom-servicedocument waarin de gegevensfeeds worden vermeld die beschikbaar zijn vanuit een gepagineerd rapport en de gegevensfeeds van de gegevensregio's in een rapport. U gebruikt deze extensie om atom-compatibele gegevensfeeds te genereren die leesbaar en kunnen worden uitgewisseld met toepassingen die gegevensfeeds kunnen verbruiken die zijn gegenereerd op basis van rapporten. U kunt bijvoorbeeld de Atom-renderingextensie gebruiken om gegenereerde gegevensfeeds te genereren die u vervolgens kunt gebruiken in Power Pivot of Power BI.

Het Atom-servicedocument bevat ten minste één gegevensfeed voor elke gegevensregio in een rapport. Afhankelijk van het type gegevensregio en de gegevens die in de gegevensregio worden weergegeven, kan Reporting Services meerdere gegevensfeeds genereren uit een gegevensregio. Een matrix of grafiek kan bijvoorbeeld meerdere gegevensfeeds bieden. Wanneer de Atom-renderingextensie het Atom-servicedocument maakt, wordt er een unieke id gemaakt voor elke gegevensfeed en gebruikt u de id in de URL voor toegang tot de inhoud van de gegevensfeed.

De manier waarop de Atom-renderingextensie gegevens genereert voor een gegevensfeed, is vergelijkbaar met de manier waarop de csv-renderingextensie (Comma-Separated Value) gegevens weergeeft in een CSV-bestand. Net als een CSV-bestand is een gegevensfeed een afgevlakte weergave van de rapportgegevens. Een tabel met een rijgroep waarmee de verkoop in een groep wordt opgeteld, herhaalt bijvoorbeeld de som in elke gegevensrij en er is geen afzonderlijke rij die alleen de som bevat.

U kunt Atom-servicedocumenten en gegevensfeeds genereren met behulp van de Reporting Services-webportal, Report Server of een SharePoint-site die is geïntegreerd met Reporting Services.

Atom is van toepassing op een paar gerelateerde standaarden. Het Atom-servicedocument voldoet aan de RFC 5023 Atom publishing protocol specificatie en de gegevensfeeds voldoen aan de RFC 4287 Atom syndication format protocol specificatie.

De volgende secties bevatten aanvullende informatie over het gebruik van de Atom rendering-extensie:

U kunt gepagineerde rapportdefinitiebestanden (.rdl) maken en wijzigen in Microsoft Report Builder, Power BI Report Builderen in Report Designer in SQL Server Data Tools.

Rapporten als gegevensfeeds

U kunt een productierapport exporteren als een gegevensfeed of u kunt een rapport maken waarvan het primaire doel is om gegevens, in de vorm van gegevensfeeds, te verstrekken aan toepassingen. Door rapporten als gegevensfeed te gebruiken, hebt u een andere manier om gegevens aan toepassingen te bieden wanneer de gegevens niet gemakkelijk toegankelijk zijn via clientgegevensproviders. U kunt ze ook gebruiken als gegevensfeed wanneer u liever de complexiteit van de gegevensbron verbergt en het eenvoudiger maakt om de gegevens te gebruiken. Een ander voordeel van het gebruik van rapportgegevens als gegevensfeed is dat u Reporting Services-functies kunt gebruiken. Deze functies omvatten beveiliging, planning en rapportmomentopnamen voor het beheren van de rapporten met gegevensfeeds.

Als u optimaal wilt profiteren van de Atom-renderingextensie, moet u begrijpen hoe het rapport wordt weergegeven in gegevensfeeds. Als u bestaande rapporten gebruikt, is het nuttig om te voorspellen wat de gegevensfeeds zijn die de rapporten genereren. Als u specifiek een rapport schrijft voor gebruik als gegevensfeeds, kunt u de gegevens opnemen en de rapportindeling verfijnen om het nut van de gegevensfeeds te maximaliseren.

Zie Gegevensfeeds genereren vanuit een rapport (Report Builder en SSRS) voor meer informatie.

Atom-servicedocument (.atomsvc-bestand)

Een Atom-servicedocument geeft een verbinding met een of meer gegevensfeeds op. De verbinding is minimaal een eenvoudige URL naar de gegevensservice die de feed produceert.

Wanneer u rapportgegevens weergeeft met behulp van de Atom-renderingextensie, worden in het Atom-servicedocument de gegevensfeeds vermeld die beschikbaar zijn voor een rapport. Het document bevat ten minste één gegevensfeed voor elke gegevensregio in het rapport. Tabellen en meters genereren slechts één gegevensfeed, maar matrices, lijsten en grafieken kunnen meerdere feeds genereren, afhankelijk van de gegevens die worden weergegeven.

In het volgende diagram ziet u een rapport met twee tabellen en een grafiek.

Diagram van het rapport dat gebruikmaakt van twee tabellen en een grafiek.

Het Atom-servicedocument dat is gegenereerd op basis van dit rapport bevat drie gegevensfeeds, één voor elke tabel en één voor de grafiek.

De matrixgegevensgebieden hebben mogelijk meer dan één gegevensfeed, afhankelijk van de structuur van de matrix. In het volgende diagram ziet u een rapport dat gebruikmaakt van een matrix waarmee twee gegevensfeeds worden gegenereerd.

Diagram van het rapport dat gebruikmaakt van een matrix waarmee twee gegevensfeeds worden gegenereerd.

Het Atom-servicedocument dat is gegenereerd op basis van dit rapport bevat twee gegevensfeeds, één voor elk van de dynamische peerkolommen: Gebied en Jaar. In het volgende diagram ziet u de inhoud van elke gegevensfeed.

Diagram van de inhoud van elke feed.

Gegevensfeeds

De gegevensfeed is een XML-bestand met een consistente tabelindeling die na verloop van tijd niet verandert en variabele gegevens die kunnen verschillen telkens wanneer het rapport wordt uitgevoerd. De gegevensfeeds die door Reporting Services worden gegenereerd, hebben dezelfde indeling als die feeds die door die ADO.NET Data Services worden gegenereerd.

Een gegevensfeed bevat twee secties: koptekst en gegevens. De Atom-specificatie definieert de elementen in elke sectie. De header bevat informatie zoals het tekencoderingsschema dat moet worden gebruikt met de gegevensfeeds.

Koptekst sectie

De volgende XML-code toont de koptekstsectie van een gegevensfeed.

<?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>

Gegevenssectie

De gegevenssectie van de gegevensfeeds bevat één <entry> element voor elke rij in de platgemaakte rijenset die wordt gegenereerd door de Atom-renderingextensie.

In het volgende diagram ziet u een rapport dat gebruikmaakt van groepen en totalen.

Diagram van het rapport dat gebruikmaakt van groepen en totalen.

In de volgende XML ziet u een <entry> element uit dat rapport in een gegevensfeed. U ziet dat het <entry> element de totalen van de verkoop en orders voor de groep en de totalen van verkoop en orders voor alle groepen bevat. Het <entry> element bevat alle waarden in het rapport.

<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>

Werken met gegevensfeeds

Alle gegevensfeeds gegenereerd door het rapport bevatten de rapportitems die binnen het bereik van de bovenliggende gegevensregio vallen, die de gegevensfeeds genereert. Stel u een rapport voor dat meerdere tabellen en een grafiek bevat. Tekstvakken in de hoofdtekst van het rapport bevatten beschrijvende tekst van elke gegevensregio. Elke vermelding in elke gegevensfeed die door het rapport wordt gegenereerd, bevat de waarde van het tekstvak. Als de tekst bijvoorbeeld 'Grafiek toont maandelijkse verkoopgemiddelden per verkoopregio', bevatten alle drie de gegevensfeeds deze tekst op elke rij.

Als de rapportindeling hiërarchische gegevensrelaties bevat, zoals geneste gegevensgebieden, worden deze relaties opgenomen in de afgevlakte rijenset van rapportgegevens.

De gegevensrijen voor geneste gegevensgebieden zijn doorgaans breed, vooral als de geneste tabellen en matrices groepen en totalen bevatten. Het kan handig zijn om het rapport te exporteren naar een gegevensfeed en de gegevensfeed weer te geven om te controleren of de gegenereerde gegevens de verwachte gegevens zijn.

Wanneer de Atom-renderingextensie het Atom-servicedocument maakt, wordt er een unieke id gemaakt voor de gegevensfeed en gebruikt u de id in de URL om de inhoud van de gegevensfeed weer te geven. Het voorbeelddocument van de Atom-service, dat eerder wordt weergegeven, bevat de URL https://ServerName/ReportServer?%2fProduct+Sales+Summary&rs%3aCommand=Render&rs%3aFormat=ATOM&rc%3aItemPath=Tablix1. De URL identificeert het rapport (Product Sales Summary), het Atom-renderingformaat (ATOM) en de naam van het rapportitem (Tablix1).

Namen van rapportitems zijn standaard de elementnamen in de rapportdefinitietaal (RDL) van de rapportitems en zijn vaak niet intuïtief of gemakkelijk te onthouden. De standaardnaam van de eerste matrix die in een rapport is geplaatst, is Tablix1bijvoorbeeld . De gegevensfeeds gebruiken deze namen.

Als u de gegevensfeed gemakkelijker wilt gebruiken, kunt u de eigenschap DataElementName van de gegevensregio gebruiken om beschrijvende namen op te geven. Als u een waarde opgeeft voor DataElementName, wordt het subelement <d> van de gegevensfeed gebruikt in plaats van de standaardnaam van het gegevensgebied. Als de standaardnaam van een gegevensregio bijvoorbeeld Tablix1 is en DataElementNameSalesByTerritoryYear wordt ingesteld, gebruikt de gegevensfeed <d> in de gegevensfeed SalesByTerritoryYear. Als de gegevensregio twee gegevensfeeds heeft zoals eerder beschreven in het matrixrapport, zijn SalesByTerritoryYear _Territory de namen die worden gebruikt in de gegevensfeeds en SalesByTerritoryYear _Year.

Als u de gegevens in het rapport en de gegevens in de gegevensfeed vergelijkt, ziet u mogelijk enkele verschillen. Rapporten bevatten vaak opgemaakte numerieke en tijd-/datumgegevens, terwijl de gegevensfeed niet-opgemaakte gegevens bevat.

Er wordt een gegevensfeed opgeslagen met de .atom bestandsnaamextensie. U kunt een tekst- of XML-editor zoals Kladblok of XML-editor gebruiken om de bestandsstructuur en inhoud weer te geven.

Rapportgegevens plat maken

De Atom-renderer biedt rapportgegevens als platgemaakte rijensets in een XML-indeling. De regels voor het platmaken van gegevenstabellen zijn hetzelfde als die regels van de CSV-renderer met enkele uitzonderingen:

  • Items binnen de scope worden afgevlakt tot op detailniveau. In tegenstelling tot de CSV-renderer worden de tekstvakken op het hoogste niveau weergegeven in elke vermelding die naar de gegevensfeed wordt geschreven.

  • Rapportparameterwaarden worden weergegeven op elke rij van de uitvoer.

Hiërarchische en gegroepeerde gegevens moeten worden afgevlakt om weergegeven te worden in een Atom-conforme indeling. Met de renderingsextensie wordt het rapport platgemaakt in een structuurstructuur die de geneste groepen in de gegevensregio vertegenwoordigt. Wanneer u een rapport afvlakt, vinden de volgende resultaten plaats:

  • Rijhiërarchie wordt afgevlakt voor een kolomhiërarchie.

  • Leden van de rijhiërarchie worden weergegeven in de gegevensfeed voordat leden van de kolomhiërarchie.

  • Kolommen worden als volgt gerangschikt: tekstvakken in de hoofdtekstvolgorde van links naar rechts, van boven naar beneden, gevolgd door gegevensgebieden die van links naar rechts, van boven naar beneden zijn gerangschikt.

  • De kolommen in een gegevensgebied zijn als volgt gerangschikt: leden van de hoek, leden van de rijhiërarchie, leden van de kolomhiërarchie en vervolgens cellen.

  • Peergegevensregio's zijn gegevensregio's of dynamische groepen die een gemeenschappelijke gegevensregio of dynamische voorouder delen. Peergegevens worden geïdentificeerd door vertakking van de afgevlakte boom.

Zie Tabellen, matrices en lijsten (Report Builder en SSRS) voor meer informatie.

Atomrenderingregels

De Atom-renderingextensie negeert de volgende informatie bij het weergeven van een gegevensfeed:

  • Opmaak en indeling

  • Paginakoptekst

  • Paginavoettekst

  • Aangepaste rapportitems

  • Rechthoeken

  • Lijnen

  • Afbeeldingen

  • Automatische subtotalen

De resterende rapportitems worden gesorteerd, van boven naar beneden en vervolgens van links naar rechts. Elk item wordt vervolgens weergegeven in een kolom. Als het rapport geneste gegevensitems, zoals lijsten of tabellen, bevat, worden de bovenliggende items op elke rij herhaald.

De volgende tabel geeft het uiterlijk van rapportitems aan wanneer deze worden weergegeven:

Item Weergavegedrag
Table Wordt weergegeven door de tabel uit te vouwen en een rij en kolom te maken voor elke rij en kolom op het laagste detailniveau. Subtotaalrijen en -kolommen hebben geen kolom- of rijkoppen. Drillthrough-rapporten worden niet ondersteund.
Matrix Wordt weergegeven door de matrix uit te vouwen en een rij en kolom te maken voor elke rij en kolom op het laagste detailniveau. Subtotaalrijen en -kolommen hebben geen kolom- of rijkoppen.
List Hiermee wordt een record weergegeven voor elke detailrij of elk exemplaar in de lijst.
Subrapport Het bovenliggende item wordt herhaald voor elk exemplaar van de inhoud.
Grafiek Geeft een record weer met alle grafieklabels voor elke grafiekwaarde. Labels uit reeksen en categorieën in hiërarchieën worden afgevlakt en opgenomen in de rij voor een grafiekwaarde.
Gegevensbalk Wordt weergegeven als een grafiek. Normaal gesproken bevat een gegevensbalk geen hiërarchieën of labels.
Sparkline Wordt weergegeven als een grafiek. Normaal gesproken bevat een sparkline geen hiërarchieën of labels.
Meter Wordt weergegeven als één record met de minimum- en maximumwaarden van de lineaire schaal, begin- en eindwaarden van het bereik en de waarde van de aanwijzer.
Indicator Wordt weergegeven als één record met de actieve statusnaam, beschikbare statussen en de gegevenswaarde.
Map Hiermee genereert u een gegevensfeed voor elke kaartgegevensregio. Als meerdere kaartlagen dezelfde gegevensregio gebruiken, bevat de gegevensfeed ze allemaal. De gegevensfeed bevat een record met de labels en waarden voor elk kaartlid van de kaartlaag.

Instellingen voor apparaatgegevens

U kunt enkele standaardinstellingen voor deze renderer wijzigen, inclusief het coderingsschema dat moet worden gebruikt. Zie instellingen voor ATOM-apparaatinformatie voor meer informatie.