Skip to main content
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!
cancel
Showing results for 
Search instead for 
Did you mean: 
jpjust
Specialist
Specialist

Omit certain records

All,

I have an straight table as below in qliksense.

I want to know the best practice to omit certain records in the front end.

App Name             UserID

App1                       Domain\user1

App1                       Domain\user2

App2                       Domain \ user2

App1                      Domain\user3

App2                     Domain\user4

App3                     Domain\user4

For eg.,I want to exclude UserID = Domain\user1  and UserID = Domain\user2 and in the table chart level.

Thanks

5 Replies
anthonyj
Creator III
Creator III

Hi @jpjust ,

I believe Section Access may be what you're after. Just by way of setting out Qlik's terminology for the different use cases:

Reduce: is the action taken to not show row level records. This could be used on a report so that a division head can only see aggregations for their division even though the app has all divisions included.

Omit: This is column level security preventing a report user from viewing data in a column. This could be used to prevent a report user from seeing unmasked data whereas a duplicate of the column may contain masked information. All Row level data is still present.

From your question it sounds like you want to Reduce the records as in the first example so that the report user will only see their specific "Division".

In your Section Access table you add a column called "REDUCTION" and set numeric values (1, 2, 3 etc...) 

Create a mapping table:

Using Division as an example:

ReduceMap:

mapping

load * inline [

Division, REDUCTION

Division 1, 1

Division 2, 2

];

This is then mapped in the load script.

This is the documentation for Section Access:

https://help.qlik.com/en-US/sense/November2021/Subsystems/Hub/Content/Sense_Hub/Scripting/Security/m...

 

Regards

Anthony

MarcoWedel

 

Hi,

you might just have to use a set expression in your chart expressions to exclude those UserID values, e.g. like this:

Count({$<UserID-={'Domain\user1','Domain\user2'}>} [App Name])

 

see also

https://help.qlik.com/en-US/qlikview/May2021/Subsystems/Client/Content/QV_QlikView/ChartFunctions/Se....

hope this helps

Marco

 

jpjust
Specialist
Specialist
Author

Thanks Marco.

Here is my updated table.

AppName                  Stream                            UserName

App1                            Test                                   domain\user1

App2                            Unpublished                domain\user6

App3                            TestA                               domain\user2

App2                            TestB                               domain\user3

App4                           TestC                                 domain\system2

App5                          TestD                                  domain\system1

The requirement here is, I should not show Apps that are part of Unpublished stream and App's that are part of username = domain\system1, domain\system2

In-order to achieve that, here is my expression on dimension AppName

=Aggr(Only({<[App Stream] -= {'Unpublished'}, [User Name] -= {'domain\system1',domain\system2}>}[App Name]),[App Name])

The issue is, the set analysis filter on [User Name]  is not getting any effect although [App Stream] -= {'Unpublished'} takes the effect.

Any thoughts?

Thanks

MarcoWedel

what would be your expected result and what do you get instead?

jpjust
Specialist
Specialist
Author

Here is the output I expect

AppName                  Stream                            UserName

App1                            Test                                   domain\user1

App3                            TestA                               domain\user2

App2                            TestB                               domain\user3

But, the table goes blank when I apply the below expression on app name field

=Aggr(Only({<[User Name] -= {'domain\system1','domain\system2'}>}, {[App Stream] -= {'Unpublished'}>}[App Name]),[App Name])

Very simple expected output but some thing wrong...

Thanks