Forum Discussion
How to render Image Url using DAX
- 1 year ago
That approach will not work. If the flag URL is simply combined with the country name, the result will be an invalid image link. The flag image and the country name need to be displayed separately, or the image can be included inside a DAX-generated SVG. AI can help create these SVGs, but DAX-generated SVGs do not allow images from external URLs. To use them, the images must first be converted to Base64 format, and those Base64 strings then imported back into Power BI before creating the SVG. This way, the images are embedded directly and will display correctly without relying on external sources. Alternatively, use image URLs that already contain the country name.
Hey Sandip_Palit ,
Native bar charts can not display images, only text. Build the image URL with DAX and show it in a visual that supports images (or via a tooltip). If that still doesn’t meet your need, use a custom visual (or Deneb) that can render images alongside bars.
Solution 1: Use Image URL
1. Create the URL:
-- If you have country codes (recommended)
Flag URL = "https://flagcdn.com/h40/" & LOWER([CountryCode]) & ".png"
-- If you only have country names, map to codes (sample)
Flag URL =
SWITCH(
[CountryName],
"Malta","https://flagcdn.com/h40/mt.png",
"Estonia","https://flagcdn.com/h40/ee.png",
"Ireland","https://flagcdn.com/h40/ie.png",
/* …add the rest… */
BLANK()
)
2. Select the Flag URL column → Column tools → set Data category = Image URL.
3. Show it in a Table/Matrix/Multi‑row Card (these render images).
4. To keep your bar chart but show flags on hover:
-
Create a small Tooltip page with a Table showing the Flag URL.
- Set that page as a Report page tooltip for the bar chart.
Solution 2: If you must see flags in the bars
Use a visual that supports images in categorical charts: Custom visual from AppSource that supports image fields, or Deneb (Vega‑Lite) to draw bars and place the image from your URL.
Minimal Deneb idea (fields: Country, Value, Flag URL):
{
"$schema": "https://vega.github.io/schema/vega-lite/v5.json",
"data": {"name": "dataset"},
"layer": [
{
"mark": "bar",
"encoding": {
"y": {"field": "Country", "type": "nominal", "sort": "-x"},
"x": {"field": "Value", "type": "quantitative"}
}
},
{
"mark": {"type": "image", "width": 24, "height": 16},
"encoding": {
"url": {"field": "Flag URL"},
"y": {"field": "Country", "type": "nominal", "sort": "-x"},
"x": {"value": 0}, // draw images near the y‑axis
"tooltip": [{"field": "Country"}, {"field": "Value"}]
}
}
]
}
If you found this solution helpful, please consider accepting it and giving it a kudos (Like) it’s greatly appreciated and helps others find the solution more easily.
Best Regards,
Nasif Azam