Forum Discussion
EBIT Financial Bridge - Dynamic Start and End
- 4 months ago
Hi v-veshwara-msft ,
I've taken some of the above and come up with the following solution that works for what I need:
I start by creating a table that contains a list of the dynamic start steps from my Base Comparison I need along with the various bridge steps from my Base Variance. I exclude the final dynamic step as the Total column will automatically calculated the Base Metric value I need between the Comparison and Variance:
CT: EBIT Bridge = VAR BaseCompList = VALUES ( 'P_Scenario Comparison'[Scenario Comparison] ) RETURN GENERATE ( BaseCompList, DATATABLE ( "Step Order", INTEGER, "Step Name", STRING, { { 1, "Base Comparison" }, { 2, "Total Revenue" }, { 3, "Total Expenses" }, { 4, "Depreciation & Amortisation" } } ) )Then I create a calculated column that will be used in the Category well of the Waterfall chart and will show the dynamic label for the first step:
Step Label = IF ( 'CT: EBIT Bridge'[Step Order] = 1, 'CT: EBIT Bridge'[Scenario Comparison], 'CT: EBIT Bridge'[Step Name] )After that, I create the measure for my Y-Axis:
EBIT Bridge Values = VAR StepNo = SELECTEDVALUE ( 'CT: EBIT Bridge'[Step Order] ) VAR SelectedScenario = SELECTEDVALUE ( 'P_Scenario Comparison'[Scenario Comparison] ) VAR RowScenario = SELECTEDVALUE ( 'CT: EBIT Bridge'[Scenario Comparison] ) RETURN SWITCH ( TRUE (), // Step 1: only show value when the row scenario matches the slicer selection StepNo = 1 && RowScenario = SelectedScenario, [Financial Base Comparison], StepNo = 1 && RowScenario <> SelectedScenario, BLANK(), // Other steps (your existing logic) StepNo = 2, CALCULATE ( [Financial Base Variance], D_Account[Level 10 Account Group] = "Total Revenue" ), StepNo = 3, CALCULATE ( [Financial Base Variance], D_Account[Level 10 Account Group] = "Total Expenses" ), StepNo = 4, CALCULATE ( [Financial Base Variance], D_Account[Level 10 Account Group] = "Depreciation & Amortisation" ), BLANK() )This seems to do the trick. I may need to double check the value in my starting value as it may be double counting, but I need to check on that.
The final piece would be to have a dynamic Mix and Max axis. But that's for another thread.
Hi MJ_Holland
This can be done using the native waterfall chart. It requires a few measures and some helper tables. In the example below, three additional tables are used: one listing all measure names to act as the start and end points, and two more tables that control which measure is visible as the start and end points.
The measure below is used as the value. Of course, what I used are just dummies!
Waterfall Measure =
VAR _value =
SWITCH (
SELECTEDVALUE ( WaterfallDim[Sort] ),
1, [Total Revenue] * 1.1,
2, [Total Revenue] * .9,
3, [Total Revenue] * 1.15,
4, [Total Revenue]
)
VAR _filters =
UNION (
DISTINCT ( WaterfallDimStart[Start] ),
DISTINCT ( WaterfallDimEnd[End] )
)
RETURN
IF ( SELECTEDVALUE ( WaterfallDim[Value] ) IN _filters, _value )
Please see the attached pbix.
Hi danextian ,
Thanks for this. I think I'd like a solution that doesn't need to have 3 separate tables to set this up. Also, with your set up the steps are the different parameter options for Comparison and Metric, there's no Variance. But I think I see I would replace the Start and End steps with measures for the Variance, similiar to the solution suggested by rohit1991 .