Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
My requirement is to change the sheet title image based on the user logged in. Our dashboard is accessed by different clients and I want to display the image based on user logged in.
Unfortunately you cannot dynamically change the app thumbnail or header image.
You can get creative, however, for showing an image dynamically in the sheet itself. There are almost certainly a few extensions that would allow you to achieve this, but if you are constrained to using only out-of-the-box Qlik objects, you could achieve this using the Map object.
You could use the OSUser() function to dynamically determine who is viewing the app. Depending on how you have it set up, you could use the client domain name to determine which client logo to show.
It would look something like this:
='https://localhost:9933/appcontent/54e0f2de-db95-4e7a-8090-536c71656170/'
& Pick(Match('$(vCurrentClient)', 'GHJUSERS', 'IOPDOMAIN', 'XYZAZURE')
, 'GHJ-pic'
, 'IOP thumbnail'
, '2023 XYZ logo'
) & '.png'
Just replace the localhost:9933 part with your Qlik hostname (whatever is normally in your URL when you use Qlik), replace that app ID with the ID of you current app (also available in your URL).
The other important part here is the stuff inside the Pick(Match(...)). The arguments in the Match() function are the possible user directory values you'd want to show a dynamic image for. The arguments to the Pick() function are the matching file names for those images files you uploaded in the previous steps.
'[[-11, -7],[-11, 7],[11, 7],[11, -7]]'
=TextBetween(OSUser(), '=', ';')
That should be enough to get this working:
You could probably adapt this to use Section Access instead if you don't differentiate clients on the user directory values.