Qlik Community

App Development

Discussion board where members can learn more about Qlik Sense App Development and Usage.

Announcements
WE ARE LISTENING! New Navigation for Qlik Community, Sept. 26: TELL ME MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
punitpopli
Specialist
Specialist

Section Access on Multiple fields

Hi All,

am working on a requirement where the app has existing section access on the basis of Division and region which is working as expected , now I want to enhance the section access with Managers access i.e.

if I manager has access to a division that should remain as is but he should also view a screen where only his/her direct reports data should be visible

 

Any idea, how this can be efficiently implemented?

Labels (1)
8 Replies
rubenmarin

Hi, your requirement it's not clear to me, his/her direct reports data is the region? Usually section access with more than one field is applied using a composite key that marges all fields used to filter data, ie: Division &'_'& Region as ACCESS_KEY

punitpopli
Specialist
Specialist
Author

The current section access is on the basis of user (it can be a manager or a non manager) who should have Division/Region access or all division or all Region -> this is working fine

In addition to above requirement need to add one more level of manager who should only view his / her direct reportee while manager's existing access based on Division / Region should remain as is. The new managers view will be used in some screen where he/she can view their direct reportees.

 

Hope this will help

rubenmarin

Hi, sorry, still not clear, can you post some data sample and how it should work?

the manager with view to their reporteers are the same that has access to division/region or those are other managers? Their reportees are assigned to a division/region?

Have you tried to implement something and it doesn't works? can you post what have you tried?

Anku
Contributor III
Contributor III

@punitpopli  If I have understood your query correctly, please try:

SECTION ACCESS:
AUTHORIZATION:
Load * INLINE [
ACCESS,USERID,MANAGER_NAMES
USER,OFFICE/USER1,ManagerName1
USER,OFFICE/USER2,ManagerName2
USER,OFFICE/USER3,ManagerName3
USER,OFFICE/USER4,ManagerName4
];

SECTION APPLICATION:
Managers:
Load * INLINE [
MANAGER_NAMES,Reportees
ManagerName1,Emp1
ManagerName1,Emp2
ManagerName1,Emp5
ManagerName2,Emp3
ManagerName2,Emp6
ManagerName3,Emp4
ManagerName3,Emp8
ManagerName3,Emp12
ManagerName4,Emp9
ManagerName4,Emp7
ManagerName4,Emp10
];

 

punitpopli
Specialist
Specialist
Author

Yes, the reportee has access to division/region 

Current logic - 

Load * Inline [

Access, User,Division, Region, Dashboard Access

USER, Domain\User1, Div1, Region 1, Dash1

USER, Domain\User2, Div2, Region 2, Dash1

USER, Domain\User3, Div1, Region 2, Dash1

USER, Domain\User4, *, *, Dash1

];

In above scenario lets assume User 4 is a manager and user1, user 2 reports to him/her

Now, we need to keep the manager access as if i.e. USER, User4, *, *, Dash1 but the manager should also view User 1 and User 2 as a reporter in a new view which would be called as Manager's view (for e.g)

Currently the section access script joins on all the 3 columns Division, Region, Dashboard Access

What have done do far - 

Access, User,Division, Region, Dashboard Access, Managerid,EmployeeId

USER, Domain\User1, Div1, Region 1, Dash1,User 4, DUMMY/*

USER, Domain\User2, Div2, Region 2, Dash1,User 4, DUMMY/*

USER, Domain\User3, Div1, Region 2, Dash1, User 5, DUMMY/*

USER, Domain\User4, *, *, Dash1,DUMMY/*, User4

USER, Domain\User1, Div1, Region 1, Dash1, User4, DUMMY/*

USER, Domain\User2, Div2, *Region2, Dash1, User4, DUMMY/*

];

I have marked EmployeeId as Dummy/* so that their access should not get filter by their own Id

Hope this helps.

rubenmarin

If I understood it right, this is not a section access thing. Section Access is already giving to User 4 access to the data of all divions and regions, so User4 can view the data from User1, User2 and User3.

This is more a set anlysis where the Manager's View objects should be filtered to show the data of a specific reporter (or many reporters that reports to the current user).

You can use some help of section access if in example each manger filters an island table with the id of the manager (User4), this doesn't filters data, just gives a unique value to use in set analysis to filter in Manager Views the data where IdManager='User4', wich will show only in this view the data from User1 and User2. so if the section acces field is called MANAGER, where for User4 it has the value User4, your expression on manger view will have a set analysis with IdManager={'$(=MANAGER)'}

punitpopli
Specialist
Specialist
Author

Yes, I agree and have changed the script to only load the existing script i.e. 

 

Load * Inline [

Access, User,Division, Region, Dashboard Access

USER, Domain\User1, Div1, Region 1, Dash1

USER, Domain\User2, Div2, Region 2, Dash1

USER, Domain\User3, Div1, Region 2, Dash1

USER, Domain\User4, *, *, Dash1

];

and am handling the Managers view on the UI using a button as other who are not manager should be able to view the manager's view 

Now, am left with below requirement - 

If a user who is a manager and doesn't have any division / Region access and still would like to access the data with his/her repartees details. Would you mind sharing your thought on how this can be achieved using the existing script?

rubenmarin

Hi, if all data is assigned to a Division and Region, the manager should have access to that division/region. If this is not a cecurity issue, this would be the easiest configuration.

A workaround to this is using the reportee field as a section access field and change the section access to give access to the data of each reportee, some managers will have acess to one or few reportess, another tho the data of all reportees in a division to see all divison data.