Long story short if you use the filter panel to filter a slicer (i.e you want to restrict the options for your user or you are creating multiple reports over the same dataset for different users) it only visually filters out the slicer values. So if you have "select all" enabled and the user selects this option it will ignore the applied filter and end up selecting all values including what you meant to hide/ restric from the user. So, ok. the first thought is to disable "select all" from the slicer. However the logic of select all and none selected in the end ends up being the same(i know the code is different but the effect is the same), so when a user clears the slicer it ends up selecting all values anyway (including the hidden ones) and that is a huge issue.
In the aforementioned cases MS stated that the feature is behaving "as designed" (Bad design IMHO will show examples) I've read a bunch of the PBI documentation and the only mention I found was on this page
And it only states in half a paragraph that " When you do this (apply a filter to a slicer) it only affects the values that are shown in the slicer, not the filter that the slicer applies to other visuals when you make a selection." However it does not mention that select all will behave this way (it is implicit I know ) but even more troublesome is the fact that none selected also behaves this way.
And this is extremelly misleading, from the user standpoint if the designer has filtered out a selection from a slicer the user would only be able to see a some of the values because the designer did not want them to see all values or check out values that aren't important to them (Lets not talk about RLS, let's assume the user can see all info however the take care of a specific category of products for instance). So why would the slicer behave in a way that allows the user unbeknownst to them select even values that are not shown in the slicer. For instance, a cleared slicer shows (default behavior is to sellect all values)
So the user would expand the slicer to see what "all" means and see only two values so it is natural to assume all = company A + company B
However since the other values have been filtered by the designer all really means Company A to F
The client slicer is filtered using the filter panel in order to only shown companies A and B as shown before, however when "select all " is selected or when the slicer is cleared it ends up showing all six values instead of just the 2 shown
When it naturally should be
One way to "adapt" the behaviour to be as expected is to apply to the whole page instead of just the slicer, but since that affects all visuals, if we have mixed information (info that we do not want to be filtered such as "all brands total" in the example) in a given visual, the values would be affected as well so it would cause other issues in the visual, we could then fix this by modifying the DAX (using all() or remove filters()) in order to ignore said filters however whe would have to keep creating exceptions in order for a measure to work in a given visual, and if in more complex models we had multiple filters applied to multiple slicers it would be a mess to fix in dax and to mantain over the time when introducing new visuals to the report. To illustrate this in the same .pbix file there is a second page.
So I believe it is only natural if a filtered slicer behaved the aforementioned way or AT LEAST ther should be a huge warning (like enabling bidirectional relationships has) telling designers that it behaves this unexpected way and removing the "ALL" statement when a filtered slicer is cleared, or not gicng the option to select all when a slicer is filterd using the filter visual pane.