Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Join us in Bucharest on Sept 18th for Qlik's AI Reality Tour! Register Now
cancel
Showing results for 
Search instead for 
Did you mean: 
gauthamchilled
Creator
Creator

Load particular table from different user

Hi

I have a scenario like this.

I have a whole application with Dimensions and Facts. I loaded with Admin Rights.

Lets say I'm User A. After I load the file, I want to pass this file to another person in another country, lets say User B.

After User A reloads the whole application and pass it to User B.

User B wants to load some customer details which is confidential (User A dont have access to that dataset). Since the QVw already have customer id, when User B reloads the application only the customer information alone to be reloaded and joined with existing data model.

how can i do this?

11 Replies
Anil_Babu_Samineni

I didn't follow you correctly. May be helpful

https://community.qlik.com/thread/141181

Section Access (English)

Best Anil, When applicable please mark the correct/appropriate replies as "solution" (you can mark up to 3 "solutions". Please LIKE threads if the provided solution is helpful
gauthamchilled
Creator
Creator
Author

Sorry Not helpful.

gauthamchilled
Creator
Creator
Author

USER A is the owner of a dataset with customer id  and dont have access to employee who works for customers.

USER B is having the access to employee who works for customer dataset.

After User A loads the application transfer the qvw file to another country.

USER B have to load the data (mapping customer id with employee) from his country so as to get the employee details in the same dashboard.

Add load appends the data to a table, whereas my requirement is to add a particular table and link it with the datamodel. Not sure how can i allow the USER B to load the mapping table alone in the existing qvw.

Anil_Babu_Samineni

May be Helpful, In fact, still not considerable from my end. You may recommend legends for new reply.

Load CustomerId, Country

From <Country1>

Load CustomerId, Country

From <Country2>

If userA has to create the data set for Country1 and then UserA tranfer that file to Country1. From here, Where you all transferring the files. I meant which server

If we need to match from One country to another country this will help you

ABC:

Load CustomerId, Country from Country1 Where Country = 'IND';

XYZ:

Load CustomerId, Country from Country2 Where Country = 'USA';

FinalTable:

Left Join(ABC)

Load *, ApplyMap(CustomerID,'ABC') as Country1 Resident XYZ

Drop Tables ABC, XYZ;

Best Anil, When applicable please mark the correct/appropriate replies as "solution" (you can mark up to 3 "solutions". Please LIKE threads if the provided solution is helpful
PaulVanSiclen
Employee
Employee

user B could use a 'binary load', here is the help file on that:

Is binary load supported in Qlik Sense ?

I employ this method often.

gauthamchilled
Creator
Creator
Author

I need to use the same application. Is there any better solution?

adamdavi3s
Master
Master

Just use a partial reload for this.

Give user B a button which executes a partial reload to load their customer data.

Unless I am missing the point here?

ADD load can create new tables, however you do need to create a dummy 'shell' table for it to work with

As long as your code works it will be fine, try this out:

departmentdetails:

LOAD * INLINE [

Department,Multiplier

  ];

ADD LOAD * INLINE [

Department, Multiplier

A,  100

B, 200

C, 300

D, 400

];

IF IsPartialReload() = 1 THEN

EXIT SCRIPT

END IF

Transactions:

Load

'1' as TransCounter,

TransLineID,

TransID,

mod(TransID,26)+1 as Num,

Pick(Ceil(5*Rand1),'A','B','C','D','E') as Department,

Pick(Ceil(6*Rand1),'0','1','2','3','4','5') as Status,

Pick(Ceil(2*Rand1),'0','1') as OverdueFlag,

makedate(Ceil(2017-(3*Rand())),Ceil(12*Rand()),Ceil(28*Rand())) as OrderDate,

date(if(100*rand() >5,makedate('2017',Ceil(12*Rand1),Ceil(28*Rand1)),null())) as ShippedDate,

money(round(RAND()*25000,0.01)) AS Value;

Load

Rand() as Rand1,

IterNo() as TransLineID,

RecNo() as TransID

Autogenerate 10000

While Rand()<=0.5 or IterNo()=1;

gauthamchilled
Creator
Creator
Author

Adam Devies,

My scenario is adding a new table (mapping).

For Eg:

User A:

Sales:

Load * inline

[

Country,Year,Sales,CustomerID

......

......

.....

];

Customer:

Load * inline

[

CustomerID,CustomerName,EmployeeID

.....

......

......

.....

];

User B hav below table:

Employee:

Load * inline

[

CustomerId,EmployeeId,Employeename,salary

.....

......

......

......

];

I cant use Add load which is for just concatenating the records, but there linking the customer table with employee table...

i just need a solution without using Binary load.

Please help

adamdavi3s
Master
Master

Did you actually try my example out?

Employee

LOAD * INLINE [ 

CustomerId,EmployeeId,Employeename,salary

  ]; 

 

ADD LOAD * inline

[

CustomerId,EmployeeId,Employeename,salary

.....

......

......

......

];

IF IsPartialReload() = 1 THEN 

 

 

EXIT SCRIPT 

END IF

Sales:

Load * inline

[

Country,Year,Sales,CustomerID

......

......

.....

];

Customer:

Load * inline

[

CustomerID,CustomerName,EmployeeID

.....

......

......

.....

];