Qlik Community

Ask a Question

QlikView App Dev

Discussion Board for collaboration related to QlikView App Development.

Announcements
LINKEDIN LIVE: Democratizing data to enhance customer-centricity. JULY 29TH REGISTER TODAY
cancel
Showing results for 
Search instead for 
Did you mean: 
kumarreddy257
Creator
Creator

Dynamically chart visible to users(grooup)

Hi All,

I have a small doubt,suppose if we have more than 100 charts in dashboard it is difficult to declare like below

ChartAccess:

LOAD * INLINE [

USERID, CH01, CH02

A,1,1

B,1,0

C,0,1

D,1,1];

Is there any alternative way to achieve this dynamically  and also suppose if we want to assign to particular chart particular group . What would be the solution.

Can anyone explain or send me sample app

Thanks.

6 Replies
Peter_Cammaert

Replace the USERID field in ChartAccess by a GROUPID field. Every GROUPID comes with a distinct object access mask. You'll need fewer entries in this ChartAccess table, I guess.

Now decide on how many different groups you need (not every user has a different usage pattern), and assign each user to a specific GROUPID.

Peter

kumarreddy257
Creator
Creator
Author

Hi Peter,

Thanks for ur reply.

If I have minimum 20 groupID and 66 charts. In that do we need to mention all charts and groupID's in the same pattern as we mentioned in earlier.

Regards,

Kumar

Peter_Cammaert

Well, you will have to enter at least 20 GroupID lines in your ChartAccess table.

But the 66 columns can be replaced with a 66 character string consisting of 1's and 0's that indicate the visibility of a particular object. This only works if all of your "switchable" objects have successive object IDs.

Or even better, you can replace the 66 columns with a text string that lists enabled Object IDs,  If your users on average have access to only a reduced range of objects, this type of ChartAccess table might be more efficient to manage:

ChartAccess:

GroupID, ObjectList

GROUP01, CH01;CH02;CH03

GROUP02, CH10;CH20;CH30;CH40;CH50

GROUP03, CH50;CH51;CH52;CH53

:

A Wildmatch(ObjectList, 'CHxx') in every Object Conditional Show will do the trick.

You should perform an analysis of users & object access rights first. How many objects do your users need access to on average?

Peter

kumarreddy257
Creator
Creator
Author

Some users(super users) want to see almost all objects. This is where my problem occurring.

Peter_Cammaert

You can add a second column in your ChartAccess table with chart symbols to deny access to. For example, if a user should be allowed access to all objects except four on a sheet with employee information, put those four symbols in the second column.

Still, you should first perform an analysis of users & object access rights first. How many objects do your users need access to on average?


Peter

Peter_Cammaert

Another possible improvement for permission manageability may be to store all groups and access rights in an Excel file, and load your ChartAccess table content from there. May prove easier to work with.

Peter