Power BI - Afbeeldingen in slicers en visualisaties
Steeds vaker krijg ik de vraag of er in slicers en tabellen ook logo's of pictogrammen kunnen worden gebruikt van bijvoorbeeld productcategorieën, bedrijven, leveranciers of afdelingen. Het gebruik hiervan is natuurlijk toepasbaar op allerlei verschillende gebieden, maar hoe pak je zoiets nou het beste aan.

Afbeeldingen
De afbeeldingen die je in je visual of slicer wilt gebruiken kunnen op verschillende manieren aan het model worden toegevoegd. Er kan gewerkt worden met URL's van plaatjes, maar de plaatjes kunnen ook worden opgeslagen in bijvoorbeeld een database. Aangezien er vaak al gewerkt wordt met een database kies ik vaak voor de laatste optie. Dit heeft namelijk ook het voordeel dat de data op dezelfde plek is opgeslagen en vanuit daar ook makkelijker bewerkt en beheerd kan worden.
Het opslaan van de afbeeldingen in de database is vrij eenvoudig. De afbeeldingen kunnen als base64 encoded string worden opgeslagen en kunnen op die manier ook gelijk worden gebruikt binnen Power BI. om een afbeelding te converteren naar een base64 encoded string kan een willekeurige tool worden gebruikt. Het is eventueel ook mogelijk om dit met bijvoorbeeld SQL zelf te doen.
Objecten aanmaken in Power BI / Tabular editor
De afbeeldingen die in Power BI gebruik kunnen worden moeten aan een aantal voorwaarden voldoen.
- De afbeeldingen moeten in 1 van de volgende formaten zijn opgeslagen: : .bmp, .jpg, .jpeg, .gif, .png, or .svg
- Bij het gebruik van een URL moet de url/afbeelding publiekelijk toegankelijk zijn
- Bij het opslaan van de afbeelding in de database moet er gelet worden op de grootte / resolutie van de afbeelding. Een kolom in Power Bi heeft namelijk een maximale grootte en daar moet het wel in passen. (Dit is eventueel te verhelpen door de file op te splitsen.)
- Het datatype van het object in het model moet zijn ingesteld op text
- De [data Caterogy] van het object in het model moet zijn [ImageURL]


Indien er gebruik wordt gemaakt van URL's kan de inhoud van het desbetreffende object in het model gewoon de url van de afbeelding zijn.
Indien er gebruik gemaakt wordt van opgeslagen afbeeldingen in de database moet er nog een prefix worden meegegeven, zodat Power BI weet hoe de afbeelding geïnterpreteerd moet worden. De basis van de prefix is altijd hetzelfde, maar afhankelijk van het type afbeelding moet de extensie worden aangepast.


Gebruik in Power BI
Visualisaties
Op het moment dat de objecten correct zijn aangemaakt in het semantisch model kunnen ze zonder problemen worden gebruikt in bijvoorbeeld tabel en matrix visuals. De afbeeldingen worden automatisch goed weergegeven en in de eigenschappen van de visual kan onder "afbeeldingsgrootte" de grootte van de afbeeldingen worden ingesteld.
Slicers
Afbeeldingen kunnen ook gebruik worden in de (New) Card visual en de (New) Slicer visual. Het gebruik binnen deze visuals werkt iets anders. Als data element in de visual dient er gewoon een tekst veld te worden gebruikt, De bijbehorende [ImageUrl] velden kunnen dan in de eigenschappen onder Images/Afbeeldingen worden toegevoegd. Hier kunnen dan ook de eigenschappen worden geconfigureerd. De tekst van het veld in de slicer kan, zoals hierboven, ook niet worden weergegeven.

Conclusie
Met wat SQL kennis kunnen afmeeldingen simpel aan de database en het semantische model worden toegevoegd. Dit kan in Power BI weer voor een extra dimensie binnen je visualisaties zorgen. Zo kun je je dashboards toch weer net wat mooier en gebruiksvriendelijker maken.