Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
jonopitchford
Contributor III
Contributor III

QlikView Section Access - Reporting on who has access to what

There is some good information on the basics of section access here:

Introduction to Section Access

However, we needed to be able to report on 'what users' have access to 'what reports'. We couldn't use AD groups because it didn't have the flexibility we needed. For example we needed to allow quick changes to what specific users had access to, in a data reduction for example, but we also needed to manage and report on this centrally. We set up two database tables that allowed the administrators to add users and change the field values for data reduction easily. We could then link this back to their AD information for the overall reporting. This way we could see, for example, if someone had a Document CAL but didn't have access to the document through section access.

The example script below could then be applied to each .qvw report and we could just change the variable vREPORT_CODE to set up the section access.

Section Access;

LET vREPORT_CODE = UPPER('REPORT1');

 

Directory;

SECTION_ACCESS_FIELDNAME:

LOAD REPORT_CODE,

     REPORT_DESC,

     SA1,

     SA2,

     SA3,

     URL

FROM

[Section Access - Central.xlsx]

(ooxml, embedded labels, table is 'Reports')

WHERE REPORT_CODE = '$(vREPORT_CODE)';

LET vSA1 = UPPER(peek('SA1',0,'SECTION_ACCESS_FIELDNAME'));

LET vSA2 = UPPER(peek('SA2',0,'SECTION_ACCESS_FIELDNAME'));

LET vSA3 = UPPER(peek('SA3',0,'SECTION_ACCESS_FIELDNAME'));

Directory;

SECTION_ACCESS:

LOAD  

  UPPER(ACCESS) as ACCESS,

  UPPER(NTNAME) as NTNAME,

  SA1 as $(vSA1)

FROM

[Section Access - Central.xlsx]

(ooxml, embedded labels, table is User_Report)

WHERE REPORT_CODE = '$(vREPORT_CODE)';

drop table SECTION_ACCESS_FIELDNAME;

It would be interesting to hear how other people manage this in QlikView. Please comment below!

1 Reply
Chanty4u
MVP
MVP

am not sure ...but

RE:Access point