Appearance
Report
Overview
A Report is the logical representation of a Power BI report used for embedding in Datascaphe Uplink. It is identified by its Power BI Report ID and Dataset ID, which are used to retrieve and render the Power BI report through the Uplink service.
Reports can be configured with Row Level Security (RLS), a dedicated Service Principal, a cache duration and refresh schedule for the Scanner Data & Metadata. Workspace information (name, workspace ID) is automatically retrieved from the Power BI API after the report is saved.
Each report can be assigned to one or more users through the user management page. As of now, a user can only have one active report.
Report fields
| Field | Criticality | Description |
|---|---|---|
| Name | Auto-filled | Descriptive name of the report. Automatically retrieved from Power BI after saving. It can be specified at report creation, but it will be replaced by the actual report name after linking to your Power BI tenant. |
| Report ID | Required | The Power BI report GUID (36 characters). Found in the Power BI report URL. See Get Report & Dataset ID. |
| Dataset ID | Required | The Power BI dataset GUID (36 characters) associated with the report. See Get Report & Dataset ID. |
| Cache Max Duration | Optional | Default: 86400 seconds (24 hours). Minimum: 1800 seconds (30 minutes). Duration in seconds for which the Scanner Data will be cached. |
| RLS configured on the report | Optional | Default: false. Must be enabled if the report uses Row Level Security: in that case, the Scanner Data will be cached per user instead of at the report level. |
| Service Principal | Optional | The Service Principal to use for backend token refresh for this report. Overrides the user-level service principal setting. |
| Report Workspace ID | Auto-filled | The Power BI workspace ID where the report resides. Automatically set from the Power BI API. |
| Report Workspace Name | Auto-filled | The name of the Power BI workspace where the report resides. Automatically set from the Power BI API. |
| Dataset Workspace ID | Auto-filled | The Power BI workspace ID where the dataset resides. Automatically set from the Power BI API. |
| Dataset Workspace Name | Auto-filled | The name of the Power BI workspace where the dataset resides. Automatically set from the Power BI API. |
| Schedule Scanner Data Cache Refresh | Optional | Schedule refresh of the Scanner Data cache using a cron expression and timezone. If you want to chain the Scanner Data cache refresh to the underlying report refresh, you can use our API |
Important
The refresh and its schedule only concern the Scanner Data and Metadata used in the Uplink service, it does not refresh the actual data in your Power BI report. This should be handled with schedules on the Power BI service or by your ETL processing.
Scanner Data Caching
For marking text on web pages and displaying report popups, we need to query the values of some tables and columns of the linked report's datasetand structure it in a specific way to be used by the Chrome extension. This is what we call scanner data.
To avoid flooding the Power BI dataset (and your capacities) with queries on each new page opened by each user, we cache this data at two levels:
- On each user's device
- On our servers
When a user opens a new web page, the extension will first try to retrieve the scanner data from caches before querying the Power BI dataset.
See Scanner Data & Metadata for more information.
Info
Scanner data refreshes initiated from the back-end interface or our API will always query the dataset through the Power BI API and import new values (thus updating the server cache).
Reports with RLS
By default, scanner data caches are saved at the report level. This has the advantage of providing the same server cache to all users of the report, thus reducing to a minimum the queries on the underlying dataset.
Datasets with RLS rules usually display different data to different users, so the list of values to mark on the page may vary for each user. In this case, the option RLS configured on the report should be checked. This will force cache saving at the user level, so that each user has their own cache.
When RLS is enabled on the report, we recommend using a Service Principal at the report level. This SP will be used to refresh Scanner Data for every user of the report. Without a report-level SP, individual per-user Azure tokens are used instead (which is brittle, as it requires every user to have a cached valid access token).
Service Principal
By default, the Power BI API requests will use the token associated to the connected user to authenticate. It is possible to authenticate using a Service Principal.
When a Service Principal is associated to a report, all Power BI API calls related to this report will use the Service Principal for authentication.
The Service Principal can also be associated at the user level, see our documentation on Service Principals for more information.
Important
When using a Service Principal, you need to have the report in a premium or embedded capacity to respect Microsoft licensing terms.
Schedules
The scanner data cache can be refreshed on a schedule.
You can define here the CRON expression for triggering the refresh and the timezone to use. The smallest time intervall accepted for Scanner Data refresh is 30 min.
