Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hi All,
I am new to section access in Qlik sense.
I have following 3 tables with sample data:
Geo Table
GeoName | DocumentStatus | Sales |
---|---|---|
India | Completed | 1400 INR |
USA | Incomplete | 2000 INR |
Canada | Completed | 4500 INR |
ANZ | Completed | 1500 INR |
Russia | Incomplete | 2500 INR |
Zone Table
ZoneName | DocumentStatus | Sales |
---|---|---|
South | Completed | 1400 INR |
North | Incomplete | 2000 INR |
East | Completed | 4500 INR |
West | Completed | 1500 INR |
Central | Incomplete | 2500 INR |
Country Table
CountryName | DocumentStatus | Sales |
---|---|---|
India | Completed | 1400 INR |
USA | Incomplete | 2000 INR |
Canada | Completed | 4500 INR |
Australia | Completed | 1500 INR |
UK | Incomplete | 2500 INR |
Now I am showing these table information on map through geo-analytics as below.
Now when anyone logged on Qlik sense, then only logged in user associated records should get display.
e.g. Permission Matrix is as below:
UserName | PermissionType | Value |
---|---|---|
dir\jeeva | Geo | India |
dir\jeeva | Geo | Canada |
dir\prasad | Zone | South |
dir\prasad | Country | India |
As per above matrix when JEEVA logged in the qlik sense, he should see Geo (India and Canada), he should not see other geo, zone or countries.
My Section access query is as below:
SECTION ACCESS;
LOAD * INLINE
[
ACCESS, NTNAME, GROUP, GEONAME
USER, DIR\PRASAD, *, INDIA
USER, DIR\JEEVA, *, INDIA
];
But when JEEVA is not logged in the Qlik sene, he is getting ACCESS DENIED issue.
Can anyone help me with this issue, might I am doing something wrong with section access script.
Thanks
Dilip Solanki
Hi,
how are your tables linked together? Section access work on same relation principles as usual. So if you aplly this on only one table , because others are not connected, than it will not work as expected.
This is principally allright.
section access;
LOAD * INLINE
[
ACCESS, USERID, GEONAME (this must perfectly match with name of field you want to connect to so taking into account your sample it should be GeoName )
USER, DIR\PRASAD, INDIA
USER, DIR\JEEVA, INDIA
];
section application;
Of course that values of GeoName should be UPPER CASE.
Hi David,
Thanks for answer.
Tried with the same GeoName but not worked for me. Please check my reply below to main post where I am specifying about my concern with simple table.
Thanks
Dilip Solanki
Hi All,
I have also attached my sample application for below discussion.
Thank you all, as you all are helping me to resolve my issue.
Now I am only trying with simple table, have a look below:
I have some sample data in countries table:
Countries:
Load * inline
[
COUNTRY
INDIA
JAPAN
USA
LONDON
CANADA
];
SECTION ACCESS;
LOAD * INLINE
[
ACCESS, USERID, COUNTRY
USER, INTERNAL/SA_SCHEDULER,*
USER, DIR\DILIP.SOLANKI, CANADA
];
SECTION APPLICATION;
I have used OSUser() in one application to get the currently logged in user details, this function is returning below details:
User Directory: DIR, UserId: dilip.solanki
But dilip.solanki is logged in the application, he is seeing all the data in list. To check the data I have taken on filter box as below:
Can anyone tell me know whats wrong I m doing here, still all countries are visible to dilip.solanki.
I have also attached my sample application.
Thanks
Dilip Solanki
Hi All,
Thank you very much for your suggestions.
Now I have resolved the issue with your great help.
I have added one more user INTERNAL\SA_SCHEDULER, in my script.
SECTION ACCESS;
LOAD * INLINE
[
ACCESS, USERID, COUNTRY
USER, INTERNAL\SA_SCHEDULER,*
USER, DIR\DILIP.SOLANKI, CANADA
USER, DIR\DILIP.SOLANKI, LONDON
USER, DIR\DILIP.SOLANKI, JAPAN
USER, DIR\J.A.SASIKUMAR, JAPAN
];
SECTION APPLICATION;
Thanks
Dilip Solanki
Hi, you are doing one basic thing wrong. That is order of your load script. All tables that should be secction access applied to must be after Section application; statement. That is why you can see all. So move your section access part on very beginning and it will work. Attached QVF. is allso correct, but with the same problem.
N.b. for scheduler use better admin permissions.
HI
I read the whole post, but couldn't infer why Jeeva was getting access denied. Was there a particular reason for this?
Regards
Pratyush