Skip to main content
Woohoo! Qlik Community has won “Best in Class Community” in the 2024 Khoros Kudos awards!
Announcements
Nov. 20th, Qlik Insider - Lakehouses: Driving the Future of Data & AI - PICK A SESSION
cancel
Showing results for 
Search instead for 
Did you mean: 
mishraamit2485
Creator
Creator

Row level data reduction as well as hide the entire column

Hi All,

We are in some situation need your help here.

Requirement is to hide row level data based on the unit and country, I'm able to do that

How it is being done is------> Creating a security key using Unit & Country col and joining that with my fact table...giving one example here please open the attached XLS.

If user Tom has access to Unit one and country A Tom will see only that row(Sale rev Margin)(1,0,0.1)

likewise if Micky has access to unit 1 and country B than Micky will see only that row(2,9,0.2)

This is being done as we have data at country level and Unit level in our fact

there are two kinds of users in our security QVD (SR(Sale Rev) and SRM(Slae Rev Margin)) now i have to hide the whole Margin columns from 3rd user

e.g Usr Jhon has access to Unit 1 Country C than Jhon should see only Sale and Rev not the Margin, now the problem is is user has access to entire row how can i hide the Margin column?

Also attaching my Security QVD in xls

1 Solution

Accepted Solutions
sundarakumar
Specialist II
Specialist II

I could not understand for which user you want the data to be reduced. You can add omit in the final step like

Security_final:

Load

NTNAME ,

'MARGIN'  as OMIT

,

// concatenate Country and Unit to form the Securitykey ,

COUNTRY & '-' & UNIT as SECURITYKEY Resident UNIT joint this key to fact table.

If you have a logic to find out to which user you need to omit this field you will have to implement it similar the left joins you have used for country and unit levels.

-Sundar

View solution in original post

5 Replies
Anonymous
Not applicable

mishraamit2485
Creator
Creator
Author

Hi,

My problem is I do not provide user to put user ID and password, they login to the application using their NT Names.

Load * inline [

ACCESS, NTNAME]

Here how can I OMIT?

How i'm reducing the Row level data is like.

Unit:

load upper(NTNAME) as NTNAME ,

COUNTRY as COUNTRY_NAME  

Resident COUNTRY_FINAL

left join (UNIT)

load  upper(NTNAME) as NTNAME ,

UNIT as UNIT  

Resident UNIT; 

Security_final:

Load

NTNAME ,

,

// concatenate Country and Unit to form the Securitykey ,

COUNTRY & '-' & UNIT as SECURITYKEY Resident UNIT joint this key to fact table

sundarakumar
Specialist II
Specialist II

I could not understand for which user you want the data to be reduced. You can add omit in the final step like

Security_final:

Load

NTNAME ,

'MARGIN'  as OMIT

,

// concatenate Country and Unit to form the Securitykey ,

COUNTRY & '-' & UNIT as SECURITYKEY Resident UNIT joint this key to fact table.

If you have a logic to find out to which user you need to omit this field you will have to implement it similar the left joins you have used for country and unit levels.

-Sundar

mishraamit2485
Creator
Creator
Author

Thanks Sundar, I got the solution, its like the way you are telling.

sundarakumar
Specialist II
Specialist II

welcome