Forum Discussion
Matrix with extra forumulas - how do you do this ??
- 5 years ago
With this model:
Structure table
and these measures:
Sum Amount = SUM(Transactions[Amount])Sum Margin = CALCULATE ( SUM ( Transactions[Amount] ), 'Structure'[Order] IN { 1, 2 }, ALL ( 'Structure' ) )Sum Total Costs = CALCULATE ( SUM ( Transactions[Amount] ), FILTER ( ALL ( 'Structure' ), 'Structure'[Order] > 2 && 'Structure'[Order] < 11 ), ALL ( 'Structure' ) )Sum Operating Result = CALCULATE ( [Sum Total Costs] + [Sum Margin], ALL ( 'Structure' ) )EBITDA = VAR FinInEx = CALCULATE([Sum Amount], 'Structure'[Order] = 13, ALL('Structure')) RETURN [Sum Operating Result] + FinInExand the final measure for the visual:
Amount = SWITCH ( SELECTEDVALUE ( 'Structure'[Order] ), 3, [Sum Margin], 11, [Sum Total Costs], 12, [Sum Operating Result], 14, [EBITDA], [Sum Amount] )You get the following:
I've attached the sample PBIX file
- 5 years ago
Hi Paul, This looks very nice and is exactly what i searching for, thxs a lot !!!!
- 5 years ago
Ok, so you have a couple of options which are basically aesthetically driven choices. You can either have the following:
Using...
diff € vs. Last Year = IF ( SELECTEDVALUE ( 'Date'[Year] ) = YEAR ( TODAY () ), [Amount] - CALCULATE ( [Amount], DATEADD ( 'Date'[Date], -1, YEAR ) ) )% diff vs Prev year = DIVIDE ( [diff € vs. Last Year], CALCULATE ( [Amount], DATEADD ( 'Date'[Date], -1, YEAR ) ) )But this invloves hacking the matrix visual to hide the irrelevant columns and turning off "word wrap" in the column formatting options and dragging the column boundaries...
or you can create this:
using...
This Year = CALCULATE([Amount], 'Date'[Year] = YEAR(TODAY()))Last Year = CALCULATE([Amount], 'Date'[Year] = YEAR(TODAY())-1)Diff vs last year = [This Year] - [Last Year]% diff vs last year = DIVIDE([Diff vs last year], [Last Year])But as you can see the column headings are not dynamic ("This Year" & "Last Year")
So it is really up to you...
I've attached the sample PBIX file.
To build the structure you need a table with all the rows. If that is not possible at the source, you can create the structure in Excel and import it or paste it into a table using "Enter data"(including a sorting order column) or you can create a new table by using the equivalent of the following as code for a new table option in the ribbon:
all rows =
VAR _ExtraRows = {"NewRow1", "NewRow2", "NewRow3", "NewRow4"}
RETURN
UNION( DISTINCT('YourCurrent'[rows]), _ExtraRows)
In the new table you will then need to establish the row order using a SWITCH function in a new calculated column. . You can then sort the row column using the "Sort column by" in the ribbon and selecting the order column.
If you are still stuck, please share a sample PBIX file
Hi Paul, Teh structure is clear, but in what way can i add formulas to this structure? As the excel example.
I can't upload here (no upload function i quess in my account) , but i share this pbix via onedrive:
- PaulDBrown5 years ago
Community Champion
With this model:
Structure table
and these measures:
Sum Amount = SUM(Transactions[Amount])Sum Margin = CALCULATE ( SUM ( Transactions[Amount] ), 'Structure'[Order] IN { 1, 2 }, ALL ( 'Structure' ) )Sum Total Costs = CALCULATE ( SUM ( Transactions[Amount] ), FILTER ( ALL ( 'Structure' ), 'Structure'[Order] > 2 && 'Structure'[Order] < 11 ), ALL ( 'Structure' ) )Sum Operating Result = CALCULATE ( [Sum Total Costs] + [Sum Margin], ALL ( 'Structure' ) )EBITDA = VAR FinInEx = CALCULATE([Sum Amount], 'Structure'[Order] = 13, ALL('Structure')) RETURN [Sum Operating Result] + FinInExand the final measure for the visual:
Amount = SWITCH ( SELECTEDVALUE ( 'Structure'[Order] ), 3, [Sum Margin], 11, [Sum Total Costs], 12, [Sum Operating Result], 14, [EBITDA], [Sum Amount] )You get the following:
I've attached the sample PBIX file