IBCS + SVG + UDF = PowerofBI.IBCS
The International Business Communication Standards (IBCS) are practical proposals for designing business reports, presentations, and dashboards in terms of their conceptual design, visual perception, and semantic notation. The IBCS proposals formed the basis of the ISO 24896 standard notation for business reports (under development).
Visit https://www.ibcs.com/ to get official information about International Business Communication Standards, acquire IBCS®-certified business communication skills, become an IBCS®-certified analyst, find a list of IBCS®-certified software, and participate in events with lectures by IBCS® Certified Consultants.
The solution provided here (a package of user-defined DAX functions for embedding IBCS-guided data visualization in Power BI native visuals) is not produced, certified, authorized, or endorsed by IBCS®. The author is IBCS®-certified analyst, but not affiliated with IBCS®.
While there are certified custom visuals (with a per-user subscription fee), Power BI doesn’t provide a native way to build IBCS-guided data visualizations. However, in recent years, Power BI expanded SVG support in Table, Matrix, Card, and Image visuals, as well as Button and List Slicers. We can use SVGs to customize core visuals for clarity and impact. The goal of good customization is not to decorate and randomize (e.g., using AI to generate as many “cool” templates as possible) but to streamline and unify BI reports, and that’s where IBCS guidelines become useful.
With user-defined functions (UDFs) introduced in September 2025, report unification through customization is easier than ever. Free open-source UDF libraries let you embed charts into core visuals just by calling a function. UDFs let you package DAX logic and reuse it like any built-in DAX function. DAX Lib is a free, open-source repository of DAX functions that you can easily import and use in your models. DAX Lib allows you to discover and download libraries of user-defined functions, as well as share your own functions with the community.
Among other useful applications, UDFs can be used to generate SVG images and create reusable custom data visualizations. I’ve published the PowerofBI.IBCS DAX Lib package with UDFs that generate IBCS (International Business Communication Standards)-guided visualizations for embedding into Power BI core visuals that support SVG images (Table, Matrix, New Card, Image, Button, and List Slicers).
The best core visual for embedding SVG visualizations is, surprisingly, the Button Slicer. Core visuals don’t support interactivity in SVG images, but embedding each bar of a bar chart into an individual button allows the use of hover, selected, and other button states to show different SVGs (e.g., changing the background color of the selected button). Table and Matrix visuals work well for multi-tier charts and for mixing text and numeric columns with embedded charts.
Examples of charts embedded into core Power BI visuals
Use the buttons below to switch between different charts in the report:
🔥 The report was embedded in this page using Power BI Embedded. Navigation menu: A Fabric notebook exports each visible report page as a PNG via the Power BI REST API, then POSTs each PNG to WordPress. WordPress saves PNGs to its media library. The report embedding plugin generates a navigation menu by creating a button for each visible report page. Thumbnails are embedded in the navigation buttons.
Where to get the functions?
You can get the package on DAX Lib and install the functions into your data model in Power BI Desktop using one of the following methods:
1) TMDL view in Power BI Desktop (copy-paste the code)
2) DAX Package Manager in Tabular Editor 3 (click “Install”)
3) Natural language chat with AI using Visual Studio Code and Power BI Modeling MCP Server. Ask AI to find functions that work best for your purpose, install the entire package or chosen functions, explain the functions, add comments, and provide usage examples.
Support and Contribution
I’m planning to improve the existing functions to make them as reusable as possible, easy to configure, and maintainable; and I’ll be adding new functions.
If you have any problems with the functions or questions, feel free to create an Issue. If you want to participate in the development, feel free to create a Pull Request.
I made the functions free and open source, and any contribution would benefit the whole community.
GitHub Repository
The following repository is used for development and testing. Use DAX Lib to get the latest stable version.
Conferences
If you want to learn more, join one of the following conferences:
I speak about turning slicers into charts at the Power BI & Fabric Summit 2026
The Real Power of the New Slicers: Turn Your Slicers into Charts
February 24, 2026, online (day 2, virtual room 2)
This session will show you how to take your Power BI reports to the next level by turning charts into interactive slicers. Attendees will learn:
➡️ How to help report users slice for a reason
➡️ How to turn native slicers into interactive charts
➡️ How to use DAX to generate charts (as SVG images)
➡️ How to apply this approach to different chart types, including column charts, bar charts, and maps
➡️ How to add meaning and context to your slicers
➡️ How to improve the appearance and functionality of the slicers
I will provide a full-day, deep-dive, hands-on workshop at Data Point Prague 2026
Advanced Customization of the Core Visuals and Slicers
May 28, 2026, Prague, Czech Republic
You will learn why and how to build IBCS-guided reports (IBCS: International Business Communication Standards; see also ISO 24896, Notation for business reporting) for clearer financial and operational insights; how to turn charts into slicers and slicers into charts; how to create a Top N + Others bar chart without any changes to the data model; and other ways to improve your reports.
With user-defined functions (UDFs) introduced in 2025, this customization is easier than ever. Free, open-source UDF libraries let you embed charts into core visuals with just a few clicks. You will learn how to use existing UDF libraries and how to create your own SVG + UDF custom visualizations for embedding into the core visuals.
Read more
UDFs made this method more convenient
I published a few videos about how I use DAX-generated SVG images to embed IBCS-guided data visualization into Power BI reports and presented this approach at Power BI & Fabric Summit 2024. But when I started this project in 2023-2024, there were no UDFs, and the only solution for code reusability was to use calculation groups. But calculation groups do not support parameters, so while they provided a certain level of reusability (only one calculation item per chart type), it was a bit cumbersome to reuse them for embedding charts into multiple visuals within a report. Now you can just call a function. And you can install functions from a centralized library. It makes embedding IBCS-guided data visualizations using SVGs more convenient, with reduced development and maintenance costs.
Accessibility
I’m also planning to post more about the accessibility of the SVGs embedded into core visuals. I’ll explain why the colors on the above charts are not exactly green and red (they are more like green-blue and orangish). I’ll also cover how to make the SVGs compatible with high contrast mode (Left Alt + Left Shift + PrtSc on Windows). Additionally, I’ll explain how to add alt text and make the SVG charts compatible with screen readers. I’ve already made a few posts on this subject on LinkedIn, but the plan is to compile everything into an article on this website.
“IBCS? It looks weird and confusing”
The charts based on IBCS notation may initially look confusing, just like sheet music or circuit diagrams to someone who has never learned the notation. The purpose of unified notation is to convey complex data faster and with fewer errors in a way that requires some learning at first, but ultimately makes the information easy to understand internationally, in any country, company, or department.
If it takes a user a few minutes to read a legend on each new dashboard, they’re probably not the best dashboards. If it takes a user a few minutes to learn unified notation that will then be used in multiple reports within an organization (and then between organizations and internationally), and it becomes easier to understand any reports, it’s a well-working standard. That’s why ISO 24896 is already under development.
Is it just about visual notation?
No, implementing IBCS in your organization is more than just starting to use IBCS-styled charts. To better understand IBCS, start by reading the standards (IBCS version 1.2), and I recommend reading the following book:
