Join us for an expert-led overview of the tools and concepts you'll need to pass exam PL-300. The first session starts on June 11th. See you there!
Get registeredPower BI is turning 10! Let’s celebrate together with dataviz contests, interactive sessions, and giveaways. Register now.
All the research I've done indicates that PowerBI has no native way to display dynamic images. The only way to accomplish it is to use a 3rd party visual. The 2 main ones are Image by Cloudscope and SimpleImage. SimpleImage is free but it can only accept a column containing the base64 image, not a calculated measure. If I want the displayed image to vary based on a calculation, I have to use Image by Cloudscope, which requires a license. Is my understanding correct?
When it comes to licenses for 3rd party visuals, how does the pricing work? It asks how many people in my company, and then says the price per person. Does that assume that every person in my company will be CREATING reports using that visual? Or is it based on how many people in my company will LOOK at the visual that I published?
Solved! Go to Solution.
Sure 🙂
To make things clearer, I created a separate measure Flag SVG URL that returns a flag icon (similar to the built-in one) with a colour that depends on the selected Status.
I used an arbitrary nonblank measure Dummy = 1
as the card's Data field.
The measure returning the SVG URL doesn't need to have Data category = Image URL for the purpose of the Card (new) visual's image, but it's probably good practice to set it anyway for other purposes.
Flag SVG URL =
VAR SelectedStatus = SELECTEDVALUE ( 'Status'[Status] )
VAR Result =
IF (
NOT ISBLANK ( SelectedStatus ),
VAR FlagPolygonFill = SWITCH (
SelectedStatus,
"Early", "#84C28A",
"On Time", "#F9D087",
"Late", "#F78272",
"#E0E0E0" -- default
)
VAR FlagPathFill = SWITCH (
SelectedStatus,
"Early", "#449E44",
"On Time", "F9B23E",
"Late", "#F25021",
"#E0E0E0" -- default
)
VAR SVG =
"data:image/svg+xml;utf8,"
& "<svg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'>"
& "<g xmlns='http://www.w3.org/2000/svg'>"
& "<polygon fill='"
& FlagPolygonFill
& "' points='7.5,2.5 7.5,0.5 2.5,0.5 2.5,7.5 7.5,7.5 7.5,9.5 12.5,9.5 12.5,2.5 ' class='fwns' />"
& "<path fill='"
& FlagPathFill
& "' d='M8,2V0H2.5v1H7v6H2.5v1H7v2h6V2H8z M12,9H8V3h4V9z' class='fwns' />"
& "<rect x='2' fill='#444444' width='1' height='16' class='fwns' /></g>"
& "</svg>"
RETURN
SVG
)
RETURN
Result
Hi @Kimber ,
Thank you for reaching out to Microsoft Fabric Community forum.
@OwenAuger Thank you for your quick response.
@Kimber Alongside the solution provided by the super user, you may also consider trying the following.Yes, you are right. Power BI (by default) doesn’t support showing images that change based on slicers or filters, especially if those images are driven by a DAX measure. The built-in visuals only support image URLs or base64 strings from a column, and those don’t change dynamically based on user interaction.
As you mentioned:
SimpleImage (Free): Works with base64 image columns and doesn't support DAX measures, so you can't make images change with slicers. This is Best for static image scenarios, like showing product pictures in a list.
Image by Cloudscope (Paid): Supports DAX measures which means the image can change based on filters or slicer. This is visual is more interactive and flexible and will be great for scenarios where you need images to respond dynamically.
Licensing will be,
Most paid visuals (like Cloudscope) charge per user, this usually means anyone who views the report, not just the person who developed the report. So if 1 person builds the report and 50 people view it, you might need 50 licenses, this is because visuals load on the viewer’s machine, which counts as usage
If this post helps, then please consider Accepting as solution to help the other members find it more quickly, don't forget to give a "Kudos |
Regards,
B Manikanteswara Reddy
Hi @Kimber
You can display standalone dynamic images based on a measure with the Card (new) visual. (Caveat: it's still in preview)
Here's a small example with Callout Values switched off and Image set to the Image URL measure.
I included some Web URLs and an SVG data URL that depends on a slicer selection.
It is also possible to use the HTML Content or HTML Content (lite) custom visuals to display images as well (both a free & certified).
It is also possible to display images within other native visuals such as Matrix and Table visuals.
Thank you! Could you please add an svg encoded icon to the mix? I want to check my formatting against yours. My card only shows the text value of the image, not the image itself, even though I have changed the data category to Image Url.
Sure 🙂
To make things clearer, I created a separate measure Flag SVG URL that returns a flag icon (similar to the built-in one) with a colour that depends on the selected Status.
I used an arbitrary nonblank measure Dummy = 1
as the card's Data field.
The measure returning the SVG URL doesn't need to have Data category = Image URL for the purpose of the Card (new) visual's image, but it's probably good practice to set it anyway for other purposes.
Flag SVG URL =
VAR SelectedStatus = SELECTEDVALUE ( 'Status'[Status] )
VAR Result =
IF (
NOT ISBLANK ( SelectedStatus ),
VAR FlagPolygonFill = SWITCH (
SelectedStatus,
"Early", "#84C28A",
"On Time", "#F9D087",
"Late", "#F78272",
"#E0E0E0" -- default
)
VAR FlagPathFill = SWITCH (
SelectedStatus,
"Early", "#449E44",
"On Time", "F9B23E",
"Late", "#F25021",
"#E0E0E0" -- default
)
VAR SVG =
"data:image/svg+xml;utf8,"
& "<svg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'>"
& "<g xmlns='http://www.w3.org/2000/svg'>"
& "<polygon fill='"
& FlagPolygonFill
& "' points='7.5,2.5 7.5,0.5 2.5,0.5 2.5,7.5 7.5,7.5 7.5,9.5 12.5,9.5 12.5,2.5 ' class='fwns' />"
& "<path fill='"
& FlagPathFill
& "' d='M8,2V0H2.5v1H7v6H2.5v1H7v2h6V2H8z M12,9H8V3h4V9z' class='fwns' />"
& "<rect x='2' fill='#444444' width='1' height='16' class='fwns' /></g>"
& "</svg>"
RETURN
SVG
)
RETURN
Result
That was SO helpful! Thank you!!!
This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.
Check out the June 2025 Power BI update to learn about new features.
User | Count |
---|---|
81 | |
75 | |
60 | |
37 | |
33 |
User | Count |
---|---|
102 | |
56 | |
52 | |
46 | |
40 |