Skip to main content
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Qlik Sense Section Access Issue

Hi,

When I tried OMIT a field to a user using Section Access In Qlik Sense, User is getting Invalid Dimension Error instead of the field being omitted ? is it a bug?

1 Solution

Accepted Solutions
dwforest
Specialist II
Specialist II

It is working as designed as far as I understand.

The use case would be for users that are allowed to build their own sheets/visualizations; it is as if that field does not exist for them. If you did have access you could use it.

If you are building an application with mixed access where you use an omitted field, you would additionally have to block access to the sheet for those without access to the field so they do not get the error.

Since the section access is happening at data load, there is no way for the visualization layer to know that the field was blocked versus not existing...

We might suggest an enhancement that allows for default values to be applied to "invalid" fields in lieu of the visualization breaking.

View solution in original post

10 Replies
Vasiliy_Beshentsev
Creator III
Creator III

Provide part of your app to see this if you can.

Anonymous
Not applicable
Author

Section Access:

Load * Inline [
ACCESS, USERID, OMIT
USER, GOTRANSIT\RAMV, PASSENGERNAME
];

Section Application;

PII:
Load * Inline [
PASSENGERID, PASSENGERNAME, COSTINVOLVED
1, ABC, 1000
2, PQR, 2000
3, XYZ, 3000
4, ZZZ, 4000
];

Vasiliy_Beshentsev
Creator III
Creator III

Your load script is wrong.

I really can't understand what you try to achieve there.

In section access table looks everything is correct, but in 'Pll' table there must be OMIT field. You haven't it here. Than you have PASSENGERNAME value in OMIT field and that is the name of field in 'Pll' table? What is going on?

Try this code:

Section Access:

Load * Inline [
ACCESS, USERID, PASSENGERNAME
USER, GOTRANSIT\RAMV, PQR
];

Section Application;

PII:
Load * Inline [
PASSENGERID, PASSENGERNAME, COSTINVOLVED
1, ABC, 1000
2, PQR, 2000
3, XYZ, 3000
4, ZZZ, 4000
];

So than user with USERID = GOTRANSIT\RAMV will get access to PASSENGERNAME = PQR.



That is how it works correct.

Anonymous
Not applicable
Author

Hi Vasiliy,

Thanks for your time.

I think you are talking abt Row Level security. But, I am looking for column level security. I need to omit (make it invisible) the column PassengerName completely to the user RamV..

Please take a look at the column level security in QS.

Thanks

Anonymous
Not applicable
Author

If you are omitting a column and that column is used in the visualization it is understandable that the visualization wouldn't work.

dwforest
Specialist II
Specialist II

Its not a bug. The column is omitted from the data model, therefore you cannot use it in a visualization.

Basically what you need to do is instead of omitting PASSENGERNAME, you need to create a crosswalk table that grants access to it.

Create a table and pull PASSENGERNAME into it with a ACCESS_PN flag field

LOAD

  'Y' as ACCESS_PN,

PASSENGERNAME,

PASSENGERID

RESIDENT [datatable];

LOAD

  'N' AS ACCESS_PN,

  Null() AS PASSENGERNAME,

  PASSENGERID

RESIDENT [datatable];

This creates a field with the actual values and null values, then you can you row level security to select which they can see.

Anonymous
Not applicable
Author

Hi David,

It's a good work around and it works, thanks.

But,  OMIT field is meant to provide column level security using section access. If it shows the error on the dashboard instead of omitting the field, I wonder what's the purpose of OMIT field in section access?

I think, I need to raise this issue with the Qlik support.

Thanks

dwforest
Specialist II
Specialist II

It is working as designed as far as I understand.

The use case would be for users that are allowed to build their own sheets/visualizations; it is as if that field does not exist for them. If you did have access you could use it.

If you are building an application with mixed access where you use an omitted field, you would additionally have to block access to the sheet for those without access to the field so they do not get the error.

Since the section access is happening at data load, there is no way for the visualization layer to know that the field was blocked versus not existing...

We might suggest an enhancement that allows for default values to be applied to "invalid" fields in lieu of the visualization breaking.

Anonymous
Not applicable
Author

Thanks for your time David.