In-app reporting in managed spaces
You can configure in-app reports for apps requiring strict data governance. With the same principles that you use for developing app data models for use in managed spaces, you can prepare your app for in-app reporting capabilities. This is achieved using space-aware syntax in the load script.
When developing an app in preparation to be published to a managed space, consider the following:
-
The template can be developed before or after publishing the app. If you create the template before publishing, change the connected app after publishing.
-
A distribution list must be added to the app before publishing the app. During development, this can consist of mock data sources, rather than the actual data sources. The sources in the distribution list are referenced in the load script, so the script must be written in preparation for publishing, using space-aware syntax. This syntax is automatically used by default if you upload a distribution list as a source file.
-
After publishing, the reporting assets – template, filters, and report tasks – can be recreated as desired, based on the reporting use case for the published app. The real data sources used in the distribution list should be added to the managed space.
Existing report configurations
If you created a reporting configuration and distribution list before March 26, 2024, you need to be aware of changes to the file upload process for distribution lists.
For apps created before March 26, 2024, a distribution list source file uploaded in the Reporting section was automatically renamed and added to the space. The reference to this renamed file was then automatically added to the load script. The uploaded source file is now no longer renamed when added to the space.
To continue using existing report configurations when publishing these apps, follow the corresponding section below, depending on your distribution list sources. Alternatively, re-create your reporting configuration from scratch, using the guides shown later on this page.
If you uploaded a source file
Open Data load editor and look at the file name references in the Distribution List script section. Adjust the syntax so that they use a space-aware reference pointing to the current space, rather than any specific space. For example, a file reference might look like:
FROM "lib://DataFiles/reporting_source_your_app_ID.xlsx"
Change this to:
FROM "lib://:DataFiles/reporting_source_your_app_ID.xlsx"
You can see that the app ID of the source app is contained in the file name. If you want this exact script to run when you publish the app, add your actual distribution list file to the managed space, with this exact name.
Alternatively, you can rename the source file in the development space, update the load script, and then publish. Finally, add the actual distribution list file, with the updated name.
If you used remote data sources manually in the script
If you instead manually configured the load script to rely on other data sources for the distribution list, you simply need to adjust the load script to contain relative, space-aware references to the data sources (if this is not already done).
For more information and specific examples, see Data sources for apps in managed spaces.
Workflow
Follow the sequence below to work with in-app reporting in a managed space.
App development
Develop the app in your development space (personal or shared space), as you normally would, in preparation for publishing it to the managed space.
Develop the template and filters
If desired, you can build the report template and filters before publishing the app. This can be helpful as a stage in app development, but templates and filters added to the source app are not retained in the published copy.
If you create the template before publishing and want to use it for the published app, change the connected Qlik Sense app for the template. You can perform this action in the add-in. Alternatively, perform this action in the Qlik Sense app as you upload the template into the published app. See Change the connected Qlik Sense app.
Prepare the distribution list reference
When you add a distribution list to an app, the app's load script is changed. The load script of an app is not accessible in a published app. Therefore, you need to add a distribution list to the app before publishing it.
At this stage, the distribution list simply needs to be a placeholder for the actual file or other sources that you will use for the distribution list in the managed space.
The procedure is slightly different, depending on whether your distribution list is a source file or a remote data source added manually in the script. However, the underlying concepts are the same. For a full guide outlining how to use space-aware syntax in the load script, see Data sources for apps in managed spaces.
Option 1: Direct upload of source file
Follow the regular procedure for uploading a source file as the distribution list: Adding the distribution list by uploading a source file.
Instead of adding the finalized recipient details, you can insert any desired placeholders. The important thing here is that you upload a file, and that this file is then automatically added to the development space and referenced in the script.
You can check that the Distribution List section in the load script contains a space-aware reference to the file, and does not directly reference any particular space. This is done automatically when you upload a source file as a distribution list in the Reporting section of the app. It should look something like this:
FROM "lib://:DataFiles/My_App_Distribution_List.xlsx"
This example is a space-aware reference that points to the current space in which the app is located. The extra colon before DataFiles provides the required relative reference.
Later, when you publish the app to the managed space, upload the actual distribution list file to the managed space. The actual distribution list must have the same file name as the file referenced in the script.
Option 2: Manual reference to data sources in the script
Follow the regular procedure for connecting to remote distribution list sources manually in your script: Defining the distribution list manually in the load script.
When writing the script to connect to the required data sources for your distribution list, you can use mock references to the files and connections as needed. In your script, the data sources simply need to have the same names as they will have in the managed space, and the references to these sources need to use relative, space-aware syntax.
Publish the app
After you have prepared the load script and distribution list, the app is ready to be published to the managed space. For more information about publishing an app, see Publishing apps.
Change the connected Qlik Sense app
If you have created a report template before publishing the app, you need to update the template to reference the correct app ID. A published copy of an app will have a different app ID than the source app.
This process can be completed in Qlik Sense as you upload a template. For Excel report template, this can also be done in the Qlik add-in for Microsoft Excel. Before starting, you can create a separate copy of the template to distinguish it from the template for the source app.
For full instructions, see:
-
From Qlik Sense: Changing the connected Qlik Sense app
-
From the Qlik add-in for Microsoft Excel: Changing the connected Qlik Sense app
It is always possible to develop and update your templates in the managed space directly.
Add the actual distribution list sources
In the managed space, create the required files and connections needed to load your distribution list, as referenced in the load script. This step can be completed at any time.
The data sources providing the distribution list must contain the same parameter names (names of connections, files, and fields) as the distribution list sources used in the source app's load script.
When the connected sources are added to the space, you should be able to reload the app.
Create the new reporting assets
You can now add reporting assets to the app. This could consist of the template, filters, and report tasks.
Permissions
Users with any of the following roles in the managed space can work with in-app reporting for the app:
-
Owner
-
Can manage
-
Can operate (Professional or Full User entitlement only)
For more information, see Managing permissions in managed spaces.
Limitations
In-app reporting is not available for apps published or distributed from Client-Managed Qlik Sense (including multi-cloud deployments) to Qlik Cloud. To use in-app reporting with these apps, migrate the app to Qlik Cloud using the migration tools (see Setting up the Qlik Cloud migration tools), or manually export the app and re-upload it into Qlik Cloud.
For more information, see In-app reporting with exported or migrated apps.