Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started
Hello Power BI Community,
I'm facing a challenge in Power BI that I hope to get some assistance with. My goal is to create a dynamic HTML table that updates based on the user's selection from a slicer. The table needs to display various details of a selected program, such as Division, Line of Business, Industry, etc., and change its displayed content in real-time when a different program is selected.
Here is the DAX measure I've been working with to create the dynamic HTML content:
Dynamic HTML Content = VAR SelectedProgram = SELECTEDVALUE('Program Names'[Program], "No program selected") RETURN "<div style='font-family: Arial; font-size: 14px; color: #333;'>" & "Selected Program: <strong>" & SelectedProgram & "</strong>" & "</div>"
This measure is supposed to create an HTML visual that updates to show the currently selected program. However, I have not found a way to render this HTML content dynamically within Power BI, as there seems to be no tool or feature in the Power BI marketplace that supports such functionality. When selecting a program name from the slicer I've created I get the following display:
This is true no matter which program I select.
I've looked into alternatives, such as Python scripting, but this does not provide the aesthetic advatages that HTML does.
I am reaching out to see if anyone has encountered and overcome a similar issue or if there are custom visuals available that can achieve this. I am also open to any suggestions for workarounds that could allow for dynamically updating HTML content based on slicer selections. Atlernatively, if there are means of reproducting my table using another marketplace extension, that would also be a suitable outcome.
Any advice or guidance would be greatly appreciated. Thank you for taking the time to help.
Best regards,
Rob
Solved! Go to Solution.
After extensive troubleshooting and community advice, I've pinpointed the root cause of the HTML rendering issues I encountered in Power BI. Initially, my approach involved manually creating a data table via the "Enter Data" option, followed by inserting placeholder data. Subsequently, I aimed to integrate dynamic HTML content by adding a DAX formula within a new calculated column in the Column Tools section.
However, this method led to challenges, particularly with HTML content not updating dynamically in response to filters. The crucial insight came from understanding the distinction between calculated columns and measures in Power BI. Unlike calculated columns, which are static and computed during data refresh, measures are dynamic and recalculated based on the current context, including any applied filters.
The breakthrough fix involved shifting from using calculated columns to employing measures for embedding HTML content. This adjustment allowed the HTML content to become responsive and update dynamically in accordance with the applied filters, thereby solving the rendering issues I was facing.
This experience underscores the importance of selecting the appropriate Power BI feature (measures over calculated columns) for specific tasks, especially when aiming to incorporate dynamic elements like HTML content.
@rstrickley0308 , Are you using one the three visual
HTML Viewer
https://dataveld.com/2020/04/11/how-to-obtain-a-power-bi-custom-visual-if-it-no-longer-appears-on-ap...
HTML content
https://appsource.microsoft.com/en-us/product/power-bi-visuals/wa200001930?tab=overview
D3js
https://appsource.microsoft.com/en-us/product/power-bi-visuals/WA104381354?tab=Overview
Apologies for the oversight in my initial query. Currently, I'm utilizing the HTML content feature within Power BI and have also experimented with the HTML Viewer. As of now, I have not delved into utilizing D3.js for this purpose, primarily due to its perceived complexity compared to other available options. However, I am open to exploring it further. If you believe that D3.js could offer a more efficient solution to my challenge, I am eager to learn and would appreciate any guidance or resources you might recommend for getting started. Thank you for considering my situation and for any advice you can offer.
I tried with two custom visuals. Both work. But they are probably not free of charge.
There are several html custom visuals you may have a look at.
Best Regards,
Jing
If this post helps, please Accept it as Solution to help other members find it. Appreciate your Kudos!
After extensive troubleshooting and community advice, I've pinpointed the root cause of the HTML rendering issues I encountered in Power BI. Initially, my approach involved manually creating a data table via the "Enter Data" option, followed by inserting placeholder data. Subsequently, I aimed to integrate dynamic HTML content by adding a DAX formula within a new calculated column in the Column Tools section.
However, this method led to challenges, particularly with HTML content not updating dynamically in response to filters. The crucial insight came from understanding the distinction between calculated columns and measures in Power BI. Unlike calculated columns, which are static and computed during data refresh, measures are dynamic and recalculated based on the current context, including any applied filters.
The breakthrough fix involved shifting from using calculated columns to employing measures for embedding HTML content. This adjustment allowed the HTML content to become responsive and update dynamically in accordance with the applied filters, thereby solving the rendering issues I was facing.
This experience underscores the importance of selecting the appropriate Power BI feature (measures over calculated columns) for specific tasks, especially when aiming to incorporate dynamic elements like HTML content.
Check out the September 2024 Power BI update to learn about new features.
Learn from experts, get hands-on experience, and win awesome prizes.
User | Count |
---|---|
113 | |
94 | |
88 | |
35 | |
32 |
User | Count |
---|---|
153 | |
101 | |
82 | |
63 | |
52 |