Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Nov 13, 2023 3:44:39 AM
Feb 8, 2018 4:41:29 AM
This is a basic example in order to get started with Advanced Analytics Integration in Qlik Sense using PYTHON.
This customization is provided as is. Qlik Support cannot provide continued support of the solution. For assistance, reach out to our Professional Services or engage in our active Integrations forum.
The architecture at a high-level looks like this:
With this new capability, it is possible to add syntax to a chart expression that tells Qlik Sense that a particular expression should not be evaluated on the Qlik Sense server, but instead, all the information and data needed to calculate that expression should be sent via the server side extension on to the back end Python system for calculation.
After the advanced analytic calculations are completed, the data is sent back to the Qlik Sense Server and to the client for visualization.
For an example with video that uses R-Server instead, see R Integration with Qlik Sense
In order to display a "Hello World" message in the Qlik Sense App, Perform the steps below:
Note: To obtain the latest HelloWorld example and other Python examples, see Python Examples in Qlik's Github repository. Make sure to check out the GetStarted.md documentation as well.
SSEPython.ScriptAggrStr('", ".join(args[0])' , HelloWorldData)
Eight script functions are automatically added to the functionality of the plugin. What is needed to be covered on the plugin side to fulfill
the functionality is to implement the Script aggregate rpc function.
The syntax of these functions is <EngineSSEName>.<FunctionName>(Script [,Parameter...])
where the Script is a Python script to be evaluated & Parameter is the data sent from Qlik's end.
Here, the ScriptAggrStr function is used which accepts argument of type String & returns a String after an aggregation. The 'join' function in Python method returns a string, which is the concatenation of the strings in the sequence seq. The separator between elements is the string providing this method. From Qlik side, we pass a field called HelloWorldData which contains the 2 strings as we have loaded.
To use SSE function(s) to load data via application load script, the Extension clause needs to be used. See additional information as well as an example under Load > Argument > Extension and Examples > Loading from Analytic connections via the following link: Script Regular Statements: Load.
Hello,
Great article! Do you know if server-side-extension works on Qlik Cloud?
Thanks,
Elizabeth
Hi,
I've set up an publicly available endpoint using Python which I'd like to connect to with the Advanced Analytics connector on Qlik Cloud. At the moment the endpoint is returning dummy data to test if Qlik receives everything, but I get the following error:
The following error occurred:
Connector reply error: grpc::StatusCode::FAILED_PRECONDITION: 'The response did not include the expected data table'
Am I understanding correctly that, even though the endpoint is hosted somewhere else, I basically need to follow the implementation of the code as documented in the article here?
Thanks for your answer. It seems very helpful for my need
Best Regards,
Elizabeth
Greetings @Sonja_Bauernfeind!
I am interested in invoking inference functions written in Python, and running on Snowflake's Snowpark ML infrastructure, from a Qlik Sense SaaS App. The idea would be to achive something similar to what can be done using the Advanced Analytics Connector in a QSEoW environment, but, in the scenario that I need, the backend would be based on Snowpark ML.
Are you aware of any on-going efforts to provide this capability? Can you check with the PM in charge of Qlik Native and Custom Connectors to see if this is in the roadmap?
Cheers,
++José