Tag Archives: SSRS

Nyt liv til Reporting Services, part 1

Det mærkes tydeligt at SQL Server 2016 har givet fornyet håb omkring Reporting Services. Der er ikke kommet mange nye fede features, men Microsoft har sendt et signal om at de ikke har opgivet værktøjet. Et meget vigtigt signal efter de har ladt SSRS i stikken i 6 år… Ikke siden SQL Server 2008R2 har vi fået nogle mærkbare nyheder! Man skulle næsten tro at Microsoft har opfattet det som “feature complete”.

Nyhederne i SQL Server 2016 kan opsummeres til:

  • Ny web portal og HTML 5 rendering
  • Tree Map og Sunburst Charts
  • Power Point Export og ny print oplevelse
  • Forbedret standard layout til charts, gauges og maps
  • Brugerdefineret parameter bar
  • Pin Report Items to Power BI Dashboard
  • KPI’er og mobile reports (fra Datazen)

Vi kunne nok have forventet noget mere, men lidt er også godt :-) Jeg har faktisk lige hjulpet en kunde med opgradering udelukkende pga. den “nye print oplevelse”, som betyder et farvel til installation af ActiveX komponent.

For præcis et år siden offentliggjorde Microsoft deres “Reporting roadmap“, hvor et af hovedbudskaberne er at Reporting Services er værktøjet til “Paginated reports” – en ud af fire rapport typer. Derudover fik vi beskeden: “Reporting Services is our on-premises solution for BI report delivery” og at det vil blive muligt at publicere Power BI rapporter direkte til Report Manager’en.

microsoft-business-intelligence-our-reporting-roadmap

Nu et år efter har vi fået den første sneak-peak på Ignite i denne session af Riccardo Muti. Bliver spændende at se hvad de præsentere på PASS Summit senere på måneden. Første besked er “Ships when ready”.

ssrs_powerbi

I løbet af den seneste måned har jeg afholdt fire SSRS kursusdage, hvilket er hvad jeg normalt afholder på et helt år. Jeg tager det som et signal på at folk igen tror på SSRS og tør investere. Det skal heller ikke være nogen hemmelighed at jeg har en vis forkærlighed til SSRS. I alle mine 10 år som Microsoft BI udvikler har jeg anvendt det – ikke hver dag, men ofte. Det er et form for “go to” værktøj, som har så mange frihedsgrader, at det kan bøjes på alle leder og kanter. Et dejligt værktøj til den “nørd” jeg har gemt i maven :-)

Jeg har valgt at “fejre” Microsoft nye fokus ved at sammensætte et “Reporting Services Next Step” kursus, som jeg afholder i Aarhus d. 17. november. Kurset henvender sig til analytikere, BI-udviklere og andre der har arbejdet med Reporting Services et par år og som har brug for tips, tricks og input til de lidt mere avancerede muligheder. Der vil være hands-on og øvelser undervejs og alle deltagere vil få udleveret et stort katalog med eksempler på de gennemgåede rapporter. Måske et kursus for dig? Tjek agendaen ud her: http://orangeman.dk/kursuskatalog/reporting-services-next-step/

Reporting Services ressourcer

Som opfølgning på et Reporting Services kursus jeg netop har afholdt kommer her en samling af gode ressourcer:

Der findes helt sikkert mange flere rigtig gode ressourcer. Dette var bare dem jeg lige kunne komme op med. Hvis du er interesseret i at komme på kursus i Reporting Services, så skulle du tjekke mit kursus ud, som jeg holder hos Orange Man: http://orangeman.dk/kursuskatalog/Reporting-Services/

Find hvilke rapporter der anvender embedded connection

Var ude ved en kunde i den forgange uge, som netop har fået ny DWH server. Jeg har gennem nogle år hjulpet dem med at opsætte en SharePoint BI løsning, hvor der anvendes en god blanding af Reporting Services, Excel Services og PerformancePoint Services. Skiftet til den nye DWH server har været problemfrit, da der blev opsat et alias på navnet fra den gamle server, som peger på den nye server. Udfordringen er nu, at kundes IT afdeling vil fjerne aliaset igen…

Så nu skal vi sikre at alle rapporter, dashboards m.m. bliver peget over på den nye server. Nemt nok med PerformancePoint Services, da det kun er muligt at oprette shared connectionsog disse så blot skal ændres. Også nemt med Excel Services, da vi her har opsat at der kun tillades “external data connections” og Excel rapporterne således ikke virker med “embedded data connections”. Samme mulighed findes desværre ikke med Reporting Services, så hvordan finder man rapporter der anvender embedded connections og dermed peger på det gamle server navn?

ReportServer databasen indeholder alle rapport definitioner (rdl-filer) i catalog tabellen. Det er gemt i binært format i content feltet:

CatalogTabel

Kan du finde rapporten med en embedded connection? Nej vel. Tricket er at konvertere det binære format om til XML og så udsøge det element, som viser om der anvendes en embedded eller shared connection. Det er ikke lige min spids kompetence, men Google kan som altid hjælpe. Bret Stateham har skrevet et godt og grundigt blogindlæg: http://bretstateham.com/extracting-ssrs-report-rdl-xml-from-the-reportserver-database/

Eksemplet går på at udtrække selve den query der anvendes i rapporterne. Rigtig rigtig smart, men ikke lige det vi har brug for. Det er bare at tage et kig på XML’en i en rapport med embedded connection og se hvad elementerne hedder:

ConnectionStringXML

Så skal sidste del af scriptet blot ændres til at udsøge DataProvider og ConnectString:

ConnectionStringSQL

Da disse elementer kun findes i rapporter med embedded connection, vil vi kun få listen over de rapporter der skal ændres. Ved den pågældende kunde var der ca. 20 rapporter, hvor vi så nemt kunne ændre til at de anvendte de shared connection der var opsat og var ændret til at pege på den nye server.

ConnectionStringResult

Det var da smart :-)