Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
I am trying to implement Sheet level section access based on NTNAME(upper case) as below.I have conditions as if(Sheet1=1,1,0) and if(Sheet2=1,1,0) on both sheets.It works great in desktop.But when it is published to Server , I can see the application but if I try to open it say "failed to open or don't have to access".I don't know may be the NTNAME on AccessPoint in lower case compared to on desktop?Need help to fix this. swuehl hic marcus_sommer
jagan Thanks
Section Access;
LOAD ACCESS,
NTNAME
FROM Table QlikSection Access;
Section application;
[Sheet Level]:
LOAD
NTNAME,
SHEET1,
SHEET2;
FROM Table QlikSection Access;
Thanks Stefan it worked finally .But what i found strange is when I tried to open the app as Service/admin account I am not able to see both sheets ?Admin/Service account should see both sheets right?
My code:
Section Access;
LOAD ACCESS,
NTNAME,
SHEETACCESS
FROM Table QlikSection Access;
Section application;
[Sheet Level]:
LOAD
SHEETACCESS,
SHEET1,
SHEET2
FROM Table QlikSection Access;
with a table
SHEETACCESS, SHEET1, SHEET2
A, 1,1
B, 0,1
C, 1,0
and a SA table
ACCESS, NTNAME, SHEETACCESS
ADMIN, SERVICEUSER, *
ADMIN, USERA, A
USER, USERB, B
AccessPoint displays a document that is/should be reloaded in all cases by the QDS (otherwise you may run into various other "issues"). What happens during that preiliminary reload is:
QVB.exe opens the document
When a user subsequently tries to open that same "fully reloaded" document in the AP, and QVS finds a valid entry for that account in the SA table, the document will be openend and - if enabled - data reduction will be applied for that account.
IMHO, the QDS will only save a reduced document when no reload is executed. So it remains a mystery to me why this is happening to chaitanya's document only because of having NTNAME as a link field. If you ask me, your script example must have fixed some other anomaly.
Anyway, your advice still stands: it's considered a best practice to use neither ACCESS nor NTNAME as data reduction fields. But then you may run into other problems, like having multiple conflicting SheetLevel rows for user SERVICEUSER (due to the *), as explained below...
Do not use the service account to visit your document in the AccessPoint. As you discovered, the technique of granting super-privileges to a background process account may often backfire...
OTOH you may again fix that one by using another tweaked expression in the conditional show of your sheets
Thanks swuehlpcammaert marcus_sommer foldymanstabben23 krishnacbe for help on this
Thanks.Sheet level section access based NTNAME is still mystery for me.It should be straight forward approach.For now I will use separate reduction field to do SA for Sheet access.
Peter, you are absolutely right about the working principles of the QVB process.
Just to clarify, chaitanya, could you describe which steps you've performed when testing the QVW on the accesspoint?
(For example, have you used a task on the QMC to reload and publish the QVW? Or just copied the QVW to the published folder manually?)
If you want the service user (which has apparently conflicting settings on sheet level access, because it is linked to all access rules) to access all sheets, you can consider using Max() function to check if the user is granted access at least once:
if(Max(Sheet1)=1,1,0)
I scheduled task on QMC to reload and publish the app.