W Qliku funkcją „OSUser()” możemy pobrać nazwę systemową zalogowanego użytkownika. Może się to przydać, gdy jeden z obiektów lub zakładka ma być widoczna TYLKO dla tego wybranego użytkownika / użytkowników, a nie chcemy implementować Section Access. Chciałbym tutaj zwrócić uwagę jednak na ważną kwestię, że funkcja OSUser() może zwrócić inną nazwę w Desktopie, a inną na portalu Access Point ! Chodzi tu o wielkość liter.

Przykład na Desktopie funkcja OSUser() zwraca:

A w przeglądarce może to wyglądać tak:

Qlik jest wrażliwy na wielkość liter i to co widzimy w Desktopie może nie działać z tego powodu na Serwerze. Zatem jeśli chcemy jednoznacznie określić nazwę użytkownika najlepiej wymusić wielkość liter funkcją UPPER.

Przykład implementacji wyświetlania zakładki tylko dla wskazanych użytkowników (ważne – wszystko DRUKOWANE):

= match( UPPER(OSUser()) , 'DOMENA\JAN.KOWALSKI', 'DOMENA\JAN.NOWAK' ) 

Funkcja match zwraca pozycję wystapienia wartości w zbiorze kolejno podanych. Jeśli pozycja szukana nie występuje, zwraca 0. Tak więc świetnie nadaje się do wykorzystana jako warunek pokazania obiektu/arkusza:

————————————-

21.09.2016   Dzięki uprzejmości Barta Zduńczyka pragnę dodać, że w przypadku gdy nie chcemy, by funkcja match była wrażliwa na wielkość liter, możemy użyć funkcji MixMatch. W jej przypadku nie jest koniecznym używanie funkcji UPPER ani drukowania kolejnych pozycji na liście. Możemy np. pobrać listę użytkowników z Excela i funkcją MixMatch(OSUSer() …) dokonać wyszukania zalogowanego użytkownika z listą użytkowników.

 

=OSUser() + match lub mixmatch