Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Qlik GA: Multivariate Time Series in Qlik Predict: Get Details
cancel
Showing results for 
Search instead for 
Did you mean: 
Tenuki
Contributor III
Contributor III

Security Access By Group

Hello,

I new to App developement in QlickSense, and I have to create a App where I will have many managers, from HR to Sales, that would access the apps.

I have decide to split the apps in two distinct spaces : 
1 for headquarters (HR, Logistic...) 
1 for Sales (Then split by Office)

I would like to know how to create a filter on my Sales App, 1 by office.

I have look on Security Access by Section, but I don't see where exactly add the office id linked to my user.
I have also look on hierarchies, but it's hard for a new dev to proprely link it to security access.
Then also see that I could create a container with filter base on the UserID but don't have enough knowledge to figure out the exact expression.

What is the best solution to filter the Sales Data by Office ? 
Create 1 group of user by Office ? (I will have 1 or 2 users by Office)
Create hierarchies ?
Or find out how to filter by User inside a container ?

Many thanks for your help

Labels (2)
2 Solutions

Accepted Solutions
MatheusC
Specialist II
Specialist II

Hi, @Tenuki 
You can find great topics and videos on the topic; check out the one I've selected below:

Solved: row level security, how to? - Qlik Community - 845445
https://www.youtube.com/watch?v=EiFwL9ywR2Y
https://www.youtube.com/watch?v=xeKa3r90tCw

Also, see Qlik Learning, which will help you on this journey with Qlik Sense

https://learning.qlik.com/student/catalog


- Regards, Matheus

Did you find a solution to your question? Mark the solution as accepted and if you found it useful, press the like button!

View solution in original post

MatheusC
Specialist II
Specialist II

This model doesn't make sense to me.

REDUCTION isn't linked to your data, so I don't think this logic with recno() is necessary. From what I understand, it would simply be a filter with your OFFICE_ID field.

The USER.MAIL in your section and the name in your Excel table, USER.EMAIL, are different.

You need to capitalize all values, as well as user emails.

I'll send an example based on what you explained,
but I suggest reviewing this topic for a better understanding. There are the links and videos I sent, as well as several others, as well as the QLik help guide itself.

Section Access;
Load * Inline [
ACCESS,USERID                                  ,OFFICE_ID
USER     ,EMAILUSER                           ,V456
ADMIN   ,EMAILADMIN                          ,*
ADMIN   ,INTERNAL\SA_API                 ,
ADMIN   ,INTERNAL\SA_SCHEDULER,
];
Section Application;


Datas:
LOAD * INLINE [
OFFICE_ID, DATA
V456, 50
V480, 40
];

Regards, Matheus
Happy studying!

Did you find a solution to your question? Mark the solution as accepted and if you found it useful, press the like button!

View solution in original post

6 Replies
MatheusC
Specialist II
Specialist II

Hi, @Tenuki 
You can find great topics and videos on the topic; check out the one I've selected below:

Solved: row level security, how to? - Qlik Community - 845445
https://www.youtube.com/watch?v=EiFwL9ywR2Y
https://www.youtube.com/watch?v=xeKa3r90tCw

Also, see Qlik Learning, which will help you on this journey with Qlik Sense

https://learning.qlik.com/student/catalog


- Regards, Matheus

Did you find a solution to your question? Mark the solution as accepted and if you found it useful, press the like button!
Tenuki
Contributor III
Contributor III
Author

Thanks a lot @MatheusC, I will check this

Tenuki
Contributor III
Contributor III
Author

Hello, I did manage to create Session Access succesfully, but my model seems not to work.

My Section Access Table look like this :
Section Access;

Access:

LOAD
USERTYPE,   USER.MAIL, REDUCTION
ADMIN,          mymail,         *,

USER,           myusermail,    1
FROM  access.xlsx

I had section application to filter based on row :
Section Application;

Reduction:
LOAD
*,
NUM AS REDUCTION;
LOAD
RecNo() AS NUM
AutoGenerate 38; 

LinkReduction_OfficeID:
LOAD 
REDUCTION, REDUCTION_NAME as OFFICE_ID
FROM access.xlsx

Then I had some dummies data
Datas:
LOAD * INLINE [
OFFICE_ID, DATA
V456, 50
V480, 40];
];

The reduction didn't work for my users, they still can see everything.
My access Excel file look like this :
USERTYPE, USER.EMAIL, REDUCTION, REDUCTION_NAME 
ADMIN,         mymail,           *,  ALL
USER,           myusermail,    1, V456

What I am missing here ?

MatheusC
Specialist II
Specialist II

This model doesn't make sense to me.

REDUCTION isn't linked to your data, so I don't think this logic with recno() is necessary. From what I understand, it would simply be a filter with your OFFICE_ID field.

The USER.MAIL in your section and the name in your Excel table, USER.EMAIL, are different.

You need to capitalize all values, as well as user emails.

I'll send an example based on what you explained,
but I suggest reviewing this topic for a better understanding. There are the links and videos I sent, as well as several others, as well as the QLik help guide itself.

Section Access;
Load * Inline [
ACCESS,USERID                                  ,OFFICE_ID
USER     ,EMAILUSER                           ,V456
ADMIN   ,EMAILADMIN                          ,*
ADMIN   ,INTERNAL\SA_API                 ,
ADMIN   ,INTERNAL\SA_SCHEDULER,
];
Section Application;


Datas:
LOAD * INLINE [
OFFICE_ID, DATA
V456, 50
V480, 40
];

Regards, Matheus
Happy studying!

Did you find a solution to your question? Mark the solution as accepted and if you found it useful, press the like button!
Tenuki
Contributor III
Contributor III
Author

Hello, thank you for the precision.

For me, the link was my field Reduction. I get from this https://help.qlik.com/fr-FR/sense/May2025/Subsystems/Hub/Content/Sense_Hub/Scripting/Security/manage....

As I would like that my user see only one line, I took the reduction line example, and then link reduction number to my OfficeID.

I manage to do it with your example so it's fine.

Many thanks for your help 🙂

MatheusC
Specialist II
Specialist II

I'm glad it helped resolve the issue.

Did you find a solution to your question? Mark the solution as accepted and if you found it useful, press the like button!