Skip to main content

Power BI

Under Review

Visual calculation user defined functions (with SVG support)

Vote (25) Share
Andrzej Leszkiewicz's profile image

Andrzej Leszkiewicz on 13 Sep 2024 19:50:46

Imagine there is a place (like I did using the calculation groups), where you can create a DAX based user defined function that generates a certain type of SVG visualization.


Now you can add visual level calculation like SVG_Variance = UDF_SVG_VARINCE([Sales],[Previous Sales],[Total Sales]) and get #IBCS-styled SVG as the output.


Or any other SVG. Easy to reuse in any table/matrix visual, just call the function. Easy to customize, just edit the function definition. Incredible performance (it's a visual calculation, the dataset size doesn't matter anymore).

Jeroen ter Heerdt (administrator) on 16 Sep 2024 11:27:59

Hi all, we are currently reviewing this idea. Stay tuned!

Comments (4)
Andrzej Leszkiewicz's profile image Profile Picture

Kieran Leigh on 20 Sep 2024 15:22:50

RE: Visual calculation user defined functions (with SVG support)

I have some SVG columns in my report. They do seem inefficient, having to store a lot of SVG in the model.One trick I do is generating a bar per-row, then having a measure which combines the bars together into a single visual. This gives two presentations of the data (a single bar or several bars together) based on context. Therefore, being able to compose these functions towards a full SVG is important.In one report, I had a matrix with completely custom SVG cells. I was never happy with it. I wanted to customise the total cells to give overall values for the appropriate context (row, column, matrix) but combined with field parameters it didn't ever work. It seems visual calcs give an easier path to detecting total context, so combined with parameter support in visual calcs, this would provide a path to this kind of visual.

Andrzej Leszkiewicz's profile image Profile Picture

Andrzej Leszkiewicz on 16 Sep 2024 08:37:46

RE: Visual calculation user defined functions (with SVG support)

VIDEO Imagine you can do this: https://www.dropbox.com/scl/fi/6hlegg26bjg3atygs6jzt/PBIDesktop_dyxVyjg3MA.mp4?rlkey=9z7c9gaeky65v5lt3ktv6vrka&dl=0

Andrzej Leszkiewicz's profile image Profile Picture

Andrzej Leszkiewicz on 14 Sep 2024 15:44:06

RE: Visual calculation user defined functions (with SVG support)

A bit more details about the idea.Now, to a visualization in a matrix visual and to avoid code duplication in every visual in a report I use a calculation group to generate SVG images. To configure the solution I have to edit multiple calculation group items to define what fields and measures will be used in different visuals (based on a measure name).The idea is to be able define a custom visual calculations function (something like a measure with parameters) instead.Then you will write a visual calculation:New Column = UDF_SVG_ABSOLUTE_VALUES ([Sales], PREVIOUS ([Sales])[Sales] and previous year [Sales] parameters will be passed into the function to generate SVG code of the chart with of two columns: black for [Sales] and grey for previous year [Sales].So the result of UDF_SVG_ABSOLUTE_VALUES ([Sales], PREVIOUS ([Sales]) function is what you see in column AC,PY on the image. Similar approach (just different user defined functions with different parameters to generate 2 other columns with charts).The code of the user defined function will be simple: it's just about converting input parameters (sales in the example) into the SVG rectangles.Also you'll be able to make custom functions that generate any SVGs you want.

Andrzej Leszkiewicz's profile image Profile Picture

Joao Campanico on 14 Sep 2024 10:39:57

RE: Visual calculation user defined functions (with SVG support)

Great 👍 full support on that