Forum Discussion
reporting on data in 3 different models
Ok, I come to the many for help again.
So i have the following models:
This is the initiative level, 1 of 2 top level items
Rollout level is at the same level as Initiative
These 2 levels are are linked to a higher level RMPM by parent issue key, but thats not important, as I only want to report on this level.
This is the epic level, linked to either initiative or rollout via the parent issue key
The below is the story/task model, which is linked to the epic model by Parent issue key
What i want to is display this is a matrix, i have managed to create the first part creating a hierarchy by using the related function on the epics model to collect all the parent issues into a new column, so it can go from the top level down to tasks and stories.
Now where i am having difficulty is picking up the different statuses at each level, if it was only 1 level up, i would use
So the pattern I use for hierarchies is to check the scope from the deepest level on up.
See if this makes sense to you:
Status Switch = SWITCH ( TRUE (), ISINSCOPE ( Story[Issue Key] ), SELECTEDVALUE ( Story[Status] ), ISINSCOPE ( Epic[Issue Key] ), SELECTEDVALUE ( Epic[Status] ), ISINSCOPE ( Initiative[Issue Key] ), SELECTEDVALUE ( Initiative[Status] ), ISINSCOPE ( Rollout[Issue Key] ), SELECTEDVALUE ( Rollout[Status] ) )If you aren't familiar with SWITCH ( TRUE(), ... ), I recommend reading this:
https://p3adaptive.com/2015/03/the-diabolical-genius-of-switch-true/
7 Replies
- AlexisOlsonSuper User
I don't entirely follow what you're asking but when dealing with hierarchy aggregations, I find ISINSCOPE to be a useful function.
More detail here:
https://www.sqlbi.com/articles/distinguishing-hasonevalue-from-isinscope/
- AnonymousNot applicable
I want the matrix to eventually look like this:
Now I can do it using the formula above, if there is only one layer, but need to work out how to do it another way, if anyone can show me how to use isinscope, i will read the link, but i'm not great at powerbi yet.
- AlexisOlsonSuper User
So the pattern I use for hierarchies is to check the scope from the deepest level on up.
See if this makes sense to you:
Status Switch = SWITCH ( TRUE (), ISINSCOPE ( Story[Issue Key] ), SELECTEDVALUE ( Story[Status] ), ISINSCOPE ( Epic[Issue Key] ), SELECTEDVALUE ( Epic[Status] ), ISINSCOPE ( Initiative[Issue Key] ), SELECTEDVALUE ( Initiative[Status] ), ISINSCOPE ( Rollout[Issue Key] ), SELECTEDVALUE ( Rollout[Status] ) )If you aren't familiar with SWITCH ( TRUE(), ... ), I recommend reading this:
https://p3adaptive.com/2015/03/the-diabolical-genius-of-switch-true/
- AnonymousNot applicable
AlexisOlson It doesn't work for me yet, but i understand how how it should work and will have a proper look on monday when i'm back in the office.
Thanks for your help.
Jeff
- AnonymousNot applicable
Forgot to tag you AlexisOlson