I have a dashboard in PowerBI Desktop that is using the Sankey diagram visualization. The graphic uses a calculated column on the left side, a calculated column on the right side, and a measure to populate the "flows" between each section of each side. The graphic looks great, and if i click on the flows in the middle, it does a great job of crossfiltering a neighboring bar chart.
The problem is, when I click on one of the segments on the far right, or the far left, the crossfiltering stops working and I get a display error in the neighboring bar chart. I've seen the videos about the sankey diagram - you are supposed to be able to slice using your left and right categories. When I get the details of the error, there is the following language: "The DataShape 'DS0' filters a measure 'M0' using a filter of multiple sets of multiple field comparisons. Measures are not allowed with complex slicers unless they have a filter context change."
I have the related relationships going in both directions, so that doesn't seem to be the problem.
I'm guessing that using a relatively simple Calculate measure falls short of what is needed for the full crossfilter functionality. I realize there all sorts of options out there to enrich the row/filter context. Calculatetable, Summarize, Crossjoin, Keepfilters, etc. The problem is, I have no idea which of these approaches is relevant for rewriting my measure with the two related columns.
Any suggestions or pointers on which way to go to address this in Dax?
Thanks,
Mark
<body id="************" style="position: absolute; top: 0px; width: 1px; height: 1px; overflow: hidden; left: -1000px;">The DataShape 'DS0' filters a measure 'M0' using a filter of multiple sets of multiple field comparisons. Measures are not allowed with complex slicers unless they have a filter context change.The DataShape 'DS0' filters a measure 'M0' using a filter of multiple sets of multiple field comparisons. Measures are not allowed with complex slicers unless they have a filter context change.VThe DataShape 'DS0' filters a measure 'M0' using a filter of multiple sets of multiple field comparisons. Measures are not allowed with complex slicers unless they have a filter context change.The DataShape 'DS0' filters a measure 'M0' using a filter of multiple sets of multiple field comparisons. Measures are not allowed with complex slicers unless they have a filter context change.</body>
The problem is, when I click on one of the segments on the far right, or the far left, the crossfiltering stops working and I get a display error in the neighboring bar chart. I've seen the videos about the sankey diagram - you are supposed to be able to slice using your left and right categories. When I get the details of the error, there is the following language: "The DataShape 'DS0' filters a measure 'M0' using a filter of multiple sets of multiple field comparisons. Measures are not allowed with complex slicers unless they have a filter context change."
I have the related relationships going in both directions, so that doesn't seem to be the problem.
I'm guessing that using a relatively simple Calculate measure falls short of what is needed for the full crossfilter functionality. I realize there all sorts of options out there to enrich the row/filter context. Calculatetable, Summarize, Crossjoin, Keepfilters, etc. The problem is, I have no idea which of these approaches is relevant for rewriting my measure with the two related columns.
Any suggestions or pointers on which way to go to address this in Dax?
Thanks,
Mark
<body id="************" style="position: absolute; top: 0px; width: 1px; height: 1px; overflow: hidden; left: -1000px;">The DataShape 'DS0' filters a measure 'M0' using a filter of multiple sets of multiple field comparisons. Measures are not allowed with complex slicers unless they have a filter context change.The DataShape 'DS0' filters a measure 'M0' using a filter of multiple sets of multiple field comparisons. Measures are not allowed with complex slicers unless they have a filter context change.VThe DataShape 'DS0' filters a measure 'M0' using a filter of multiple sets of multiple field comparisons. Measures are not allowed with complex slicers unless they have a filter context change.The DataShape 'DS0' filters a measure 'M0' using a filter of multiple sets of multiple field comparisons. Measures are not allowed with complex slicers unless they have a filter context change.</body>