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 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 ,
Thank you for taking time and sharing what worked for you. This will help others who are following this thread in finding solution quickly.
Please continue using Fabric Community for further queries.
Best Regards,
Community Support Team.