Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
See why IDC MarketScape names Qlik a 2025 Leader! Read more
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Section Access and Binary load / Publisher

Hello, I am trying to implement section access and having a hard time getting anything to work the way I want.

I've used it in the past on a regular server (without publisher) and without a binary load; I am wondering if these are having some interaction with my document (I can't really test this as I have no choice but to work from a binary load and do not have admin rights on the server/publisher).

Do Publisher rights take precedence over section access right? I am actually TRYING to lock myself out of the document via section access (yes I have a backup) but it just keeps letting me open it, even if I don't have myself listed as a user anywhere in section access.

And then when I add myself and try to do data reduction on a column it simply does nothing. Nothing at all. (I have checked data reduction based on section access/strict exclusion/prohibit binary)

I know that in section access the main fields have to be in all caps, but what about the field I want to do data reduction on? It's not caps in the rest of the application so putting it in caps here would not work unless I change it everywhere else too. Is this required?

Do all NTNAME entries have to be all caps?

Any tips here? I would love to provide an example but the data is quite confidential... however if someone wants to help me troubleshoot I will provide what information I can.

1 Solution

Accepted Solutions
Not applicable
Author

I believe thats because whoever has the right to QV server (like Admin ) should be included in the section access for QV server to be able to reload. If that individual is not there then it can't open the doc and reload it. Just like in a desktop first open the app and then reload. So on the server side the Admin's NTNAME should be in the section access.

Can you please check that.

View solution in original post

13 Replies
Not applicable
Author

Hey Stephan,

A few suggestions I can think of

  • Binary load wont affect section access in any way. Just make binary load the very first statement and then after that put your section access statements
  • In Publisher if you are say distributing to yourself(your NTNAME) then you will be able to see the app on access point but if section access has limitations  for you then you will see only limited data.
  • If you distribute it to you but dont include your name is section access you can see the app but you cant open it.
  • If you are not distributing to you then you wont see the app at all
  • I usually put everything in caps thats related to Section Access. You can use Upper() function to change in your model
  • If you dont have your name in Section Access then are you able to open it in your local machine? 
Not applicable
Author

"If you dont have your name in Section Access then are you able to open it in your local machine?"

Yes. That's what is making no sense at all.

I'm using this syntax, trying to reduce on region.

Am I doing something wrong in here? I used upper() since it's required for loading security from outside tables; and I also made an extra column in my fact table which is exactly the same (upper(Region) as REGION)

SECTION Access;

SATABLE:

LOAD upper(ACCESS),

     upper(NTNAME),

     Upper(REGION)

FROM

$(vDataFiles)SEC.xlsx

(ooxml, embedded labels, table is Sheet1);

SECTION Application;

Not applicable
Author

Can you try this:

Security:

Load Distinct

upper(ACCESS) as ACCESS,

     upper(NTNAME) as NTNAME,

     Upper(REGION) as REGION

FROM

$(vDataFiles)SEC.xlsx

(ooxml, embedded labels, table is Sheet1);

Store Security into Security.qvd(qvd);

Drop Table Security;

Now just use this qvd data in your section access.

SECTION Access;

LOAD ACCESS,

     NTNAME,

     REGION

FROM Security.qvd(qvd);

SECTION Application;

Not applicable
Author

I'll give it a shot but I do not understand what difference that would make?

It's essentially just reloading the same exact table...

Not applicable
Author

I doesnt work when you use

upper(ACCESS)

     upper(NTNAME)

     Upper(REGION)

It should be

ACCESS,

NTNAME,

REGION

If you want you can do this as well:

SECTION Access;

SATABLE:

LOAD upper(ACCESS) as ACCESS,

     upper(NTNAME) as NTNAME,

     Upper(REGION) as REGION

FROM

$(vDataFiles)SEC.xlsx

(ooxml, embedded labels, table is Sheet1);

SECTION Application;



Not applicable
Author

Ah yeah that makes sense; however after modifying my script to rename the fields as you mentioned above, the script fails.

I checked the log and there is no error, it just says in my QMC that the task failed. Any ideas why?

My section access script is the same as the one you posted above.

Not applicable
Author

Did it work in your Desktop version(deny you access)?

Can you attach the log file?

Did you try my first method. Storing it in a qvd and then reading it?

Not applicable
Author

It did not work in Desktop version (I cannot run it locally, but I run it via QMC and open it locally on a network drive via vpn. If I try to run it locally I get different errors)

I did not try the QVD method as I don't see what the difference would be, and would prefer not to create redundant data in QVD form if it can be avoided.

I'm attaching the log file; I made minor changes for privacy reasons.

As you can see in this case the section access is loaded last after all of the variables and the binary load; but I have tried it at the very start (right after the binary load of course) and everywhere in between as well.

Not applicable
Author

I believe thats because whoever has the right to QV server (like Admin ) should be included in the section access for QV server to be able to reload. If that individual is not there then it can't open the doc and reload it. Just like in a desktop first open the app and then reload. So on the server side the Admin's NTNAME should be in the section access.

Can you please check that.