Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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
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
Hi Amit,
Please go through this link:
http://www.analyticsvidhya.com/blog/2014/12/qlikview-section-access-document-authorization/
Hope it will helpful!!
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
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
Thanks Sundar, I got the solution, its like the way you are telling.
welcome