Filtering based on profile and Hierarchy

MajorReportingSir
edited April 2023 in Charting

Hi Peers and experts.

I'm working on a solution where we have to implement card content filtering based on the profile of the Domo user. We have PDP in place of content filtering but we are also looking to filter at drilled down level by default based on user profile and Hirerachy

Suppose for a sales chart there are 4 drill-downs. 1 country, 2 Regions 3 States 4 locations, and in profile Category hierarchy we have Country head → ZM → MM → LM, . LM is at the lowest level. What Im trying to achieve is if Country Head views the card, Card should display country data, and if ZM looks at it , The same card will be drilled to first level of Regions, If MM views the card Same card further drilled to the State level by default with no user interaction. Is it possible that way?

Please advise or point me in the right direction if this issue has been faced by anyone previously

Best Answer

  • RobB
    RobB Domo Employee
    Answer ✓

    @MajorReportingSir ,

    To achieve this without the aid of DDX Bricks or Devloper Tools, you will need to "stack" the data by the location types. If you have a separate column for Country, Regions, Cities, etc. Those will need to be a single column holding those values and then another column with the type of location for each would be added. This will enable PDP policies to filter on the location type and thus apply based on the person who is logged in.

    Creating the stacked data can be done in multiple ways. I prefer using the ETL's Dynamic Unpivot tile, but you can also create different branches in your ETL path with each holding the same data, but each with a different value in the location type colum. Then append these back together.

    This has come up before and my first inclination is to discourage this. I don't see that this provides advantages over different Pages/Dashboards where you assign permissions based on the user login. My second inclination it to remember that I don't know every use case, and provide caveat I just did but offer an answer nonetheless.

    If what I've described isn't too clear, I have a YouTube video showing it the method with chapters to make getting what you want easier:


Answers

  • RobB
    RobB Domo Employee
    Answer ✓

    @MajorReportingSir ,

    To achieve this without the aid of DDX Bricks or Devloper Tools, you will need to "stack" the data by the location types. If you have a separate column for Country, Regions, Cities, etc. Those will need to be a single column holding those values and then another column with the type of location for each would be added. This will enable PDP policies to filter on the location type and thus apply based on the person who is logged in.

    Creating the stacked data can be done in multiple ways. I prefer using the ETL's Dynamic Unpivot tile, but you can also create different branches in your ETL path with each holding the same data, but each with a different value in the location type colum. Then append these back together.

    This has come up before and my first inclination is to discourage this. I don't see that this provides advantages over different Pages/Dashboards where you assign permissions based on the user login. My second inclination it to remember that I don't know every use case, and provide caveat I just did but offer an answer nonetheless.

    If what I've described isn't too clear, I have a YouTube video showing it the method with chapters to make getting what you want easier: