Section Access - Central Reporting.zip

    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!