0 Replies Latest reply: Mar 31, 2016 10:29 AM by Dalton Ruer RSS

    Increasing Adoption via the OSUser() function

    Dalton Ruer

      A customer I was helping the other day was trying to build an application that surfaced their help desk ticketing system data. It reminded me of one of my very first projects as a Qlik developer several years back.

       

      I had built a similar application and one of the departmental managers said “Why do I have to scroll through a list of users to find myself in order to see the tickets for my group?” I jokingly said “I suppose you expect the system to just know who you are and just show you the right information.” He responded that was exactly what he wanted.

       

      Well as it turns out … Qlik has a function named OSUser() that does just that. It tells you who is logged in. I loved it. Started using it all of the time to help build adoption through simplicity.

       

      Anyway, this isn’t about me and my good ‘ole days years ago. This is about my customer who is now using Qlik Sense instead of QlikView. I told them I would whip up a quick example and I discovered that the return value is different within Qlik Sense. In QlikView my user returns as “QTSEL\DRR” but Qlik Sense returns my information as “UserDirectory=QTSEL; UserId=drr”.

       

      Using a little string logic we can modify the return to show what QlikView used to show using the formula:

      Upper(Replace(Replace(Replace(OSUser(),'UserId=',''),'UserDirectory=',''),'; ','\'))

       

      But what my customer really needed was just the UserId portion of the string which is returned like so:

      UPPER(SubField(OSUser(),'UserId=',2))

       

      By combing OSUser() and the Sheet Navigation + Actions for Qlik Sense extension from Qlik Branch that Stefan Walther wrote my customer was able to quickly add value to their application.

       

      Adding a button that says “Open Work Assigned to Me” is almost a no brainer. We simply populate two actions to assign the values to the Assigned To person and the Status field. Voila any end user can quickly press a button and filter to their open tickets.


      OepnWorkButton.png

      Properties.png


      How about a button for OpenWorkByMe.png so that they can see tickets they’ve created that haven’t been closed.


      Or … what about “Open Tickets that are past due?”


      Perhaps … “Open tickets for my group that are unassigned.”


      The purpose of this quick post is two fold:

      1. Introduce you to the OSUser() function and help you start dreaming. Because once you know who the user is you can do a lot of things to make their life easier and help increase adoption and satisfaction.
      2. Post something about the clear difference I see in the return value of the function and share ways to change it for those old timers like me that are used to coding the way Qlikview returned the result.