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: 
Anonymous
Not applicable

how to create section access table in QEMC?

AccessNTNAMEZONETab1
ADMINJDOE*1
ADMINJMOE*1
USERUSER1A1
USERUSER2B1

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.

1 Solution

Accepted Solutions
Not applicable
Author

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);

View solution in original post

9 Replies
Not applicable
Author

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);

Anonymous
Not applicable
Author

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

Anonymous
Not applicable
Author

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:

QMC_sample.PNG

section_access_QMC.PNG

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?

!

Anonymous
Not applicable
Author

excel file attached

Anonymous
Not applicable
Author

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

Anonymous
Not applicable
Author

Shivendookumar‌, any suggestions? * is not letting Admin see data on all listed zones.

Anonymous
Not applicable
Author

"*" in QMC is letting ADMIN see all listed values in the app. Help!

Not applicable
Author

It should work.

Here is another link you may guide you:

Star is *

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.

Anonymous
Not applicable
Author

Thanks Shivendoo for replying. I will post again once I try it out.