Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
TPoismans
Partner - Contributor III
Partner - Contributor III

Qlik Sense Enterprise Passing Parameters through reload task

Hi all

 

My colleagues and I are looking into switching from QlikView Server to Qlik Sense Enterprise.

One function we heavily rely on in our QlikView Server is the ability to pass a paramater when reloading an app. As far as we've seen, this is not possible in Qlik Sense.

Is this feature not available in Qlik Sense Enterprise or are we overlooking things?

 

Regards,

Tim P.

Labels (3)
9 Replies
ChiragPradhan
Creator II
Creator II

Hi,

I haven't seen a similar feature in Qlik Sense. It depends on your requirement but you could achieve something similar using custom properties or extensions or in the Qlik Sense script.

We were also using parameters in our QlikView estate before we migrated to Qlik Sense but we were only using it to setup the environment for the data connections. We have now achieved that in Qlik Sense script using the ComputerName() function.

https://help.qlik.com/en-US/sense/April2019/Subsystems/Hub/Content/Sense_Hub/Scripting/SystemFunctio...

HTH

chirag

TPoismans
Partner - Contributor III
Partner - Contributor III
Author

We're using the script parameters in QlikView Server to produce multiple files out of one template.

 

For example: We have the template [Company.qvw]. We also have Company A, B and C.
Through the script parameters, we sent A, B and C to the app when the reload task triggers and as a result, we get three separate apps: Company A, Company B and Company C, each with their respective data.

 

Regards,

Tim P.

Levi_Turner
Employee
Employee

So specifically you're interested in loop and reduce functionality in Qlik Sense? If other types of distributions, what are  they?

TPoismans
Partner - Contributor III
Partner - Contributor III
Author

Exactly. In the end, you'll end up with identical applications, but filled with different data (which is controlled by the script parameters we can set for a reload task in QlikView Server).

I wanted to know if something like it was available in Qlik Sense Enterprise. As far as my colleagues and I have seen, it isn't.

And sorry, don't really understand your second question.

 

Regards,

Tim P.

ChiragPradhan
Creator II
Creator II

Is there a reason why you would want 3 separate apps in Qlik Sense?

If it is only for data reduction, wouldn't it be easier to manage one app and control data access via Section access?

Or are you distributing the 3 apps separately because they are consumed differently? Which is what I am assuming @Levi_Turner is most probably referring to in his question about distribution types i.e. email/folder/servers. 

Regards,

Chirag

TPoismans
Partner - Contributor III
Partner - Contributor III
Author

My example uses 3 companies, in reality we have about 10 companies that make use of the same template app, 7 of another template app and more.
Having all the data of those companies in one app and limiting it through Section Access isn't an option.

Data isn't reduced either. We have a QVD Generator app that fetches the data for all our companies and stores the qvd files in folders. Folders are named after the company. The script parameters determine for which company the app is reloaded and from which folder data needs to be fetched.

In our QlikView server. apps used to be stored in folders after the reload.
With Qlik Sense Enterprise, our apps will be (re)published per Business Unit (/per template app), or that's what we are trying to achieve.

Levi_Turner
Employee
Employee

Ultimately I am trying to suss out what unique capabilities inside of QlikView that you're using which you aren't finding in Qlik Sense. That style of functionality would be called Loop and Reduce. It loops through a dimension and creates sub QVWs based on the values in the dimension. As you mentioned, this makes distributing a subset document easier rather than using Section Access to reduce the available values to the subset the user or set of users should be permitted to see.

 

In terms of how to accomplish this in Qlik Sense, if you're using the loop & reduce to  provide security then separate apps would be needed. You can easily variablize the data load and declare the variable at the beginning of the script. Something like this:

SET vCustomer='A';

LOAD
    Customer,
    Value
FROM [lib://data/full.qvd] (qvd)
	WHERE (Customer = '$(vCustomer)')
;

While I'd agree that this isn't as robust as the functionality inside of QlikView where you do not need to necessarily know how many discrete values are available in the dimension that you're reducing on, this works perfectly fine on a smaller scale. 

ChiragPradhan
Creator II
Creator II

Ah! I see. 

I can't see a straight forward solution here, but may be Engine API's might help?. 

https://help.qlik.com/en-US/sense-developer/June2019/APIs/EngineAPI/services-Global-CopyApp.html

https://help.qlik.com/en-US/sense-developer/June2019/APIs/EngineAPI/services-Global-CreateApp.html

I have not implemented these yet so the experts here can weigh in whether this would actually work for your use case.

Also, I am not sure how the publishing of an app would work even if you managed to copy or create an app via script. 

This is a valid use case for large organisations. So it would be interesting to see if anyone has managed to find a solution to this.