4
votes

I'm setting up multiple tables on a single Page in Power BI Desktop, with plans to publish to an App. I'm using SQL Server as a data source to pull the output of three different pre-established System Views. Each of the Views pulls from the same set of original database tables, but presents a distinct grouping of orders. So for example one view might return:

Order # | Requested By | Reason Declined
1       | Bob Smith    | too expensive
3       | Jim Trout    | no space
5       | Becky Bond   | not needed

and another might return:

Order # | Requested By | Number Items Approved
2       | Jim Trout    | 5
4       | Jim Trout    | 7

In short the three tables I have produced in Power BI have no overlapping "Order #" values (which is what I would otherwise use as a unique key for setting up relationships) and while there are shared columns like "Requested By" those don't contain unique values.

I created a Slicer that uses the "Requested By" column for the largest of my three tables, but I'm trying to figure out if there is any way to make that one slicer affect all three tables. Is there any way to do this?

2

2 Answers

2
votes

If you are still looking for solutions regarding this problem, I have been using Synced Segments quite successfully.

Simply go to your report, click on "View" > "Sync slicers pane"

enter image description here

You will then get a new pane showing options for syncing slicers. If you work on different datasets that have a column in common, you will want to use the "advanced options" part of the pane.

enter image description here

This advanced option is actually a way to synchronise the value of a slicer. This means that the value will be copied between the slicers of the same group. Beware of having different values in your column, that will break the data not having this value.

Source on Microsoft docs : https://docs.microsoft.com/en-us/power-bi/visuals/desktop-slicers#advanced-options-for-slicers

1
votes

Yes. What you want to do in this case is to create a separate table just for the Requested By values, create relationships from this table to each of the other three, and then use that table's column as your slicer.

Relationship Diagram

You can create this table using Modeling > New Table and use this formula:

Names = DISTINCT(
            UNION(
                VALUES(Table1[Requested By]),
                VALUES(Table2[Requested By]),
                VALUES(Table3[Requested By])
            )
        )