2 Replies Latest reply: Apr 24, 2010 12:57 PM by Karl Pover RSS

    Question on section access

      Does anyone know if you have to specify all possible values in your reduction fields to allow people with "full" access to see them? It was my understanding that putting a * in the reduction field would allow a user to see all possible values. I've run into an interesting situation...

      I have ~150 possible choices in the field I am using for reduction in section access. In my section access statement I list out about 20 users with their respective value for the reduction. I also have about 10 people who should be able to see ALL data, meaning all 150 choices. What is happening is that these power users are seeing all data, but only for the 20 choices listed in my section access. They aren't seeing the other 130 choices. Even under my ID, which is listed as an Admin with no reduction, I only see the 20 choices.

      Help?

        • Question on section access
          Rakesh Mehta

          You need to put null() as the value to be able to allow to see all the values of that field in Section Access..

          • Question on section access
            Karl Pover

            Wes,

            The * means all values that are listed in the section acess table. Puting nothing or blank means all values.

            This will work in the developer, but on the server it will not work unless you disable the option in Document Properties -> Opening -> Strict Exclusion. If this is selected you must explicitly define the choices of each user, which is the best way to secure your QlikView.

            Using blank o * with work fine if you're an Admin, but you want to consider joining the 10 users with all the possible values in the QlikView script so that the values are explicitly defined and you don't have to do it manually. Something like the join below to get the cross product between the users that see all and all the data that they can see:

            Load USERID,
            1 as ID_Users
            from table.xls
            where Employees='*';
            Left Join
            1 as ID_Users,
            Employee //All employees that exist
            from employees.xls;

            Regards.