ATOM data feeds en report parameters

Donald Farmer noemde het vorig jaar op een SQLPASS avond op ons hoofdkantoor “de belangrijkste nieuwe feature in Reporting Services 2008 R2”: de ATOM data feed knop in de toolbar van een Reporting Services rapport. Met de knop kan een gebruiker de dataset die in een rapport zit gebruiken om daar zelf iets mee te doen. De vraag rijst dan al snel: wat gebeurt er eigenlijk wanneer dat rapport parameters bevat?

Het antwoord is eigenlijk héél simpel en vloeit voort uit het beoogde gebruik van de nieuwe feature. Een gebruiker maakt gebruik van een bepaald rapport en constateert dat hij niet direct geïnteresseerd is in het rapport zelf, maar wel in de data die er in staat. De gebruiker klikt op de ATOM data feed knop om daar wat mee te gaan doen. Maar bedenk dat op dat moment de parameters al gekozen moeten zijn om het rapport te kunnen bekijken. Doe je dat niet en heeft het rapport één of meer verplichte parameters, wordt de hele toolbar met de ATOM data feed knop nog niet getoond. De gekozen parameters worden dan ook simpelweg meegenomen in de ATOM feed!

image

Door het drukken op de ATOM feed knop, wordt een ATOM service document gegenereert. Dit kleine XML document bevat geen rapport data maar alleen de URL’s die een applicatie nodig heeft om de daadwerkelijke rapport data via een ATOM feed te benaderen. URL’s, want per data region in een rapport, wordt tenminste één URL gegenereerd. Bij Tablix data regions met adjacent groups, kunnen dat er zelfs meer per tablix zijn. Een voorbeeld van een dergelijke URL is:

http://SS2008R2/ReportServer?/ATOM Demo/Sales Report&StartDate=01/01/2006&EndDate=12/31/2007&rs:Format=ATOM&rc:DataFeed=xAx0x2xCx0xMx0

Kortom, de URL bevat de parameterwaarden, net zoals dat altijd gebeurt bij URL access in Reporting Services. Verwijder je de parameters uit de URL, dan geeft dat bij gebruik ervan een foutmelding (uiteraard alleen bij rapporten met verplichte parameters zonder default waarden):

image

Vanuit technisch oogpunt is de ATOM data feed feature niet meer dan een nieuwe rendering extensie waarmee je een rapport kunt exporteren naar een ATOM service document. Dat document kan gebruikt worden door iedere applicatie die in staat is data feeds te consumeren. De feature is primair geïntroduceerd in Reporting Services 2008 R2 ter ondersteuning van PowerPivot. Deze Excel add-in is één van de applicaties die in staat is data via ATOM feeds te consumeren. De door Reporting Services gegenereerde feeds zijn in hetzelfde formaat als die gegenereerd worden door ADO.NET Data Services en voldoen aan de ATOM 1.0 standaard. Voor meer informatie, zie http://technet.microsoft.com/en-us/library/ee210663(SQL.105).aspx.