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

Announcements
Qlik Open Lakehouse is Now Generally Available! Discover the key highlights and partner resources here.
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

How to control the access to the fields?

Hi experts,

I was wondering whether we can control the access on the fields level.

Allow me to take an example:

Year , Quantity, Amount

2007 10 $100

Users:

UserId

A

B

If A views the doc, he can could see that 3 columns, but B only could see the Year and Quantity.

How can I achieve it?

Thanks a lot.

1 Solution

Accepted Solutions
vgutkovsky
Master II
Master II

Well, section access is meant more for row-level security, not column-level security. If you don't need to give users the right to create collaboration objects, it might be easier to just precreate different objects and hide them conditionally based on the user id...

But in general, yes, if you want to omit 2 columns, you have to add the user twice into section access. If you want to omit 100 columns, you need to have him listed 100 times. You can of course create the section access table in Excel--there's no need to read it inline. Interestingly, you only need to do this for the first user that will be removed. For example, suppose you have 2 users, UserA and UserB, who should both not be able to see FieldA and FieldB. Your section access can look as follows:


Section Access;
LOAD * INLINE [
ACCESS, USERID, PASSWORD, OMIT
USER, USERA, UA, FIELDA
USER, USERA, UA, FIELDB
USER, USERB, UB, *
];


By omitting '*' for UserB, you will omit all previously listed fields in the Omit column. Here is a good reference for section access and the various things you can do with it: http://www.google.com/url?sa=t&source=web&cd=1&ved=0CBMQFjAA&url=http%3A%2F%2Fcommunity.qlik.com%2Fc...

Regards,

View solution in original post

3 Replies
vgutkovsky
Master II
Master II

Using section access, you can remove that field with the OMIT qualifier. For example (note upper case, which must be matched with the actual field name in your document):


section access;
Star is *;
load * inline [
ACCESS, USERID,OMIT
USER, A,
USER, B, AMOUNT
];
section application;


Regards,

Not applicable
Author

Thanks for your reply, but I need to omit a lot of fields for B, shall I create huge rows for B in section access? Is there any good methods?

vgutkovsky
Master II
Master II

Well, section access is meant more for row-level security, not column-level security. If you don't need to give users the right to create collaboration objects, it might be easier to just precreate different objects and hide them conditionally based on the user id...

But in general, yes, if you want to omit 2 columns, you have to add the user twice into section access. If you want to omit 100 columns, you need to have him listed 100 times. You can of course create the section access table in Excel--there's no need to read it inline. Interestingly, you only need to do this for the first user that will be removed. For example, suppose you have 2 users, UserA and UserB, who should both not be able to see FieldA and FieldB. Your section access can look as follows:


Section Access;
LOAD * INLINE [
ACCESS, USERID, PASSWORD, OMIT
USER, USERA, UA, FIELDA
USER, USERA, UA, FIELDB
USER, USERB, UB, *
];


By omitting '*' for UserB, you will omit all previously listed fields in the Omit column. Here is a good reference for section access and the various things you can do with it: http://www.google.com/url?sa=t&source=web&cd=1&ved=0CBMQFjAA&url=http%3A%2F%2Fcommunity.qlik.com%2Fc...

Regards,