Skip to main content
Announcements
Introducing Qlik Answers: A plug-and-play, Generative AI powered RAG solution. READ ALL ABOUT IT!
cancel
Showing results for 
Search instead for 
Did you mean: 
random_user_3869
Partner - Creator III
Partner - Creator III

Sheet property access using sheet properties condition

Hello everybody,

i work for a company that use section access in qlik cloud to manage access to the business users.

Although section access is effective, i would like to improve it by limiting access to some **bleep**s regarding some business users

in qlik cloud/qlik sense (i'm using qlik cloud saas) when i go to a sheet i get to the property sheet

 

lessassy_3869_0-1642785106981.png

Then i try to use the id regarding the section access to limit the access to one or more user. so my syntax is the following

i consider myself as '_user_1' and i have full access to qlik cloud

=If(wildmatch([USER.EMAIL],'*user_1*','*user_2*'),1,0) in the display window (in the picture it is in "condition d'affichage" box.

I faced some issue with that because the sheet on one hand disapear and on one hand appear again so it might not be the right approach.

Do you thing my expression could be improved somewhat ?

Thank you

 

Labels (2)
3 Replies
rubenmarin

Hi, I would prefer to have 1 or 0 loaded in section access:

Load * INLINE [
    ACCESS,  USER.EMAIL,             SALES, MARGIN
    USER,    USER1@example.com,      0,     0
    USER,    USER2@example.com,      1,     0
    ADMIN,   USER3@example.com,      1,     1
];

So the condition to show the sheet could be only "=SALES" or "=MARGIN" meaning the USER1 doesnt' sees sales or margin related sheets, USER2 sees sales related but not margin sheets and USER3 sees all.

you can also create calcualted fields:

LOAD
  *,
  If(wildmatch([USER.EMAIL],'*USER1*','*USER2*'),1,0) as SALES
INLINE [
    ACCESS,  USER.EMAIL
    USER,    USER1@example.com
    USER,    USER2@example.com
    ADMIN,   USER3@example.com
];
random_user_3869
Partner - Creator III
Partner - Creator III
Author

so if i understant clearly,

the following statement

 

Load * INLINE [
    ACCESS,  USER.EMAIL,             SALES, MARGIN
    USER,    USER1@example.com,      0,     0
    USER,    USER2@example.com,      1,     0
    ADMIN,   USER3@example.com,      1,     1
];

So basically the field SALES and MARGIN are field that will link to the sheet named 'SALES" and 'MARGIN' in my application. Is that right ?

Thank you

rubenmarin

Hi, yes, when each user opens the app will have 1 or 0 in each field.

I forgot: you also need a table outside section access (in section application) with both values for each field:

SALES:
LOAD * Inline [
SALES
0
1
];

So when a user opens the app, the section access applies reduction and only one value for each field is avalable, and there is no option to access the othe value.