Qlik Community

Qlik Sense Integration, Extensions, & APIs

Discussion board where members can learn more about Integration, Extensions and API’s for Qlik Sense.

Announcements
Save the Date: QlikWorld Online, June 24-25, 2020. Free global virtual event for data integration and data analytic gurus. Register Today
Highlighted
Partner
Partner

Retaining sheets order when fetched via Engine API

I am able to retrieve the sheets list in an app using the call below.

 /iv/qrs/app/object/?Xrfkey=<xrf-key>&filter=app.id eq <app id> and objectType eq 'sheet'

The problem is that this retrieves the sheets in random order and there is no way to tell what order these sheets appear on the sheets list when accessed via HUB UI. Is there any way I could force the engine API return the sheets in the same order as they are on the HUB UI. Or some other kind of parameter I could use to determine this?

Labels (3)
3 Replies
Highlighted
Partner
Partner

Re: Retaining sheets order when fetched via Engine API

Hi Sri,

You can do this using capability API or enigma.js, I dont know about the REST API.

Using enigma.js you can call the method getallinfo() and it will give the list of all objects,master items and sheets.

filter the sheets from the data and pass the id of sheet in getobject() method and call the getlayout() method.

The output data from the getlayout method is in json format just search for the rank word and that will be your  sheet rank and sort that rank in ascending form and you will get the sorted sheet details as shows in qlik sense app.

The same steps you can do in dev-hub-engine-api explorer(for checking the data output)

Thanks & Regards,

Prashant 

Highlighted
Partner
Partner

Re: Retaining sheets order when fetched via Engine API

Thanks Prashant for that explanation.

For us, we use the engine APIs to list the apps and sheets the user has access to, on a non Qlik interface. So we are pretty much tied to using only engine APIs.

"just search for the rank word and that will be your  sheet rank" <-- will try to explore this.

Highlighted
Partner
Partner

Re: Retaining sheets order when fetched via Engine API

Hi Sri,

I have a workaround for you requirement.

In sheet description you can give the sheet number 1,2,3 as such, as per the sheet no maintained in qliksense.

and while fetching data from QRS API i.e

https://<servername>:4242/qrs/app/object/full?filter=app.id eq <app id of qliksense app>&xrfkey=abcdefghijklmnop

filter the objects that have objectType as sheet in there Json array.

And after filtering get the description of each sheet and capture the sheet no that we have given in description.

and as per the sheet no,order the sheet with the Json data we have and there you have your sheets with qlik sense order.

Thanks & Regards,

Prashant