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

Announcements
Join us in Toronto Sept 9th for Qlik's AI Reality Tour! Register Now
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Section access reload issue on server

Hi

I have a qvw file with section access. The purpose is that, I want to restrict data visibility based on the attached file(just an example). Admin can see all country data, and users can only see their country data.

When I reload the file on desktop manually which is placed inside Qlikview\SourceDocument folder it runs fine, and then I use to place the qvw inside Qlikview\documents folder so that users can access via Access point. By following this process it works.

But, I want to be a scheduled run on the server, and I have created a task in QVMC which run fine. The document is also distributed to Qlikview\documents folder.

Now when i try to access the qvw using access point I get error msg: Failed to open the document, you might not have permission.

Why is this not working in scheduled run ?

below is my code for section access.

-----------------------------------------------------------------

Star is '*';

Section Access;

User:

LOAD LOGIN as NTNAME,

     ACCESS,

     COUNTRY_CD

FROM[QlikviewUsers.xlsx]

(ooxml, embedded labels, table is Sheet1);

User:

CONCATENATE LOAD * INLINE [

    NTNAME, ACCESS, COUNTRY_CD

    QV_ADMIN, ADMIN, *

];

Section Application;

User_Visiblity:

LOAD LOGIN as NTNAME,

     PROFILE,

     COUNTRY_CD,

     COUNTRY_NAME

FROM[QlikviewUsers.xlsx]

(ooxml, embedded labels, table is Sheet1);

User_Visiblity:

CONCATENATE LOAD * INLINE [

    NTNAME, PROFILE, COUNTRY_CD, COUNTRY_NAME

    QV_ADMIN, Admin, ALL, *

];

----------------------------------------------------------------------------

I have also added QV_ADMIN user in the list through which all our Qlikview services runs on the server. I came to know about this somehow from the community and google.

What else I'm missing here or I need to do some other way ? Let me know if any more detail is required.

Any help is much appreciated.

Thanks,

Roushan

25 Replies
jfkinspari
Partner - Specialist
Partner - Specialist

I'm not sure I agree, when 'Star is * ' is explicitly specified.

I think you should remove the '' around the * (star), making it simply:

Star is *;

Peter_Cammaert
Partner - Champion III
Partner - Champion III

I'm not sure I understand what it is you do not agree with. I certainly could have put it more clearly, sorry.

Peter

er_mohit
Master II
Master II

in setting side of qlikview

for document properties-->security tab-->check on admin override security  and

document properties-->opening tab -->check on initial data reduction based on section access

Not applicable
Author

Could you please provide an example code, how to work with ?

I tried UPPER() function, but no luck.

I also tried Star is * instead of Star is '*', this too didn't work.

Not applicable
Author

Settings have been taken care...still not working

manojkulkarni
Partner - Specialist II
Partner - Specialist II

you should remove single quotes surrounding *,

Star is *;

Not applicable
Author

Yes, I used the same

Star is *;

Not applicable
Author

Can you try this?

Reload the Source Document,then save it.

Then run the task manually on the QMC, then it will distribute your application to the other users.

Now, try to access the document with differenct login credentials.

Regards

Siva Dandu

Peter_Cammaert
Partner - Champion III
Partner - Champion III

I can't provide example code, I'll need an example model for that from you.

But the changes are simple.

  1. In table Users, rename the COUNTRY_CD field to LINKFIELD, or something else.
  2. Delete everything you listed in the above section application. Why? Identities and authentication belong in Section Access. In Section Application you'll provide authorizations only, which in your case means a simple link table listing individual countries.
  3. In Section Application, create a new User_Visibility table and fill it with the country values that occur in your facts tables further on in your data model. Because this table in essence doesn't really do anything except "link", create rows with two fields (e.g. LINKFIELD and COUNTRY_CD) with identical values. If COUNTRY_CD is not the field that connects to the rest of the data model, replace it by something else. However, make sure that LINKFIELD still contains COUNTRY_CD values.

There are multiple solutions for this problem, but they differ mostly because of particular details in your application. And we have no information about that.

Best,

Peter

.

Peter_Cammaert
Partner - Champion III
Partner - Champion III

And by the way, you may ask yourself how you can fill User_Visibility when the facts haven't even been loaded yet... Section Access doesn't have to be at the front of your script, you can put it at the end without any problems.

Peter