It's always possible. You only need to use the section access in your document with a reduction field. Check this very simple example of script
SECTION ACCESS; // Admins, users and their passwords and grants // The field for reduction is CONTINENT // All fields and values MUST be UPPERCASE // If you want ADMIN to see everythin, live blank the value under CONTINENT LOAD * INLINE [ ACCESS, USERID, PASSWORD, CONTINENT ADMIN, ADMIN, ADMIN USER, EUROUSER, EUR, EUROPE USER, AMERUSER, AME, AMERICA ]; SECTION APPLICATION; // Each user above has a correspondence in the CONTINENT field // So they will only see COUNTRY values corresponding to their value in CONTINENT Data: LOAD * INLINE [ CONTINENT, COUNTRY EUROPE, ES EUROPE, UK AMERICA, US AMERICA, PA ];
Once the script is in place, and before reload it, back it up. go to the Settings menu, Document Properties, Opening and click on "Initial Reduction Based on Section Access".
Once you reload the document, the permissions will be in effect. So from now on, every time you open the document you will be prompted, and depending on the credentials you use, you will see all data (ADMIN) or only the countries to their correspoding users.
It's worth noting that when you open a document wih section access, some reduction takes place, meaning that the records are actually removed from memory, so you will need to reload every time before accessing as a different user or you may be locked out.
Hope that helps.
Section Application is used to tell QlikView that what comes below is the actual data loading script. The only rules to make the reduction field successfully work are:
- It must exist in your data model, so if reduction field is called SalesPerson in the Section Access part, it must exist a SalesPerson field anywhere in the Section Application part (read this the part of the script where you load normal -no security- data).
- Values must be the same in both Section Access and Section Application, uppercase in this case.
- Field names must be exactly the same, in both Section Access and Section Application.
- And of course, values listed in Section Access must exist in Section Application.
Hope that helps.