I'm looking for an alternative way to return the SheetId.
I have several applications where the tabs that are shown are based which users is logged in. The security is applied based matching the OSUser() with a Security Table that lists the sheets the user can view. I am successfully using the equation below in conjunction with the security table below to determine if the user has access however it is a bit awkward.
Note currently in order the equitation to work I need to manually edit it for each tab and enter the SheetId. Is there a way I can dynamically pick up the SheetId?
I tried using GetActiveSheetId, the full expression is:
$(=(Chr(39) & GetActiveSheetId() & Chr(39))
this doesn't work because when the sheet isn't active the condition is not true and when the sheet is active the QlikView is not respecting the conditional show.
=MixMatch('QV0502', $(=Chr(39)
&concat(
If(lower(UserId) = lower(OSUser()) ,ScreenCd),
Chr(39)&','&Chr(39)
) &Chr(39)
)
) > 0
Security Table:
UserId SheetId
User1 QV0501
User1 QV0502
User1 QV0503
User2 QV0501
User2 QV0503