14 Replies Latest reply: May 9, 2016 6:58 PM by Stefan Wühl RSS

    Initial data reduction based on section access

    Santosh Prabakar

      We have a dashboard deployed with section access. Previously, we had data for 2014 and 2015. As per the section access, each users can just see their own data.

       

      We updated the DB with 2016 and when I refresh the App and save it, the 2016 data is not showing up in the access point. When I uncheck the Initial data reduction based on section access, then the 2016 data shows up but all the users are able to see all the data. Please advise what's the fix.

        • Re: Initial data reduction based on section access
          Stefan Wühl

          Can you elaborate how your section access table and the reduction fields / link to your section application table look like?

            • Re: Initial data reduction based on section access
              Santosh Prabakar

              Here is the screenshot and the script. If I uncheck initial data reduction, I can get 2016 but all users are able to see the data.

               

               

              Binary [\\hcqvtst\Qlikview_Test\Publisher\SourceDocuments\Analytics\01_Extract_QVW\patient.qvw];

               

              Section Access;

               

              LOAD UPPER(NTNAME) as NTNAME, 

                   UPPER(ACCESS) as ACCESS,

                   UPPER(PROV_ID) as ProviderID_Selected

              FROM

              \\hcqvtst\Qlikview_Test\Publisher\SourceDocuments\Analytics\QVD\Extract\PatientAccess.QVD

              (qvd)

              WHERE 1=1;

               

              Section Application;

                • Re: Initial data reduction based on section access
                  Stefan Wühl

                  I think you should capitalized field names, also for the reduction field:

                   

                  UPPER(PROV_ID) as PROVIDERID_SELECTED


                  (also need to rename the field in section application.


                  I still don't see how your reduction field values are linked to your section application table.

                    • Re: Initial data reduction based on section access
                      Santosh Prabakar

                      There is a data tier which has the below script

                      SecurityProvider:

                      LOAD NTNAME,

                           USER_ID,

                           NAME,

                           PROV_ID as PROV_ID,

                           Practice as Practice,

                           [QlikView App],

                           Access as ACCESS,

                           Active

                      FROM

                      [\\hcqvtst\Qlikview_Test\Publisher\SourceDocuments\Analytics\ExternalData\Section Access.xlsx]

                      (ooxml, embedded labels, table is Section_Access)

                      WHERE [QlikView App] = 'Patient_Experience_Provider' AND Active = 'Y' ;

                       

                      STORE SecurityProvider INTO [\\hcqvtst\Qlikview_Test\Publisher\SourceDocuments\Analytics\QVD\Extract\PatientExpProvider_Access.QVD];

                       

                      DROP TABLE SecurityProvider;

                        • Re: Initial data reduction based on section access
                          Stefan Wühl

                          Do you know how data reduction within section access works?

                           

                          It's using association between a reduction field in section access table and the reduction field in section application (i.e. your resident data model). Pretty much like linking two tables by common field name.

                           

                          If a user logs in and open the QVW, this implies a kind of selection of the user name (NTNAME) in section access table, which reduces the reduction field values (in your case in field PROVIDERID_SELECTED)

                           

                          Then these values are matched against the values in the field PROIDER_SELECTED in section application (i.e. your data model). Again, you can think of like it like a selection in this field.

                           

                          Now your complete data model gets reduced to the possible, not excluded values.

                           

                          Hence, if you miss some data when opening a QVW, and this data is present without section access ( reduction) enabled, you need to look at the values that are present in the two reduction fields that link section access table and your data model.

                           

                          To debug this, you could for example remove

                          Section Access;

                          from the start of your script. Now your authorization table should be loaded into your data model.

                           

                          If you then open the app, you should be able to select the user name and actually see how this selection propagtes through your data model. This should give you a hint what causes your issue.

                           

                          Hope this helps,

                          Stefan

                  • Re: Initial data reduction based on section access
                    Saikrishna Madhireddy

                    Is the Strict Exclusion checked?

                     

                    When you check in the Access Point, what is the Access for that ID? Is it Admin or User. If it is User, what is the Reduction applied applied to that user? can you be more specific.

                      • Re: Initial data reduction based on section access
                        Santosh Prabakar

                        Here is the screenshot and the script. If I uncheck initial data reduction, I can get 2016 but all users are able to see the data.

                         

                         

                        Binary [\\hcqvtst\Qlikview_Test\Publisher\SourceDocuments\Analytics\01_Extract_QVW\patient.qvw];

                         

                        Section Access;

                         

                        LOAD UPPER(NTNAME) as NTNAME, 

                             UPPER(ACCESS) as ACCESS,

                             UPPER(PROV_ID) as ProviderID_Selected

                        FROM

                        \\hcqvtst\Qlikview_Test\Publisher\SourceDocuments\Analytics\QVD\Extract\PatientAccess.QVD

                        (qvd)

                        WHERE 1=1;

                         

                        Section Application;

                      • Re: Initial data reduction based on section access
                        shiv shrotriya

                        Could you please share definition of your Section table. and what is the reduction link?

                          • Re: Initial data reduction based on section access
                            Santosh Prabakar

                            There is a data tier which has the below script

                            SecurityProvider:

                            LOAD NTNAME,

                                 USER_ID,

                                 NAME,

                                 PROV_ID as PROV_ID,

                                 Practice as Practice,

                                 [QlikView App],

                                 Access as ACCESS,

                                 Active

                            FROM

                            [\\hcqvtst\Qlikview_Test\Publisher\SourceDocuments\Analytics\ExternalData\Section Access.xlsx]

                            (ooxml, embedded labels, table is Section_Access)

                            WHERE [QlikView App] = 'Patient_Experience_Provider' AND Active = 'Y' ;

                             

                            STORE SecurityProvider INTO [\\hcqvtst\Qlikview_Test\Publisher\SourceDocuments\Analytics\QVD\Extract\PatientExpProvider_Access.QVD];

                             

                            DROP TABLE SecurityProvider;

                          • Re: Initial data reduction based on section access
                            Manuel Capella

                            Hi Santosh,

                            Has the data format changed? If formats are not same, Section Access will not work.

                            Has users reduction of dates or years?

                             

                            Kind regards

                            • Re: Initial data reduction based on section access
                              Srinivasan Radhakrishnan

                              Hi Santosh,

                               

                              Check your section access reduction field and the section application field values, the 2016 might be filtered as part of your section access reduction

                               

                              or the section application doesn't have the relevant value for that 2016 year.

                               

                              Regards,

                              Srini.

                              • Re: Initial data reduction based on section access
                                Peter Cammaert

                                After reading this thread, I get the impression that your 2016 data doesn't link properly to the section access table values. Has the 2016 data lost a field value that inhibits it from linking to the section access field ProviderID_Selected?


                                If it works for 2014 and 2015 (which in itself is weird) and it stops working for 2016, then the problem is situated in your source data or the LOAD statement for this source data.


                                Peter