Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Access | NTNAME | ZONE | Tab1 |
---|---|---|---|
ADMIN | JDOE | * | 1 |
ADMIN | JMOE | * | 1 |
USER | USER1 | A | 1 |
USER | USER2 | B | 1 |
I am creating section access autho table in QMC. The goal is to let USER1 & USER2 access only zone A and B respectively but the ADMINS should have access to all zones. When I use '*' in QMC it does not recognize that as giving access to all values of zones. How can this be achieved. It seems it can be done by using authorization bridge table but i do not know where to start. Any help would be highly appreciative.
Hi,
Is your section Access data coming from AD Database?
If that is the case then No need to create table in QMC. You may write a query for Section access and directly Fetch the data from your AD Database. By doing this you may reduce the effort of creating and maintaining Table at QMC.
To Create Section Access Table at QMC follow below Steps:
Go to Users-->Section Access Management-->Click on Section Access Tables (There will a default)--> You may use Default or may create new by clicking on + symbol -->For New add a name for that table and click on apply-->Then expand the Section Access Tables--> Select your created table--> Now either you can add the columns and users one-by-one or else Create a Excel with required columns and data and then click on Import data and copy the data from your excel and paste it in import table data option.
Once table created then how to use this in your query (Script)--> Click on Section Access Tables tab--.>Section Access URL and copy it
Now go to your application -->Edit Script--> Click on Insert Tab-->Section Access--> Publisher Authorization-->Enter the URL you had copied from QMC
Ans to your Question-->
* means that the JDOE and JMOE will have access only to Zone A and B. * indicates access to all the values entered here. So you have entered here only Zone A and B
Best way to test it--> 1st keep you data into Excel and call that Excel in Section Access. For Example:
/*Section Access START*/
Section Access;
SECTION_ACCESS:
LOAD ACCESS,
UPPER(NTNAME) AS NTNAME,
UPPER(ZONE) AS %ZONE,
UPPER(TAB1) AS %TAB1
FROM
(ooxml, embedded labels, table is QlikViewADMIN_USERS);
Section Application;
/*Section Access END*/
'Employee':
LOAD
%ZONE,
ZONE_NAME
FROM D:\ZONE_DATA.qvd(qvd);
Hi,
Is your section Access data coming from AD Database?
If that is the case then No need to create table in QMC. You may write a query for Section access and directly Fetch the data from your AD Database. By doing this you may reduce the effort of creating and maintaining Table at QMC.
To Create Section Access Table at QMC follow below Steps:
Go to Users-->Section Access Management-->Click on Section Access Tables (There will a default)--> You may use Default or may create new by clicking on + symbol -->For New add a name for that table and click on apply-->Then expand the Section Access Tables--> Select your created table--> Now either you can add the columns and users one-by-one or else Create a Excel with required columns and data and then click on Import data and copy the data from your excel and paste it in import table data option.
Once table created then how to use this in your query (Script)--> Click on Section Access Tables tab--.>Section Access URL and copy it
Now go to your application -->Edit Script--> Click on Insert Tab-->Section Access--> Publisher Authorization-->Enter the URL you had copied from QMC
Ans to your Question-->
* means that the JDOE and JMOE will have access only to Zone A and B. * indicates access to all the values entered here. So you have entered here only Zone A and B
Best way to test it--> 1st keep you data into Excel and call that Excel in Section Access. For Example:
/*Section Access START*/
Section Access;
SECTION_ACCESS:
LOAD ACCESS,
UPPER(NTNAME) AS NTNAME,
UPPER(ZONE) AS %ZONE,
UPPER(TAB1) AS %TAB1
FROM
(ooxml, embedded labels, table is QlikViewADMIN_USERS);
Section Application;
/*Section Access END*/
'Employee':
LOAD
%ZONE,
ZONE_NAME
FROM D:\ZONE_DATA.qvd(qvd);
Hi Shivendoo,
Thank you for the reply. I am new to QMC and have not really worked with section access. so I may have noe been accurate on explaining the scenario.
1) The client req is that we dont wan to keep an excel file. We want to move it to QMC
2) I know how to create section access table in QMC but do not know how to use fields for reduction, both for users will limited access and ADMINs with unlimited access
3) the reduction zone field I have used "ZONE" is not the exact same as in the application.(RealZONE is the actual field name) This is because I want to reduce the data at expression level in each chart. for eg sum(if(ZONE=RealZone,productID)) will reduce the data to RealZONE 'A' for USER1. There is another chart which USERS 1 and 2 should be able to see data for zones A and B. In that particular chart I will not use ZONE=RealZone and that should let users 1 & 2 see both data. However for Admins JDOE & JMOE, I want them to see all zone A,B,C&D. As you pointed out assigning a * under ZONE for either of the admin will give them access to only A&B, which Is not what I want.
so how do I achieve it. creating a qvd seems like a solution but I do not know where to start. If it is not clear, I will explain again. Thanks
I have come to learn a few things and am explaining what I have:
I have attached an excel file which is my data to illustrate the question I have.
first of all, I have the following in Hidden script:
Section Access;
LOAD DISTINCT
Upper(ACCESS),
Upper(NTNAME) as NTNAME
FROM
myserver/autho_table
(html, utf8, embedded labels, table is [QVtab1]);
Section Application;
Star is *;
Section_Access:
LOAD
Upper(NTNAME) as NTNAME,
Upper(ZONE) as ZONE,
SH02
FROM
myserver/autho_table
(html, utf8, embedded labels, table is [QVtab1]);
this is what my section access table in QMC looks like:
Total Sales1: this chart has restriction :>>> sum(if(Status='Active' and ZONE=Real_ZONE,Sales)) users will see data per security. for eg jdoe2 will only see zone C data. jdoe3 can see all listed zones.
Total Sales2: this chart does not have any restriction because as per requirement all users should be able to see all data
for this metrics irrespective of zone designation
My question is as long as ZONE lists all zone values, having a * will allow access to all data, correct?
and, I should only list those sheets that have a conditional show/hide in the sec access tab in QMC, correct? For eg. If I have 10 sheets and 8 of them are on always show, not listing on the QMC table will still be available to all user. correct?
!
excel file attached
I am having problem and I need help. star " * " is working in a smaller sample app but it is not working in my actual app which is 12mb. However if I reduce data to a certain zone, the table set in QMC works. but If I set Zone value to *, the chart is blank. I need some help please
Shivendookumar, any suggestions? * is not letting Admin see data on all listed zones.
"*" in QMC is letting ADMIN see all listed values in the app. Help!
It should work.
Here is another link you may guide you:
As you have mentioned that you have field RealZONE and not ZONE. That is fine you may handle this case by using alias name.
So in Section Access you may write:
Section Access;
LOAD DISTINCT
Upper(ACCESS),
Upper(NTNAME) as NTNAME,
Upper(ZONE) as ZONE,
SH02
FROM
myserver/autho_table
(html, utf8, embedded labels, table is [QVtab1]);
Section Application;
Tab1:
Load
ProductID,
RealZONE as ZONE,
RealZONE ,
Status
FROM Abc.qvd
and in this case ZONE and ZONE will join and do the reduction. and * will also work.
Thanks Shivendoo for replying. I will post again once I try it out.