Come across a unique use case which I am unsure if can be resolved with standard row level data reduction that comes out of the box with section access. Any guidance would be of great help as this is a blocker in terms of the client adopting Qlikview going forward.
For the sake of communicating the requirement, lets assume the data model has below 2 tables (linked by the field Client).
|Client||Call Report ID||Type|
|A||2||Face to Face|
|B||4||Face to Face|
|B||5||Face to Face|
|B||6||Face to Face|
Requirement: Reduction needs to happen at the Client level (straightforward). However, 'Call report ID's also need to be further restricted based on the user.
a: User1 (John) should only have access to Client 'A' and Call Report ID '1' (If reduction field is set as client, John will see call report IDs - 1,2,3 which is why simply reducing by client won't work)
b. User2 (Steve) should only have access to Client 'B' and Call Report ID '4,5,6' (If reduction field is set as client, Steve will see call report IDs - 4,5,6,7 which is why simply reducing by client won't work)
Note: The data model has 10 other tables, the solution needs to be applied across the board. As some of you might have realized, we are attempting the inherit Sales force entitlements in Qlikview.
Is this feasible? Kindly share the working solution ASAP if you could.
Solved! Go to Solution.
I'm not sure if I get your problem correcty, but couldnt you just have two reduction fields in your section access, Client and Call Report ID? Like this:
LOAD ACCESS, USERID, PASSWORD, CLIENT, subfield([CALL REPORT ID], '|') as [CALL REPORT ID]
ACCESS, USERID, PASSWORD, CLIENT, CALL REPORT ID
ADMIN, ADMIN, 123, *
USER, USER, 123, A
USER, JOHN, 123, A, 1
USER, STEVE, 123, B, 2|5|6]
LOAD * INLINE [
LOAD * INLINE [
CLIENT,CALL REPORT ID,Type
A,2,Face to Face
B,4,Face to Face
B,5,Face to Face
B,6,Face to Face
Not sure if anything changed between versions, but my understanding was that section access does not support multiple reduction fields. Will try it out though.
Sorry, not sure I understand.
The requirement is that:
John should ONLY see Call Report ID 1 for Client A. Steve should ONLY see Call Report ID 4,5,6 for Client B
To add: John could also be required to ONLY see Call Report ID 4 for client B in addition to Call Report ID 1 for Client A.
Also, the analogy to the selection is unclear to me:
Off tangent - If a sample table is created as below with list boxes Name and ID on the UI, 1 is associated when John is selected, 1 ans 2 are not associated when you select John. It could be due my lack of understanding of what is being communicated, please clarify if possible.
You can either use generic keys
or make composite keys
Client & '-' & [Call Report Id]
and make your reduction on the composite key.
Using composite keys is less of an option as the fields to be used are in different fact tables tables and cannot be brought into one by joining or link table creation.
I can explore generic keys and revert back with findings.
Thanks for your input.