Skip to main content
Announcements
See what Drew Clarke has to say about the Qlik Talend Cloud launch! READ THE BLOG
cancel
Showing results for 
Search instead for 
Did you mean: 
vijetas42
Specialist
Specialist

Section Access with Null reduction

Hi All,

I have a requirement like if any user is not assigned with any reduction field value and also strict exclusion is there on document so still user can be able to see data from other table,

suppose,

section access;

load * inline[

ACCESS,NTNAME,REDUCE

USER,ab123,

];

section application;

load * inline[

REDUCE

A,

B

];

load * inline[

CITY

City1,

City2

];

and also document is having strict exclusion.

Now, when user opens document it shows access denied but it works fine with ADMIN.so is there any way to handle this scenario to let the user open document and should see values from city.

6 Replies
vijetas42
Specialist
Specialist
Author

When I concatenate dummy record with it works but is there any work around like,if there is no reduce data present for user then only concatenate dummy else as is

Peter_Cammaert
Partner - Champion III
Partner - Champion III

Yes, this is possible. Add a second Link field that connects to the City table. For user ab123, all data in tables connected to the REDUCE table will be reduced away, but the CITY table will still contain data.

You may have to rethink your data model though. One solace: Section Access will not create circular references.

vijetas42
Specialist
Specialist
Author

Thanks for your reply but, couldn't get that second link field that connect to city table as in?can you please elaborate

Peter_Cammaert
Partner - Champion III
Partner - Champion III

Just add a CITY field to your Section Access table to get a Link Field that blocks the "Access Denied" situation because of total data reduction.

vijetas42
Specialist
Specialist
Author

If I add CITY field in section access table like,

section access;

load * inline[

ACCESS,NTNAME,REDUCE,CITY

USER,ab123,,A

];

and concatenate below two table

section application;

load * inline[

REDUCE

A,

B

];

concatenate

load * inline[

CITY

City1,

City2

];

then user is able to see only assigned CITY which is A where, my requirement is to show all cities.

Peter_Cammaert
Partner - Champion III
Partner - Champion III

Maybe it's better if you first read a Section Access introduction like these:

A Primer on Section Access

Basics for complex authorization and

QlikView Section Access Examples


From the second article, you can use the <ANY> trick to expand access rights stored in unique Section Access entries into all Cities.

A few additional remarks:

  • QlikView linkage is a strict value based affair. If link field values do not match, they won't produce links.
  • In Section Access fields, you could use asterisks ( * ) but those only expand to all values present in the Section Access column, not to the other values anywhere else in that same field in your data model. Pretty much useless if you don't put all CITY values in your Section Access table.
  • Don't throw your two tables CITY and REDUCE together. As I said before, Section Access cuts all circular references and works ok with different link fields as long as they are in different tables in Section Application. Keeps your data model tidy.

Best,

Peter