Overslaan en naar de inhoud gaan

📅 Schrijf je in voor de Masterclass report design in Power BI

Niels
1-3-2024 - 4 min

Power BI Deployment Pipelines

Verbindingen met de bron van semantische modellen parameteriseren

Power BI-deployment pipelines bestaan al sinds mei 2020 en hebben sindsdien een aantal leuke feature-upgrades gehad.
Bijvoorbeeld de mogelijkheid om deployment rules (op basis van bronnen en parameters) toe te voegen vanaf de eerste deployment fase. Deze functie is handig als je te maken hebt met de implementatie van (een) semantisch model(len) in meerdere fasen, met een bepaalde (externe) bron in elke corresponderende fase. Volg je het nog? Een plaatje zegt wellicht meer:

Waarom zou je bronverbindingen van semantische modellen willen parameteriseren? Nou, omdat semantische modellen en sommige andere bronnen voor rapporten niet worden ondersteund wanneer je via Azure DevOps zou deployen en daar komen op parameters gebaseerde deployment rules om de hoek kijken!

Bekijk de volgende stappen als je wilt weten hoe je deze implementatiemethode configureert voor jouw semantische model(len).
In de volgende voorbeelden heb ik gebruik gemaakt van AdventureWorks excel bestanden, deze dienen als bron. 
De bestanden heb ik lokaal in 4 verschillende mappen geplaatst (Development, Test, Acceptance en Production) om externe bronomgevingen te simuleren.
Mocht je nog geen Power BI (Fabric) werkruimten hebben, maak deze dan aan. 

Laten we beginnen:

  1. Log in op app.powerbi.com en selecteer het tabblad 'Deployment pipelines'.

  2. Selecteer 'Create a pipeline' en vul een naam in en eventueel een betekenisvolle omschrijving.

  3. Nu is het tijd om de deployment fase te maken, normaal gesproken heb je er vier; Ontwikkeling, Test, Acceptatie en Productie.

  4. Vervolgens kan je een Fabric-werkruimte toewijzen aan elke deployment fase. Dit is nodig om te kunnen selecteren welke componenten (rapport, semantisch model) je wilt deployen in de volgende fase. Ervan uitgaande dat je al Fabric-werkruimten hebt. Als je dat nog niet hebt gedaan, is het raadzaam om er een te maken voor elke deployment fase (zie stap 3) en ze een naam te geven die gemakkelijk herkenbaar is (bijv. Development, Test, Acceptance, Production).   
    Standaard wordt de laatste deployment fase ‘Public’ gemaakt. Dit houdt in dat een afnemer van componenten in deze workspace dit als een reguliere workspace ziet en niet dat deze aan een deployment pipeline gekoppeld is. En zal ook niet de gekoppelde deployment fase naam zien in de workspace.

  5. Zodra de werkruimte is gekoppeld aan de deployment fase, worden gelijk de bestaande componenten in die werkruimte weergegeven. Selecteer ‘Deploy’, hiermee worden alle componenten van de ontwikkelingsfase naar de testfase gedeployed.

  6. Zodra de deployment met succes is uitgevoerd, verschijnt het pictogram met deployment rules in de fase Test. Als je deze optie selecteert, zouden de beschikbare deployment rules voor die fase moeten worden weergegeven.

  7. Maar nu komt het: die zijn er niet! We gaan dus parameters maken voor de bron van het semantische model.

  8. Download (als je dat nog niet hebt gedaan) of open het rapport in de Power BI Desktop-toepassing. En selecteer 'Transform data', selecteer in het volgende scherm 'Manage parameters’ op het tabblad 'Home'. Er wordt een dialoogvenster geopend om de parameter te maken. 
    Selecteer 'New', vul een naam in (ik gebruikte 'Source' in dit voorbeeld) en een omschrijving, 'Text' voor 'Type' en List of values' voor ‘Suggested Values'. Je kunt een aantal waarden invoeren voor de bronverbinding. Dit kan bijvoorbeeld een connection string zijn of een expliciet pad naar een map.
    Als je een standaardwaarde voor het semantische model wilt, selecteer je er een uit de lijst die je zojuist hebt gemaakt via de bijbehorende vervolgkeuzelijst. Hetzelfde geldt voor de 'Current Value'.
    Als de bronverbinding uit meerdere onderdelen bestaat (bijvoorbeeld server, database en schema), voeg je voor elk onderdeel een parameter toe. 

  9. Selecteer 'Ok' en je parameter wordt aangemaakt. Selecteer ‘Close and Apply' op het tabblad Start.

  10. Nu moeten we het expliciete pad in de Source-stap van alle query's vervangen door de parameter die we zojuist hebben gemaakt.

  11. Je zou een voorbeeld van de gegevens in elke query moeten zien als stap 10 is voltooid.

  12. Publiceer het rapport op de Development Workspace.

  13. Ga nu terug naar de Power BI-deployment pipeline die je in stap 7 hebt gemaakt. Deploy het rapport opnieuw naar de fase 'Test'.

  14. Selecteer opnieuw de deployment rules voor de fase 'Test' en selecteer het semantische model waarvoor je zojuist de parameters hebt gemaakt.

  15. Selecteer nu de parameter die je hebt gemaakt in de vervolgkeuzelijst 'From'...

  16. ... en de beschikbare waarde in de vervolgkeuzelijst 'To'. 
    En dit is een beetje eigenaardig, maar het lijkt erop dat deze optie niet alle mogelijke waarden herkent die je eerder hebt ingevoerd voor de parameter in het rapport. Wijzig dus de waarde overeenkomstig aan de waarde voor de fase 'Test'. Ik neem aan dat Microsoft dit in een komende update zal oplossen.
     

Sla nu alle schermen met deployment rules op en je bent bijna klaar! 
Herhaal stap 13 tot en met 16 voor elke resterende deployment pipeline.

Dus wat heb je gedaan? Je hebt een Power BI-deployment pipeline gemaakt met deployment rules voor elke deployment fase. Op deze manier is het mogelijk dat het semantische model van een rapport in elke deployment fase verbinding maakt met de juiste bron.  

Nu is het tijd om de deployment pipeline te testen, selecteer de knop ‘Deploy’ in de fase ‘Development’ om uw gepubliceerde onderdelen te deployen in de fase ‘Test’. 
Zodra de deployment is uitgevoerd, controleer je of de gegevens van het rapport in de werkruimte ‘Test’ afkomstig zijn uit de desbetreffende Testomgeving van de bron. Doe dit voor elke deployment fase in je deployment pipeline.

Veel plezier met deployen!

Over de schrijver

Niels

Niels creates solid Business Intelligence solutions.

LinkedIn