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

Section Access - *(all) and Multiple listings not working with conditional show

Ok, Im trying to work on setting up Section Access. When I load my document I have 4 sheets. Main with no Condition. And the other 3 with the condition, SECURE = 'LEVEL1', etc... for each level listed below. When I test what I have created below, the only one that works properly is Ann can see the main sheet, and the LEVEL2 sheet. For Brent and Rodrick, all I can see if the sheet with no conditional set.

Section Access;
LOAD * INLINE [
ACCESS, USERID, PASSWORD, SECURE
ADMIN, ADMIN, ADMIN
USER, BRENT, 1234, LEVEL1
USER, RODRICK, 1234, *
USER, BRENT, 1234, LEVEL3
USER, ANN, 1234, LEVEL2
];
Section Application;
LOAD * INLINE [
SECURE, LEVEL
LEVEL1, 1
LEVEL2, 2
LEVEL3, 3
];


EDIT: After being unable to have multiple conditionals work, I tried using QVuser(). That doesn't work either. If I set it to just 1 user in the conditional it works. If I try to use multiple users in the conditional it shows all sheets this way. So both angles that I am trying to tackle this issue with give results are the opposite ends of the spectrum.

1 Solution

Accepted Solutions
Anonymous
Not applicable
Author

The pass is 1234.. I went ahead and changed my script as well as my conditional based on one I found in another thread.

http://community.qlik.com/forums/t/34671.aspx

I have it working now. Though Multiple conditionals or multiple access reductions wouldn't work.

Star is *;

Section Access;
LOAD * INLINE [
ACCESS, USERID, PASSWORD, PROFILE
ADMIN, ADMIN, ADMIN, ADMIN
USER, BRENT, 1234, FULL
USER, RODRICK, 1234, FULL
USER, TRACI, 1234, LIMIT
USER, ANN, 1234, FULL
];
Section Application;
LOAD * INLINE [
PROFILE, LEVEL1, LEVEL2
ADMIN, 1, 1
FULL, 1, 1
LIMIT, 1, 0

];


with the conditional of =Level1 <>0 or =level1 = 1or LEVEL2<>0 or LEVEL2 =1 appears to be the solution I was looking for

View solution in original post

6 Replies
Miguel_Angel_Baeyens

Hello Rodrick,

Just a note, the * in Section Access doesn't mean "all posible values" but "all values listed in the same column in section access", so if "*" is read as "total", user Rodrick should be able to see LEVEL1, LEVEL2 and LEVEL3, but not an eventual LEVEL4, for example. To make it work properly, you should start your script with

STAR IS *; SECTION ACCESS;// Rest of stuff here


so the asterisk gets "Total" meaning.

Apart from that, you should check that your condition works right without section access, just by selecting the field SECURE or LEVEL in yoru application.

Hope that helps

Not applicable
Author

Try to use field "LEVEL" instead of field "SECURE" for the sheet condition.

-Alex

Anonymous
Not applicable
Author

* should give user access to all listed "reductions"

I tried to use LEVEL instead of SECURE. No go.

I ended up going ahead and using =qvuser()= 'ANN', and so on for users that can see all or different sets of worksheets. But now all users can see all sheets....

Drawing board...

Anonymous
Not applicable
Author

Ok, I went ahead and attached the document I am working on if anyone can give me some direction of where I am off.

Miguel_Angel_Baeyens

Rodrick, It seems your section access is in a hidden script, so we will need the password to check it.

Anonymous
Not applicable
Author

The pass is 1234.. I went ahead and changed my script as well as my conditional based on one I found in another thread.

http://community.qlik.com/forums/t/34671.aspx

I have it working now. Though Multiple conditionals or multiple access reductions wouldn't work.

Star is *;

Section Access;
LOAD * INLINE [
ACCESS, USERID, PASSWORD, PROFILE
ADMIN, ADMIN, ADMIN, ADMIN
USER, BRENT, 1234, FULL
USER, RODRICK, 1234, FULL
USER, TRACI, 1234, LIMIT
USER, ANN, 1234, FULL
];
Section Application;
LOAD * INLINE [
PROFILE, LEVEL1, LEVEL2
ADMIN, 1, 1
FULL, 1, 1
LIMIT, 1, 0

];


with the conditional of =Level1 <>0 or =level1 = 1or LEVEL2<>0 or LEVEL2 =1 appears to be the solution I was looking for