<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>Visual Calculations Gallery topics</title>
    <link>https://community.fabric.microsoft.com/t5/Visual-Calculations-Gallery/bd-p/pbi_viscalcsgallery</link>
    <description>Visual Calculations Gallery topics</description>
    <pubDate>Thu, 01 Oct 2026 18:27:54 GMT</pubDate>
    <dc:creator>pbi_viscalcsgallery</dc:creator>
    <dc:date>2026-10-01T18:27:54Z</dc:date>
    <item>
      <title>Unlimited Visuals in one chart</title>
      <link>https://community.fabric.microsoft.com/t5/Visual-Calculations-Gallery/Unlimited-Visuals-in-one-chart/m-p/4882035#M12</link>
      <description>&lt;img /&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Here’s the short “recipe” you can reuse to get unlimited visuals inside one chart.&lt;/P&gt;&lt;P&gt;Define patterns, not visuals:&lt;BR /&gt;-Create a small Selection table with one row per pattern: Selection ID and Selection Name (e.g. “Sales Drivers (2 bars + 2 lines)”, “Profit Engine”, “Pattern 27”, etc.).&lt;BR /&gt;-Use this table as a slicer.&lt;/P&gt;&lt;P&gt;Fix your KPI set&lt;BR /&gt;-Decide a finite set of base KPIs (Sales, Cost, Profit, Units, Products, etc.).&lt;BR /&gt;-Create normal measures for each KPI.&lt;/P&gt;&lt;P&gt;-Create “router” Visual Calculations&lt;BR /&gt;-For each KPI and for each role (Bar or Line), create one Visual Calculation that simply says:&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;IF( SelectedID is in the list of patterns where this KPI should appear in this role, then show the KPI, otherwise BLANK ).&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;Example:&lt;BR /&gt;VC Sales (Bar) = IF( SelectedID IN {1,4,6}, [Total Sales], BLANK() )&lt;/P&gt;&lt;P&gt;-Wire the visual once&lt;BR /&gt;-Put all Bar VCs in the Column Y-axis.&lt;BR /&gt;-Put all Line VCs in the Line Y-axis.&lt;BR /&gt;-You never touch the axes again.&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;To add a new visual pattern later&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;Add one row to the Selection table.&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;Update the IN {…} lists in the affected Visual Calculations.&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;Result&lt;BR /&gt;One combo chart that can morph into &lt;STRONG&gt;any number of visual layouts&lt;/STRONG&gt; (6, 20, 60, 100+) just by changing the selection.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 28 Sep 2026 13:01:54 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Visual-Calculations-Gallery/Unlimited-Visuals-in-one-chart/m-p/4882035#M12</guid>
      <dc:creator>gopy6243</dc:creator>
      <dc:date>2026-09-28T13:01:54Z</dc:date>
    </item>
    <item>
      <title>Universal Composite KPI : Weighted &amp; Normalized Scoring Using Visual Calculations Only</title>
      <link>https://community.fabric.microsoft.com/t5/Visual-Calculations-Gallery/Universal-Composite-KPI-Weighted-Normalized-Scoring-Using-Visual/m-p/4879769#M10</link>
      <description>&lt;img /&gt;&lt;H1&gt;&amp;nbsp;&lt;/H1&gt;&lt;H1&gt;&lt;STRONG&gt;Universal Composite KPI : Weighted &amp;amp; Normalized Scoring Using Visual Calculations Only&lt;/STRONG&gt;&lt;/H1&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This pattern creates a base solution for &lt;STRONG&gt;Composite KPI Score&lt;/STRONG&gt; by normalizing multiple KPIs to a 0–1 scale and applying user-defined weights via What-If parameters(numeric field parameters). The result is a single, comparable performance indicator that works across different KPI types and units, fully powered by &lt;STRONG&gt;Visual Calculations&lt;/STRONG&gt;.&lt;/P&gt;&lt;HR /&gt;&lt;H2&gt;&lt;STRONG&gt;&amp;nbsp;Concept Overview&lt;/STRONG&gt;&lt;/H2&gt;&lt;P&gt;Because KPIs have different scales (money, percentages, counts), each KPI is first normalized, then multiplied by a weight.&lt;BR /&gt;The final composite score is a weighted sum of all normalized KPIs.&lt;/P&gt;&lt;HR /&gt;&lt;H2&gt;&lt;STRONG&gt;&amp;nbsp;Normalization Formula&lt;/STRONG&gt;&lt;/H2&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;1. Min–Max Normalization (Higher Is Better)&lt;/STRONG&gt;&lt;/P&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;img /&gt;&lt;P&gt;This method maps all values into the range &lt;STRONG&gt;0 to 1&lt;/STRONG&gt;, where 0 is the minimum and 1 is the maximum:&lt;/P&gt;&lt;P&gt;Use this when &lt;STRONG&gt;higher values represent better performance&lt;/STRONG&gt; (e.g., Sales, Orders, Margin, CSAT).&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;2. Min–Max Normalization (Lower Is Better)&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Some KPIs—such as &lt;STRONG&gt;Total Cost, Defects, Error Rate, or Response Time&lt;/STRONG&gt;—improve when the value is &lt;EM&gt;lower&lt;/EM&gt;.&lt;BR /&gt;In these cases, the formula must be &lt;STRONG&gt;inverted&lt;/STRONG&gt; so that the lowest value receives the highest normalized score:&lt;/P&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;img /&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This keeps everything in the same &lt;STRONG&gt;0–1 range&lt;/STRONG&gt;, while correctly rewarding lower values.&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;3. Z-Score Normalization (Standardization) &amp;nbsp;&lt;/STRONG&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Alternatively, you can normalize using Z-scores, which measure how far a value is from the mean:&lt;/P&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;img /&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Z-scores:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Are centered around &lt;STRONG&gt;0&lt;/STRONG&gt;&lt;/LI&gt;&lt;LI&gt;Can be &lt;STRONG&gt;negative or greater than 1&lt;/STRONG&gt;&lt;/LI&gt;&lt;LI&gt;Are useful when you care about &lt;STRONG&gt;distance from average&lt;/STRONG&gt;, not just min/max boundaries&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;For KPIs where &lt;EM&gt;lower is better&lt;/EM&gt;, you simply invert the sign:&lt;/P&gt;&lt;img /&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;example code is provided for Z normalization in the file but not used in the composition&lt;/P&gt;&lt;H2&gt;&lt;STRONG&gt;&amp;nbsp;Composite Score Formula&lt;/STRONG&gt;&lt;/H2&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;img /&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;H2&gt;&lt;STRONG&gt;&amp;nbsp;Visual Calculation Functions Used&lt;/STRONG&gt;&lt;/H2&gt;&lt;UL&gt;&lt;LI&gt;&lt;STRONG&gt;FIRST()&lt;/STRONG&gt;&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;ORDERBY()&lt;/STRONG&gt;&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;DIVIDE()&lt;/STRONG&gt;&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;Basic arithmetic operations&lt;/STRONG&gt; (multiplication, addition)&lt;/LI&gt;&lt;/UL&gt;&lt;HR /&gt;&lt;H2&gt;&lt;STRONG&gt;&amp;nbsp;Pros&lt;/STRONG&gt;&lt;/H2&gt;&lt;UL&gt;&lt;LI&gt;Fair comparison across KPIs with different units&lt;/LI&gt;&lt;LI&gt;User-controlled weight influence&lt;/LI&gt;&lt;LI&gt;Fully dynamic within the visual&lt;/LI&gt;&lt;LI&gt;100% implemented using Visual Calculations&lt;/LI&gt;&lt;/UL&gt;&lt;HR /&gt;&lt;H2&gt;&lt;STRONG&gt;&amp;nbsp;Cons&lt;/STRONG&gt;&lt;/H2&gt;&lt;UL&gt;&lt;LI&gt;You must &lt;STRONG&gt;repeat the normalization pattern for each KPI&lt;/STRONG&gt; you want to include.&lt;/LI&gt;&lt;LI&gt;Each added KPI requires creating a new normalization VC (unless automated in a future pattern).&lt;/LI&gt;&lt;/UL&gt;</description>
      <pubDate>Tue, 29 Sep 2026 07:21:43 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Visual-Calculations-Gallery/Universal-Composite-KPI-Weighted-Normalized-Scoring-Using-Visual/m-p/4879769#M10</guid>
      <dc:creator>gopy6243</dc:creator>
      <dc:date>2026-09-29T07:21:43Z</dc:date>
    </item>
    <item>
      <title>Table (matrix) with TopN and others</title>
      <link>https://community.fabric.microsoft.com/t5/Visual-Calculations-Gallery/Table-matrix-with-TopN-and-others/m-p/4827378#M8</link>
      <description>&lt;P&gt;This one is a bit tricky but solves a common wish of showing af table with the Top number of x plus others.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;There are several tricks involved in this one - first we use a matrix and add the numeric fieldparameter value to the rows and then the attribute we want to group the items by - hide the +/- icon and then we use different visual calculations to show the attributes value if is matches the rank number of the product.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Visual calculation functions used:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;EXPAND&lt;/P&gt;&lt;P&gt;RANK&lt;/P&gt;&lt;P&gt;ISINSCOPE&lt;BR /&gt;RUNNINGSUM&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;A large dataset will affect the performance and you might want to consider alternatives&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Enjoy visual calcs&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Erik&lt;/P&gt;</description>
      <pubDate>Tue, 16 Sep 2025 10:46:28 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Visual-Calculations-Gallery/Table-matrix-with-TopN-and-others/m-p/4827378#M8</guid>
      <dc:creator>donsvensen</dc:creator>
      <dc:date>2025-09-16T10:46:28Z</dc:date>
    </item>
    <item>
      <title>Matrix box plot</title>
      <link>https://community.fabric.microsoft.com/t5/Visual-Calculations-Gallery/Matrix-box-plot/m-p/4827307#M7</link>
      <description>&lt;P&gt;In this item I am using a different visual calculations to at the end construct a text string based on unichar's so it looks like a box plot.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;In this way we can simulate a vertical box plot in a table where the sorting features of a table could be relevant.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This might also inspire you to use a unichar text string to illustrate other elements - for instance a gantt chart&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Enjoy visual calc's&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Erik&lt;/P&gt;</description>
      <pubDate>Tue, 16 Sep 2025 09:36:27 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Visual-Calculations-Gallery/Matrix-box-plot/m-p/4827307#M7</guid>
      <dc:creator>donsvensen</dc:creator>
      <dc:date>2025-09-16T09:36:27Z</dc:date>
    </item>
    <item>
      <title>Boxplot</title>
      <link>https://community.fabric.microsoft.com/t5/Visual-Calculations-Gallery/Boxplot/m-p/4827141#M6</link>
      <description>&lt;P&gt;This one uses visual calculations to create a box plot within a line and stacked column chart.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The box plot grouping is determined by a field parameter so it is very dynamic.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The main trick is to add the value to plot to the x-axis fields under the grouping and then the visual will contain all the necessary data to calculate the values for the box plot values.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If you dataset is large there might be a performance issue.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Have fun with the vc's&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Erik&amp;nbsp;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 16 Sep 2025 06:49:56 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Visual-Calculations-Gallery/Boxplot/m-p/4827141#M6</guid>
      <dc:creator>donsvensen</dc:creator>
      <dc:date>2025-09-16T06:49:56Z</dc:date>
    </item>
    <item>
      <title>Switch between line and column chart</title>
      <link>https://community.fabric.microsoft.com/t5/Visual-Calculations-Gallery/Switch-between-line-and-column-chart/m-p/4826034#M5</link>
      <description>&lt;P&gt;This one uses two visual calculations to plot the fact either as the column value or as the line value to enable a switch between a column or a line chart.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Its controlled by a numeric field parameter - with the values 0 and 1 - and then the slicer uses a custom number format to show the values as "Line" or "Chart".&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The value of the field parameter is added to the tooltip section of the chart and can then be uses in the VC's to return the value or blank depending on they choose line or chart.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Have VC fun&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Erik&lt;/P&gt;</description>
      <pubDate>Mon, 15 Sep 2025 08:16:27 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Visual-Calculations-Gallery/Switch-between-line-and-column-chart/m-p/4826034#M5</guid>
      <dc:creator>donsvensen</dc:creator>
      <dc:date>2025-09-15T08:16:27Z</dc:date>
    </item>
    <item>
      <title>Simple pareto</title>
      <link>https://community.fabric.microsoft.com/t5/Visual-Calculations-Gallery/Simple-pareto/m-p/4807821#M4</link>
      <description>&lt;P&gt;Here is a simple version of a pareto chart where you can modify the limit via a numeric field parameter.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The function used is RUNNINGSUM plus LOOKUPWITHTOTALS&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Enjoy VC's&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Erik Svensen&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 26 Aug 2025 08:31:52 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Visual-Calculations-Gallery/Simple-pareto/m-p/4807821#M4</guid>
      <dc:creator>donsvensen</dc:creator>
      <dc:date>2025-08-26T08:31:52Z</dc:date>
    </item>
    <item>
      <title>Highlight min and max</title>
      <link>https://community.fabric.microsoft.com/t5/Visual-Calculations-Gallery/Highlight-min-and-max/m-p/4807785#M3</link>
      <description>&lt;P&gt;This one uses the RANK function to find the highest value and lowest value and then calculates a color code if the rank = 1 and when its equal to the number of rows in the visuals data.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;An alternative to use the RANK function is to use the MINX and MAXX to find out whether the the Sales Value is equal to those values.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Remember to set the data format to text for the color calculations&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Have VC fun&lt;/P&gt;&lt;P&gt;Erik&lt;/P&gt;</description>
      <pubDate>Tue, 26 Aug 2025 08:04:38 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Visual-Calculations-Gallery/Highlight-min-and-max/m-p/4807785#M3</guid>
      <dc:creator>donsvensen</dc:creator>
      <dc:date>2025-08-26T08:04:38Z</dc:date>
    </item>
    <item>
      <title>TopN and Others plus dynamic title</title>
      <link>https://community.fabric.microsoft.com/t5/Visual-Calculations-Gallery/TopN-and-Others-plus-dynamic-title/m-p/4803333#M2</link>
      <description>&lt;P&gt;This report shows you how you can use visual calculations together with field paramters to highlight x no of items in your bar chart.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;It will also use visual calculations to generate a dynamic text that can be used as a subtitle in the visual to add context of what is highlighted and the share of totals.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Uses:&lt;BR /&gt;RANK&lt;/P&gt;&lt;P&gt;EXPAND&lt;BR /&gt;&lt;BR /&gt;@&lt;/P&gt;</description>
      <pubDate>Thu, 21 Aug 2025 08:35:18 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Visual-Calculations-Gallery/TopN-and-Others-plus-dynamic-title/m-p/4803333#M2</guid>
      <dc:creator>donsvensen</dc:creator>
      <dc:date>2025-08-21T08:35:18Z</dc:date>
    </item>
  </channel>
</rss>

