Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hi Experts,
I just want to apply row level Esccurity in my document for that i have created a Hidden Script for Section Access
that is below.
In Main Script :
LOAD
Month,
Name,
Quarter,
Sales,
Year;
SQL
SELECT Month,Name,Quarter,Sales,YearFROM `D:\eAgisco_BI\Qlik View\Gaurav\MonthlySalesReport.xlsx`.`Sheet1$`;
In Hidden Script :
Section Access;
LOAD * INLINE [
ACCESS, PASSWORD, NTNAME, Name
ADMIN, password, EZEST\GOURAV.SAXENA, Barkclay
USER, password, EZEST\ANU.BANKAR, Reliance
USER, password, EZEST\HIRAK.DAS, Tata
];
Section
Application;
Initial Data Reduction based on Section access is also Checked.
I am expecting that If user Gourav.Saxena will login then he can see record only for Barkclay but it is not happen he can see report for all Name like Tata, Reliance, Baekclay .What is the missing one.
If need please find attachment.
Thanks in Advance.
Sunil is right of course...
Also I think you need to make the values uppercase, like this:
Section Access;
LOAD * INLINE [
ACCESS, PASSWORD, NTNAME, NAME
USER, password, EZEST\GOURAV.SAXENA,BARKCLAY
USER, password, EZEST\ANU.BANKAR, YEAR, TATA
USER, password, EZEST\HIRAK.DAS, NAME, RELIANCE
];
SECTION Application;
ODBC CONNECT TO [Excel Files;DBQ=D:\eAgisco_BI\Qlik View\Gaurav\Yearly_Records.xlsx];
LOAD Year,
Upper(Name) AS NAME, // Make the names uppercase!!
Sales;
SQL SELECT *
FROM `D:\eAgisco_BI\Qlik View\Gaurav\Yearly_Records.xlsx`.`Sheet1$`;
I am not completely sure,
but I think you need to have the names of the fields that connects section access with section application in uppercase.
Try this (note that I changed Name to Name As NAME in Main and Name to NAME in hidden):
In Main Script :
LOAD
Month,
Name As NAME,
Quarter,
Sales,
Year;
SQL
SELECT Month,Name,Quarter,Sales,YearFROM `D:\eAgisco_BI\Qlik View\Gaurav\MonthlySalesReport.xlsx`.`Sheet1$`;
In Hidden Script :
Section Access;
LOAD * INLINE [
ACCESS, PASSWORD, NTNAME, NAME
ADMIN, password, EZEST\GOURAV.SAXENA, Barkclay
USER, password, EZEST\ANU.BANKAR, Reliance
USER, password, EZEST\HIRAK.DAS, Tata
];
Section
Application;
Thanks for Reply GandalfGray.
Still It it not working and showing Complete records. Now i have put Script in Main only.
Complete Script is :
Please Check if ant missing is their :
Script:
Section Access;
LOAD * INLINE [
ACCESS, PASSWORD, NTNAME, NAME
USER, password, EZEST\GOURAV.SAXENA,Barkclay
USER, password, EZEST\ANU.BANKAR, YEAR, Tata
USER, password, EZEST\HIRAK.DAS, NAME, Reliance
];
SECTION Application;
ODBC CONNECT TO [Excel Files;DBQ=D:\eAgisco_BI\Qlik View\Gaurav\Yearly_Records.xlsx];
LOAD Year,
Name AS NAME,
Sales;
SQL SELECT *
FROM `D:\eAgisco_BI\Qlik View\Gaurav\Yearly_Records.xlsx`.`Sheet1$`;
LOAD Year,
Quarter,
Name AS NAME,
Sales;
SQL SELECT *
FROM `D:\eAgisco_BI\Qlik View\Gaurav\Quaterly_Records.xlsx`.`Sheet1$`;
LOAD Month,
Name AS NAME,
Quarter,
Sales,
Year;
SQL SELECT Month,
Name,
Quarter,
Sales,
Year
FROM `D:\eAgisco_BI\Qlik View\Gaurav\MonthlySalesReport.xlsx`.`Sheet1$`;
goto document properties-> opening-> Intial data resuction based on section access
check it
and
uncheck restrict Exclusion
hope this helps
Sunil is right of course...
Also I think you need to make the values uppercase, like this:
Section Access;
LOAD * INLINE [
ACCESS, PASSWORD, NTNAME, NAME
USER, password, EZEST\GOURAV.SAXENA,BARKCLAY
USER, password, EZEST\ANU.BANKAR, YEAR, TATA
USER, password, EZEST\HIRAK.DAS, NAME, RELIANCE
];
SECTION Application;
ODBC CONNECT TO [Excel Files;DBQ=D:\eAgisco_BI\Qlik View\Gaurav\Yearly_Records.xlsx];
LOAD Year,
Upper(Name) AS NAME, // Make the names uppercase!!
Sales;
SQL SELECT *
FROM `D:\eAgisco_BI\Qlik View\Gaurav\Yearly_Records.xlsx`.`Sheet1$`;
Hey,
Now it's Working after checkout Strict Exclusion and putting uppercase in Name field.
Thankyou very Much to both Sunil and GandalGray.
.