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/

Microsoft BI aspirantforløb for 7. gang

Så er vi klar med endnu et Microsoft BI aspirantforløb. Det bliver syvende gang Orange Man udbyder det meget succesrige forløb og det starter d. 1. september 2015 med afholdelse i Aarhus. Målgruppen er konsulenter/udviklere med ingen eller kun nogen erfaring, som har behov for at få styr på den praktiske anvendelse af teknologierne.

Forløbet er baseret på mange års dagligt arbejde med værktøjerne og er fuldt fleksibelt, så der er mulighed for at deltage i hele forløbet eller udvælge de moduler man finder relevante. Forløbet er løbende blevet tilpasset og er denne gang udvidet med en ekstra dag om Master Data Services, så der nu er i alt 14 kursusdage.

De første 11 dage afholdes forholdsvist komprimeret i løbet af september:BIaspirant

De resterende tre kursusdage afholdes i oktober:

Der er Early Bird rabat ved tilmelding senest en måned inden det pågældende kursus. Foretag tilmelding og se hele oversigten på: http://orangeman.dk/kursuskatalog/business-intelligence-aspirant-kursus/

Vi arbejder på at kunne udbyde en række “Next Step” kurser som henvender sig til til tidligere deltagere på aspirantforløbet eller andre med tilsvarende erfaring. Vi håber at kunne annoncere kurserne indenfor de kommende uger.

Slides from Excel Services presentation on SQLBits

IMG_20150308_113000Just a quick post with a link to my slides: http://blog.justb.dk/wp-content/uploads/2015/03/SQLBits-Excel-Services.pdf

If you attended my session and have any questions, don’t hesitate to contact me. See you around.

Tag med til SQLBits XIV i London

SQLBits Superheroes

I starten af marts – mere præcist d. 4.-7. marts afholdes Europas største SQL Server konference i London. Jeg har booket hotel og flybilletter – har du? Det bliver min 5. deltagelse til SQLBits, da jeg tidligere har været i York, Brighton, London og Nottingham. Alle rigtig gode oplevelser med en dejlig “nede på jorden” atmosfære og et højt fagligt niveau.

Denne gang er temaet “Superheroes” og konferencen er større end nogensinde og strækker sig nu over fire dage med mange forskellige typer af sessions. Agendaen er netop offentliggjort og alle de store “stjerner” kommer og holder indlæg. Tilmed har jeg fået en plads i rampelyset, da jeg om lørdagen skal præsentere “Excel Services 2013-the BI frontend of the future“. Det er første gang jeg skal på scenen på SQLBits og jeg er super stolt og meget beæret over at blive udvalgt som speaker.

Sidst konferencen blev afholdt i London var vi over 50 deltagere fra Danmark og alle de gange jeg har deltaget, har Danmark været det bedst præsenteret land – hvis altså man ser bort fra England :-) Jeg er meget spændt på, hvordan det danske deltagerantal bliver i år, da PASS arrangere SQLRally Nordic i København i dagene lige op til. En konference med samme fokus og med rigtig mange af de samme gode speakere. En stor forskel er dog størrelsen på konferencerne – SQLRally Nordic har gang i 4 konference lokaler, mens SQLBits har gang i 11. Det giver næsten 3 gange så mange sessions at vælge i mellem på et givent tidspunkt. Læg dertil at SQLBits har 3 dage med sessions, mens SQLRally har 2 og så er SQLBits tilmed billigere…

Husk at meld dig ind i Danskere på SQLBits XIV LinkedIn gruppen, hvis du skal med. Vi bruger bl.a. gruppen til at arrangere en aften, hvor vi tager ud og spiser sammen.

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

BI aspirant forløb igen til februar

Det er med stor glæde at jeg kan offentliggøre, at Orange Man afholder endnu et Microsoft BI aspirantforløb med start 3. februar 2015. Målgruppen er konsulenter/udviklere med ingen eller kun nogen erfaring, som har behov for at få styr på den praktiske anvendelse af teknologierne.

Forløbet er baseret på mange års dagligt arbejde med værktøjerne og er fuldt fleksibelt, så der er mulighed for at deltage i hele forløbet eller udvælge de moduler du/I finder relevante. Modulerne er som følger:

De 13 kursusdage bliver afholdt i Aarhus i perioden fra 3. februar til 21. april 2015. Der er Early Bird rabat ved tilmelding senest en måned inden det pågældende kursus.

BI med Office 365

Fredag d. 15. august holdte jeg indlæg på ERFA møde i SharePoint Bruger Gruppe (SPBG) under titlen “Self-service BI muligheder i Office 365“. Mødet blev afholdt hos Fastrup Software i Incuba i Aarhus. Jeg startede ud med en generel introduktion til Self-service BI og gennemgik derefter en end-to-end Power BI demo. Sluttede demoen af med at fokusere på Power BI sites – herunder Data Management, Q&A og Admin Center. Der blev også tid til en hurtig demo af Microsofts native PowerBI app på Windows RT.

Indlægget blev afrundet med en sammenligning af BI mulighederne i O365 E3/E4 (SharePoint Online), Power BI og on-premises 2013. Det er tydeligt at Microsoft har stor fokus på cloud og nedprioriterer de mange enterprise on-premises kunder, som også gerne vil have f.eks. Q&A og Enterprise Data Search.

PowerBI sammenligning

(1) Scheduled Data Refresh til Power BI er stærkt begrænset på hvilke enterprise datakilder det understøtter. (2) Reporting Services til Power BI blev vist frem til PASS BA konferencen og skulle eftersigende komme “late summer”.

Kan i øvrigt anbefale at “SharePoint BI and Power BI – Happy Together” session fra SharePoint Conference 2014 som ligger på Channel 9.

BI aspirant forløb for femte gang

KursisterForløbet med 14 kursusdage bliver afholdt i perioden fra 2. september til 9. oktober og er fuldt fleksibelt. Der er således mulighed for at deltage i hele forløbet eller udvælge de moduler du/I finder relevante.

Groft set er forløbet opdelt i tre dele, hvor de første to uger har fokus på de grundlæggende metoder og værktøjer. Det er de elementer, som enhver BI udvikler/konsulent som minimum skal kunne mestre. Basis delen indeholder følgende fem kurser og afholdes i uge 36 og 37.

Som en naturlig fortsættelse har næste del fokus på rapportering og analyse. På fire kursusdage i uge 39, får kursisterne overblik over hvad Microsoft, kan tilbyde af muligheder med SSRS, Excel, SharePoint og Office 365.

Sidste del går lidt dybere i de mere advancerede koncepter, som “all-round” konsulenten/udvikleren også skal have styr på. Kurserne afholdes i uge 41.

Klik ind og læs mere på: http://orangeman.dk/kursuskatalog/business-intelligence-aspirant-kursus/

Det samlede forløb giver de basale kompetencer med henblik på en certificering. Efter yderligere praktisk erfaring og ved at deltage på et udvidet opfølgningsforløb (http://orangeman.dk/kursuskatalog/business-intelligence-certificering-forlob/) vil man være klar til at tage eksamen. Opfølgningsforløbet er endnu ikke lagt i kalenderen, så kontakt os (Salg@OrangeMan.dk), hvis du ønsker at deltage.

Automatisk testning af kuber

Jeg havde lørdag d. 29. marts fornøjelsen at præsentere mit indlæg om automatiseret test af kuber på SQLSaturday #275, der blev afholdt i Microsofts lokaler i Hellerup. Et helt fantastisk arrangement, som jeg håber kan blive en tradition.

Mit indlæg har rod i en konkret kundeopgave, hvor der var behov for at automatisere test af en forholdsvis stor og kompleks kube, som var en del af et udviklings-setup med release hver tredje uge. Helt simpelt har jeg udviklet en metode til at udtrække snapshot af både kubens struktur (metadata) samt selve indholdet (data). Snaphot kan således fortages både før og efter deployment og derefter sammenlignes. Det er dog også muligt at sammenligne på tværs af miljøer eller henover tid ved f.eks. at foretage snapshot dagligt.

Kubens metadata eksponeres via en række DMV’er – f.eks. giver “SELECT * FROM $SYSTEM.MDSCHEMA_MEASURES” en liste over alle measures i kuben med et utal af properties. Ved at opsætte en LinkedServer kan det via en OpenQuery forespørgsel relativt simpelt gemmes i en tabel og wupti, så kan der opsættes en rapport som synligøre forskelle mellem to forskellige snaphot. Tilsvarende kan opsætte via andre DMV’er, så metadata for dimensioner, attributter, measuregroups m.m. kan sammenlignes.RapportMetadataSamme metode med OpenQuery og LinkedServer kan anvendes til udtræk af data, som dog kun kan blive et udsnit – men hvordan udvælges et repræsentativt udsnit? Og hvordan håndteres, at data helt naturligt ændrer sig over tid? I min konkrete opgave valgte jeg at udtrække data for alle measures over flere forskellige tidsperioder (32 dage, 13 måneder og 5 år) filtreret på en anden gennemgående dimension. MDX forespørglen er opsat forholdvis dynamisk med flere forskellige parametre – f.eks. med en offset dato, så der kan udtrækkes data tilbage i tiden. Listen over measures i kuben kan fåes via enten metadata snapshot eller via “Measures.AllMembers” – bemærk dog at Measures.AllMembers kun giver de synlige measures og at en liste via metadata kan blive meget lang og dermed få forspørgslen til at overstige begrænsningen på 8000 tegn.

Via en række linked rapporter kan eventuelle forskelle mellem snapshot synliggøres og om der findes et mønster – er det kun enkelte measures og/eller på konkrete tidsperioder?RapportTil demo for mit indlæg har jeg opsat eksempel på AdventureWorks kube databasen deployed på to forskellige instanser, hvor jeg har jeg ændret i både struktur og indhold i kuberne. Jeg har uploaded både slides og demo-filerne, så I selv kan afprøve metoden. Jeg har kun tilpasset et udsnit af min kundeopgave til at virke på AdventureWorks, så der er uden tvivl behov for at tilpasse og udvide, hvis det skal anvendes professionelt :-)

Foruden min egen udviklet metode, har jeg også med succes anvendt Microsoft BI test frameworket NBi, som har sin klare styrke i at teste dele af kuben. Det er en udvidelse til NUnit, hvor der kan opsættes test-cases via xml-syntax – f.eks. teste antal af members i en specifik attribut, performance på afviklingen af en specifik mdx eller sammenligne små resultatsæt. En anden styrke er at der kan opsættes tresholds – f.eks. at antallet af members skal ligge mellem 15 og 25 eller værdien af et measure skal være mellem 0 og 1. Perfekt til at teste at de ændringer man ligger i produktion er slået rigtigt igennem.

Begge disse løsninger komplementere hinanden godt, men kan også fint anvendes uafhængigt. Tjek begge ud og se hvad der passer i dit/jeres setup.

Self-Service BI ressourcer

Som opfølgning på et tre dages kursus jeg afholdte i sidste uge, har jeg samlet links til en række yderligere ressourcer. Kurset var overordnet opdelt i en dag med Report Builder og to dage med Excel, hvor den første dag havde fokus på data modellering og den næste på præsentation/rapportering.

Power Pivot:

DAX:

Power Query:

Reporting Services:

Dette er på ingen måde udtømmende, men en god start, hvis man skal arbejde videre med Microsoft Self-Service Business Intelligence. Kan personligt anbefale alle ressourcerne :-)

Hvis du har en god ressource, så smid den i en kommentar. Tak!