Forum Discussion
Anonymous
8 years agoNot applicable
Tricky Slicer Situation
I have a table that looks something like this: A company can have 2 managers. They can be the same person, have only one manager, or mix and match managers. I'm currently stuck in a situa...
- 8 years ago
Hi Anonymous
There are two approaches I can think of:
- In the query editor,
- add an index column to your original fact table
- right click on the original query and click reference
- from the new query, remove all other columns except the index and managers column
- select index column, right click and click unpivot other columns
- load the new new and old queries into the model
- create a bidrectional relationship between the two tables in your model with index as the relationship key
- use the values column from the new table in the slicer
- Using DAX
- create a disconnected calculated table which is the union of managers column (disonnected = must have no relationship with your fact table)
ManagersTable = VAR M1 = SELECTCOLUMNS ( Table, "Manager", Table[Manager1] ) VAR M2 = SELECTCOLUMNS ( Table, "Manager", Table[Manager2] ) RETURN UNION ( M1, M2 ) - create a measure to be used as a visual filter
ManagerFilter = VAR Manager = SELECTEDVALUE ( ManagersTable[Manager] ) RETURN IF ( ISFILTERED ( ManagersTable[Manager] ), CALCULATE ( COUNTA ( Table[Name] ), Table[Manger1] = Manager ) + CALCULATE ( COUNTA ( Table[Name] ), Table[Manger2] = Manager ), 1 //return 1 if no item in ManagersTable[Manager] column is selected
) - use the manager column from the calculated table in the slicer
- create a disconnected calculated table which is the union of managers column (disonnected = must have no relationship with your fact table)
- In the query editor,
msornakumar
8 years agoAdvocate III
Hi,
Can you please try the below approach of creating two measures instead of two tables ? From my testing it gives proper results as expected. Not sure it will cater all your scenarios. Please let us know.
Relationship
Revenue Manager1 = CALCULATE(SUM(Data[Revenue])) Revenue manager2 = CALCULATE(SUM(Data[Revenue]),USERELATIONSHIP(Manager[Manager],Data[Manager2]) ) Total Revenue = if(ISBLANK([Revenue Manager1]),[Revenue manager2],[Revenue Manager1])