When you have a generic metric and you place a dimension on it to filter it, it's going to apply that to every part of the metric. For example, with conversion rate, I have the example here of putting conversion rate against page names (having it on the side will do the same as if you were to put it above/below the metric). My conversion rate is orders/visits. If you look at the columns with the order and visit count, divide those and you will get the percents seen in the third column.
The alternative is to make a custom metric for the specific page you're interested in. In this example, I'm using the home page as my page of interest. If we want to know how many people that saw the home page placed an order, we would need a visit level segment. Then we put that around our metric. The reason this is going to produce a different result is because when you're using just the dimension (or even a hit level segment), it's insisting that the dimension was present and got credit for both metrics. But at a visit level, it's just saying that this dimension has to be present in the same visit as the metric.
Adding our new metric to the table from before, and adding a column with the segment just on orders we can see how it's calculated now. It's going to take the number of orders in the same visit as a home page (3.6k) divided by visits with home page (27k) to get our 13%. Now, if you look at the home page row in that last column, that still says 0, because again the dimension is trying to insist that it is present for both metrics.
Alternatively, if you don't want to build the segment into the metric, you can just make a visit level segment and drop that over top of your conversion rate metric and it'll have the same result. The key is to have the segment at a visit level.