Skip to main content
Woohoo! Qlik Community has won “Best in Class Community” in the 2024 Khoros Kudos awards!
Announcements
Nov. 20th, Qlik Insider - Lakehouses: Driving the Future of Data & AI - PICK A SESSION
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Section Access - View all data

Hi all,

I'm facing some challenge in setting up section access... hope you guys can help. My question is, how can I setup section access with the configuration below?

Access, User, Region
Admin, Admin, All Region
User, Manager, All Region
User, Users, Europe

I tried to use * or blank for All Region, but it doesn't seems to work.

1 Solution

Accepted Solutions
Not applicable
Author

Hi Khim,

You could use something like following:


Access, User, Region_Acc
Admin, Admin, All
User, Manager, All
User, Users, R_Eur
Region_TAcc:
Load 'All' as Region_Acc,
Region;
SQL Select Region
from Regions_Table;
Load * Inline [
'R_Eur' as Region_Acc,
'Europe' as Region];


The * is usefull, when you have the rest of the Regions assigned at least to one user.


Access, User, Region_Acc
Admin, Admin, *
User, Manager, *
User, Users, Europe
User, Users2, Africa
User, Users3, Asian
User, Users4, America


Regards.

View solution in original post

4 Replies
Miguel_Angel_Baeyens

The blank in Region will work if the access for the user is ADMIN and the document is being opened locally (Desktop, not on server, plugin, ajax, etc), because when you open the document on server, all users are given USER access, regardless what they have in section access.

The use of "*" will only work if the field Region has all possible values you want to see, in your example above, there is only Europe.

So the only solution I see is to create a new line for users admin or manager for each available regions, then you will be able to use "*" in the other:

STAR IS *; SECTION ACCESS; LOAD * INLINE [ACCESS, USERID, PASSWORD, REGIONADMIN, ADMIN, ADMIN, EUROPEADMIN, ADMIN, ADMIN, AFRICAADMIN, ADMIN, ADMIN, AMERICAADMIN, ADMIN, ADMIN, ASIAUSER, MANAGER, MANAGER, *USER, USERS, USERS, EUROPE]; SECTION APPLICATION;


Hope this helps.

Not applicable
Author

Use only CAPITAL LETTERS, and blanc instead of *

ADMIN,ADMIN

USER,USERS,EUROPE

-Alex

Not applicable
Author

Hi Khim,

You could use something like following:


Access, User, Region_Acc
Admin, Admin, All
User, Manager, All
User, Users, R_Eur
Region_TAcc:
Load 'All' as Region_Acc,
Region;
SQL Select Region
from Regions_Table;
Load * Inline [
'R_Eur' as Region_Acc,
'Europe' as Region];


The * is usefull, when you have the rest of the Regions assigned at least to one user.


Access, User, Region_Acc
Admin, Admin, *
User, Manager, *
User, Users, Europe
User, Users2, Africa
User, Users3, Asian
User, Users4, America


Regards.

Not applicable
Author

Thanks for the suggestion! I modified your code a bit so it fits my requirement:-


Access, User, Region_Acc
Admin, Admin, All
User, Manager, All
User, Users, R_EurRegion_TAcc:
Load 'All' as Region_Acc,
Region;
SQL Select Region
from Regions_Table;
concatenate
Load Region as Region_Acc,
Region;<pre>SQL Select Region
from Regions_Table;

The first suggestion will works as well, using similar method (Replace Region_Acc with UserID)

Now... my issue is loop when there is 2 tables that require section access. But I guess that will be another topic (modeling) 🙂