Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
hi
i have qlik view server
i want to create document that each user can see related tab
i have a table that contain my domain users and related tab like below
User_ID | SAMAccountFullName | access |
729 | MD1\o.ebrahimi | a |
733 | MD1\qlikview | a,b,c |
734 | MD1\a.ghaffari | b |
i create my section access script like below:
section Access;
LOAD 'ADMIN' AS ACCESS,
upper(SAMAccountFullName) as NTNAME;
SQL SELECT *
FROM Users;
section Application;
SELECT ucase(Users.SAMAccountFullName) AS NTNAME,
access
FROM Users ;
and i set this option like below:
in this sample md1\o.ebrahimi just can see tab 1 and md1\qlikview can see 1,2,3
with this setting in desktop mode i have no problem but in server it dose not work
finally i find the solution
i changed my section access like blow:
section Access;
LOAD
'ADMIN' as ACCESS,
Upper('Md1\'&SAMAccountFullName) as NTNAME,
if (SubStringCount(SAMAccountFullName,'qlikview')=0,User_ID,'*') as REDUCTION_KEY;
SQL SELECT *
FROM Users;
notice:
qlickview user is a user that qlikview server service is run with it
'it doesn't work' means exactely what? What do you observe?
And how have you set up the sheet control?
If possible, post a small sample QVW application.
i attached my sample
i commented section access script
and i use below code for control the sheet:
SubStringCount(child, 'a')
when i login with md1\qlikview in access point every thing is ok but with other users when i click on dashboard on access point i redirect to login page
but when i copy reloaded dashboard in published folder and open dashboard with any users again every thing is ok
Have a look at
especially at
Section Access: Desktop vs Server
and the section about sheet and object level security.
Take care to only publish QVWs to the server that are freshly reloaded (and that your service account user is added to the section access table).
Change your table to have flags for each sheet and
set conditional for each sheet for example Sheet1 = accessA, Sheet2= accessB and so on
User_ID | accessA | accessB | accessC |
729 | 1 | 0 | 0 |
733 | 1 | 1 | 1 |
734 | 0 | 1 | 0 |
section Access;
LOAD
'ADMIN' AS ACCESS,
upper(SAMAccountFullName) as NTNAME;
SQL SELECT *
FROM Users;
section Application;
SELECT ucase(Users.SAMAccountFullName) AS NTNAME,
accessA,
accessB,
accessC
FROM Users ;
Hi,
could you try below approach.
Section Access;
LOAD ACCESS,
NTNAME,
SAREP,
NM
FROM
'..\..\..\Dashboard\SectionAccess.xlsx'
(ooxml, embedded labels, table is SA);
Then you add the sheet access coding directly underneath
Section Application;
Sheet_Security:
LOAD USERS as NM,
SH01,
SH02,
SH03,
SH04,
SH05,
SH06,
SH07,
SH08
FROM
'..\..\..\Dashboard\SectionAccess.xlsx'
(ooxml, embedded labels, table is SHEETS);
My Section Access table looks like you would expect and the NM column is to specify their role, MGR or NON for different sheet access, i.e.
NTNAME SAREP NM
him Richard NON
her Mike NON
mgr1 * MGR
mgr2 * MGR
and the Sheets Table looked like so:
USERS SH01 SH02 SH03.... SH07 SH08
NON 1 1 1 0 0
MGR 1 1 1 1 1
Then set the condition property for each respective sheet to show if the flag for that sheet is 1, i.e.:
SH08=1
Then reload!
Isn't it the same as what I've mentioned above!
hi
"and that your service account user is added to the section access table"
can you explain it?
thank you
but i have a lot of dashboard and i dont want to change my script in each dashboard