Skip to main content
Announcements
Qlik Launches Open Lakehouse and advanced agentic AI experience in Qlik Answers! | LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
vireshkolagimat
Creator III

sheet level security

Hi all,

I have qlikview document and it contains 3 sheets namely Report, Analysis and Dashboard.

My requirement is when a person with admin access open the QVW file, he should be able to see all the 3 sheets.

And if user1 opens the QVW, he should see only Reports sheet and user2 should see Analysis.

How to achieve the same.

We can create a section access using the below script but how to make the above changes.

Section Access;

LOAD * INLINE [

    ACCESS, USERID

    admin, admin

    user, user1

    user, user2

];

Section Application;

Thank you.

Regards,

Viresh

5 Replies
stabben23
Partner - Master

Hi,

there should be a lot of example here if you search on sheet Level sequrity in the community

rohitk1609
Master

Hi,

To implement sheet level access step by step  or more deep level App objects level access please refer this document:

Sheet or App Object Level Security Qlik Sense

MayilVahanan

HI

Hope it wil help you

Type of Security

Thanks & Regards, Mayil Vahanan R
Please close the thread by marking correct answer & give likes if you like the post.
rahulpawarb
Specialist III

Hello Viresh,

Please follow below given steps:

1. Open the application and go to the Edit Script section

2. Select Create Hidden Script option from File Menu

3. Set Password for the same

4. Paste below given sample script

Section Access;

LOAD * INLINE [

    ACCESS, USERID, PASSWORD

    ADMIN, ADMIN, ADMIN123

    USER, USER1, USER111

    USER, USER2, USER222

];

Section Application;

LOAD * INLINE [

USERID,SHEETNO

ADMIN, 1

USER1, 2

USER2, 3

];

5. Place the cursor at the bottom of Main tab and paste below given sample script

Security_Ref:

LOAD * INLINE [

SHEETNO, Dashboard, Analysis, Reports

1, 1, 1, 1

2, 0, 0, 1

3, 0, 1, 0

];

6. Now save the changes and hit Reload button

7. Change the Show Sheet - Conditional settings for every sheet as -

//Dashboard Sheet

=Dashboard

//Analysis Sheet

=Analysis

//Reports Sheet

=Reports

8. Once this is done then open the document properties (Ctrl + Alt + D) and tick below options present on Opening tab.

Initial Data Reduction Based On Section Access

Strict Exclusion

9. Save the application and close.

Now, while opening the document application will ask for credentials. Enter the respective credentials to get the desired results.

P.S.: Password for Hidden Script - loginme

Regards!

Rahul

vardhancse
Specialist III

Hi follow below steps:

Step 1:

Write below code in script editor

SECTION ACCESS;

Access:

LOAD ACCESS,

     NTNAME

FROM

[Section_Access.xlsx]

(ooxml, embedded labels, table is Access);

SECTION Application;

star is *;

Security:

LOAD NTNAME,

     NAME,

     REPORT,

ANALYSIS,

DASHBOARD

FROM

[Section_Access.xlsx]

(ooxml, embedded labels, table is Security);

IN EXCEL MAINTAIN BELOW DATA:

NTNAME NAME REPORT ANALYSIS DASHBOARD

NAME1 1 1 1 1

NAME2     1 0 0 0       //NAME SHEET

NAME3 0 1 0 0          //REPORT SHEET

NAME3 0 0 1 0          //ANALYSIS SHEET

NAME4 0 0 0 1          //DASHBOARD SHEET

Step 2:

In the sheet properties change the name from

Sheet1 to ANALYSIS

Sheet2 to REPORT

Sheet3  to DASHBOARD

Step 3:

Sheet properties->General->Show Sheet->Condition

=ANALYSIS

similarly for rest of the sheets as REPORT AND DASHBOARD

reload and your requirement was done