Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started

Reply
ldacey
Advocate I
Advocate I

Synchronizing the secondary y-axis with the primary axis

I created a Bar+Line graph with the bar on the primary axis and the line on the secondary axis. 

 

I am displaying the actual metric on the primary y-axis and the forecasted metric on the secondary y-axis. How can I force the secondary axis to be synchronized with the primary?

 

My issue is that when I drill down into a dimension, the actual performance might show a value like 10, but then the forecasted line graph might be at 15 but it would display lower than the actual value. The cause of this is that the secondary y-axis is scaled differently so it throws out any intuition of actual vs forecast that you would get from glancing at the chart.

21 REPLIES 21
sjauck
Regular Visitor

Set the minimum and maximum range for both Y and secondary-Y axis to be the same.  

isaacsa
Advocate I
Advocate I

Go to > Format Visuals > Visual > Secondary y-axis >  Turn "On" Values > Then Turn "Off" Values

This is ridiculous - this issue needs to be fixed!  This function is a single click in Tableau.

what...what is this sorcery?

mrlutton
Advocate II
Advocate II

There is no option to "Align Zeroes" as far as I can tell in the most recent version of PBI. What am I missing? IWhy is syncrhonizing a seconday y axis so difficult?

HimanshuDutt
New Member

Go To >>Format>>Visuals>>secondary Y -axis (ensure it is on)>> Align Zeros -- this must be on.

This synchronizes the bottom of both lines, but not the top. 

One possible solution is the following, but it doesn't work proplery. 

 

Go To >>Format>>Visuals>>secondary Y -axis (ensure it is on)>> Range >> Maximum >> 'fx' >> Look for the maximum of your graph and choose.

Ebby
New Member

Reviving again because I found this thread looking for a similar solution.  The visual now has a function option for the maximum point of the Y-Axis, so I created a measure that was the Peak value (with filters) for the selected data and set the maximum point of both the primary and secondary to that Peak value measure and this solved the issue for me.  Now the axis is adaptable to the context filters, is always the same on both line and column, and always has space for the max possible entry. 

This is a way to go. You evaluate it doing something like:

MaxAxis =

MAXX(

    SUMMARIZE (

        TableContainingXAxisValues,

        TableContainingXAxisValues[XAxisValues],

        "MeasureForMax", MeasureWhichShoudDefineMaximum

    ),

    [MeasureForMax]

)
Then you go to Y-Axis format, select a formula for Maximum and pick measure MaxAxis. Same can be done for Minumum value. Repeat for the secondary Axis and the task to sync the axes is solved. This way your Max evaluation is fully dynamic and your external filter context is preserved.

There is no function peak value with filters for the selected data which automatically change the axis automatically synronized for both axis. please eloborate further.

Anonymous
Not applicable

Hey, since there is no proper solution, here is a workaround:

Drag a copy of Your “Actual metric” (the one you're showing on columns) to line values as well and use Formetting pane "Customize series" option to make it as invisible as possible not to distract. You need also have "Allign zeroes" turned on, and start and end values for axis left blank/auto.

 

I hope I helped 🙂

Hi,

Also, I need the y-axis to be exactly synchronized.

 

@Anonymous this workarount works well, but only in cases when line values are smaller then collumns values (in this case is possible add column values also to line part and hide it). But in case when line values are greater or greater/smaller than columns values, I need add line value to collumns part (and it make axis synchronized), but is not possible to hide this collumn (or I don't know how).

 

After this workaround it`s look:

 

image.png

  But I need hide third (orange) column, which is used only for this workaround). Basically I need show three values: New (as collumn), Finished (as collumn) and Pending (as line) in same y-axis scale.

Anonymous
Not applicable

Nothing better than changing the bar colour to the same as background colour is coming to my mind now.

Anonymous
Not applicable

 

Sorry to revive a dead thread but I have the same problem.  Does anyone know if this functionality has been implemented since this thread was posted or is it still impossible?  This seems like a pretty common thing people would want to do.

Baskar
Resident Rockstar
Resident Rockstar

go to format option , under  Y-Axis  u could find "Show secondary axis"  option . turn off that one it will help u 

Hi, thanks but I want to have a secondary axis.

 

My primary axis already has three components of the metric (stacked bar chart) and then the secondary axis is a line graph showing the forecasted metric. The delta between the actual performance and forecasted performance should be apparent at a glance, but it isn't when the y-scales are different.

Set the minimum 0 and maximum range by fx (formula), count, sum or .. for both Y and secondary-Y axis to be the same.  

 
Baskar
Resident Rockstar
Resident Rockstar

This is u want it ? am i right dude .

 

1.JPG

 

 

 

let me if not .

Negative. I need the y-axis to be exactly synchronized.

 

Primary y-axis = stacked bar chart showing the components of a metric (the three components sum up into a total), measured in minutes

Secondary y-axis = line graph showing the estimated/forecasted/predicted total for the same metric, measured in minutes

 

So if the primary y-axis goes from 0 - 25 minutes, I need the secondary axis to be in sync and also show 0 - 25. If I drill down into a specific dimension and the primary axis now goes from 0 - 5 minutes, I need the secondary y-axis to also go from 0 - 5.

 

 

Anonymous
Not applicable

Hi ,

Now its possible in line and clustered column chart,In formatting pane <-- Y-axis <-- put a range i.e start and end value in primary Y-axis(Optional) <-- switch off the secondary axis,its done primary and secondary Y-axis has been synchronised...

 

 

Drop a comment if it works in your case...

Cheers..

Helpful resources

Announcements
July 2024 Power BI Update

Power BI Monthly Update - July 2024

Check out the July 2024 Power BI update to learn about new features.

PBI_Carousel_NL_June

Fabric Community Update - June 2024

Get the latest Fabric updates from Build 2024, key Skills Challenge voucher deadlines, top blogs, forum posts, and product ideas.

Top Solution Authors