Features

Available features in DataCentral

General

Our features enable users to interact and execute workflows based on the data in reports that are embedded to the system. While some features must use Service Principal for enhanced functionality, some are accessible without the need for it.

Features that require an available Service Principal within the tenant are denoted by an asterisk (*)


Tasks

Tasks, a feature that turns your static report into interactive applications and establishes connections between your dataset and external applications.

Two types of tasks to choose from:

  • Action - Sending payloads from visuals within the report to your selected webhook.

  • DAX query - A defined DAX query that retrieves specific values from your dataset.

Action

Click buttons or individuals lines in your report to send specific data to a third-party webhook, triggering additional processes that could end with updating underlying dataset for immediate reflection on changes in your report. This makes your reports more dynamic, letting you actively engage with and influence your data. Also integrate your custom third-party application or website by directly loading them on-top of your Power BI report when specific visual is clicked.

Creating an action task

Navigate to 'Administration -> Tasks' and select 'Create new task' in the top right corner.

Give the task a "Name" and select 'Action' and 'Interact with report'. Choose a report to bind the task to and ensure that the Power BI Service Principal has access to that report.

Next, select the visual within the report that will trigger the task to execute. The "Visual name" will be automatically generated for you. In this demo, a table visual was chosen in the report.

You can multi-select visuals within the same page in a report. Data points from all the selected visuals will be included in the payload. The first visual selected is the one that will trigger the action task.

Enter the URL that will get triggered or receive the payload from visual(s).

Select 'Get' or 'Post' based on how you want to interact with your API endpoint.

Lastly, you will have three options:

  • Load URL on top of report - Uncheck this option if you want the API to trigger silently, or check it if you want to load the URL on top of your report.

  • Add visual metadata to request - Check this option to get information about when, what, and who triggered the task. Example of that payload.

// Example of visual metadata payload
{
    "actionTriggeredAt": "2024-05-27T11:04:42.4147304Z",
    "clientUrl": "https://yourtenant.datacentral.ai",
    "currentUser": 522,
    "reportId": "07ab3fe6-8fbb-4f42-834b-62290e0e0cef1",
    "reportName": "yourReport",
    "tenancyName": "yourTenant",
    "visualName": "4b09962ae566a8566606"
}
  • Add visual payload to request - Check this option to get data points from visual your selected. Example of that payload.

// Example of visual payload
[
    {
        "data": [
            {
                "identity": [
                    {
                        "equals": "Anna Applesead",
                        "target": {
                            "column": "fullname",
                            "table": "d_employee"
                        }
                    },
                    {
                        "equals": "Engineering",
                        "target": {
                            "column": "department_name",
                            "table": "d_employee"
                        }
                    }
                ],
                "values": [
                    {
                        "formattedValue": "199.0",
                        "target": {
                            "$schema": "http://powerbi.com/product/schema#columnAggr",
                            "aggregationFunction": "Sum",
                            "column": "duration_hours",
                            "table": "v_timesheet"
                        },
                        "value": 199
                    },
                    {
                        "formattedValue": "168.0",
                        "target": {
                            "$schema": "http://powerbi.com/product/schema#measure",
                            "measure": "Hours Period",
                            "table": "c_employee"
                        },
                        "value": 168
                    },
                    {
                        "formattedValue": "-31.0",
                        "target": {
                            "$schema": "http://powerbi.com/product/schema#measure",
                            "measure": "(+/-)",
                            "table": "c_employee"
                        },
                        "value": -31
                    }
                ]
            }
        ],
        "visual": "4b09962ae566a8566606"
    },
    {
        "data": "Department,Employee,Approved,Period Hours,Overtime\r\nEngineering,Anna Applesead,199.0,168.0,-31.0\r\nFinance,Johanna Berg,143.5,168.0,24.5\r\nIT,John Applesead,183.5,168.0,-15.5\r\nProduct,Mick Nickelson,168.0,168.0,0.0\r\n",
        "visual": "4b09962ae566a8566606"
    }
]

Testing the responses and payloads from your visuals, you can use this site: https://webhook.site/ to get an endpoint to execute towards.

Once everything is configured, select 'Save.'

Trying out the action task

In this demo, a user selects a row within the table and the payload is sent to an application which will find and load the current record on top of the report for the user to manage.

  1. User selects individual line for "Unapproved time registrations".

  1. Application locates the record and displays it on top of the report.

  1. The user approves the record, clicks "Save," and the report immediately reflects the new changes.

DAX query

DAX query feature establishes a connection between your dataset and external applications, allowing accessed to specific data securely. Using these DAX query result in your internal tools or website, enabling informed decision-making based on curated data from your Power BI dataset.

Creating a DAX query

Navigate to 'Administration -> Tasks' and select 'Create new task' in the top right corner.

Give the task a "Name" and select 'DAX query'. Choose a report to bind the task to and ensure that the Power BI Service Principal has access to that report.

Enter your DAX query that will be sent to your dataset and click 'Save'.

Copy the link provided in the task menu for the DAX query.

Open a browser and paste the link to view the results. The result can then be used for internal applications or websites, enabling, for example, KPI exposure based on curated data from your Power BI dataset.

Expected Value (ev) - a value appended to the API call for protection. The value has been encrypted with a 'PassPhrase' for protection of the API call. To edit your 'PassPhrase' navigate to 'Administration -> Settings -> Security'.

Testing your DAX result beforehand

In the .pbix file for your dataset, navigate to 'DAX query view' and ensure that the result is as expected.


Managing links offers a quick way to share reports with end users by granting access via a link, which can be set for anonymous use or require authentication to DataCentral. Additionally, you can export entire reports or specific pages as static .png images. Three types of actions are available:

  • Report Keys - a straightforward way to access and share reports.

  • Slideshows - enables automatic transitions between pages within a report, offering navigation through content.

  • Export Pages - easily export reports or specific pages as images.

Report Key

The usage of Report Keys is practical for quick access by both anonymous and authenticated DataCentral users. Each key has a mandatory expiry date, defining the access timeframe to the report. Managing these keys is straightforward, allowing for creating, editing, and deletion keys when needed.

For authenticated Report Key.

Authentication report keys can be used with Row-Level Security only for user pass or mobile ID. The roles assigned to them in the administration will apply to the report..

The configurations:

  • Name: name of Report Key

  • Authentication required for this link: User with link must authenticate to the Tenant

  • User Id: will overwrite the userprincipalname() value for non AD authentication scenarios

  • Expiry Date: the access timeframe to the key

  • Description: (optional)

  • Filter: filter your data model using DAX (optional)

The user will be prompted to authenticate when embedding through this method and must, therefore, be a member of the tenant.

For anonymous Report Key.

Anonymous Report Keys can be used with Row-Level Security. By assigning roles to the key, the report will ensure security for report embedded.

The configurations:

  • Name: name of Report Key

  • Everyone with this link can view it: User with link must authenticate to the Tenant

  • Key value: autogenerated key that is unique

  • User Id: will overwrite the userprincipalname() value for non AD authentication scenarios

  • Expiry Date: the access timeframe to the key

  • Description: (optional)

  • Filter: filter your data model using DAX (optional)

  • Roles: will be passed to the dataset for RLS purposes (optional)

When using anonymous Report Key, anyone that has access to that key within expiry date can view the report. Viewing requires no authentication. Before publishing a report, make sure it's okay for you to share the data and report publicly. Don't publish confidential or proprietary information. If in doubt, check your organization's policies before publishing.

Slideshow

Slideshow enables automatic transitions between pages within a report, offering navigation through content. Users can leverage this feature to showcase reports on company screens or share them in desired locations.

There are two types of links that can be created:

  • Keyed Slideshow: Generate the slideshow URL, granting users access without authentication, maintaining the same access levels specified by the report key.

  • Keyless Authentication: Alternatively, use Keyless slideshow URL that prompt users to authenticate upon opening the URL, ensuring secure access by requiring user authentication.

For Slideshow, these are the configurations:

  • Name: name of Report Key

  • Choose Keyed or Keyless:

    • Everyone with this link can view it: User with link must authenticate to the Tenant

    • Authentication required for this link: User with link must authenticate to the Tenant

    • Key value: autogenerated key that is unique for Keyed link

  • User Id: will overwrite the userprincipalname() value for non AD authentication scenarios

  • Expiry Date: the access timeframe to the key

  • Description: (optional)

  • Filter: filter your data model using DAX (optional)

  • Roles: will be passed to the dataset for RLS purposes (optional)

  • Create Slideshow: "turn on"

    • Pages: choose pages within report that will be navigated

    • Interval: time interval between each page

Export to PNG

This feature enables sharing of insights with others, even if they don't have access to the report or face tenant boundary restrictions. You can easily export your reports or specific pages as static .png images, allowing you to highlight key sections or distribute the entire report. This ensures that your visualizations and insights are accessible to your team or stakeholders, making it simple to share your work.

Prerequisites:

  • Power BI: Visit app.powerbi.com, navigate to the Admin Portal, go to 'Tenant settings,' and activate 'Export reports as image files.'

  • DataCentral: Enable 'Export reports as image files' under 'Tenant settings' in the Power BI Admin Portal.

  • User: The minimum required permission for a user, service principal, or security group on a workspace is 'Contributor' to enable the ability to export reports as .png images.

Once the prerequisites are met, navigate to 'Administration -> Power BI Items,' click on the report you want to export as .png files, and then select 'Manage Links.'

Click '+ Create New Link.' Assign a name and enable 'Export Pages.' Select either all pages or specific pages within the report to export. If needed, you can also use the Service Principal to export pages with RLS.

Once the export process is complete, click on 'Manage Links' in the report to view all the available options for exporting the .png images.


Smart RLS

Smart RLS, a key feature within DataCentral, enhances dynamic security through the use of Service Principal. You establish a dynamic role directly within your Power BI Desktop. In DataCentral, you can then create specific Codes, which are passed along with the user who is embedding the report. This process ensures efficient and secure sharing and simplifies the RLS process.

Here are the steps.

Create a report in Power BI and select a column to be utilized for Row-Level Security (RLS).

For this example, we are focusing on Airport sales. It's crucial to ensure that only personnel with access to a specific Airport Code can view the data corresponding to that code.

In the report, click on 'Modeling', then select 'Manage Roles'. Proceed to create a dynamic role using the code block provided below. In our example we created the role 'SmartRLS'.

Important: The dynamic role you create must also exist in DataCentral, as will be explained in the following sections.

VAR UserEmailString = USERNAME()
VAR RLSlist = MID(UserEmailString, SEARCH("[", UserEmailString) + 1, SEARCH("]", UserEmailString) - SEARCH("[", UserEmailString) - 1)
VAR Cleaned = SUBSTITUTE(RLSlist, """", "") // Remove extra quotes
VAR RLSvalues=
    ADDCOLUMNS(
        GENERATESERIES(1, LEN(Cleaned) - LEN(SUBSTITUTE(Cleaned, ",", "")) + 1),
        "RLSvalues",
        PATHITEM(SUBSTITUTE(Cleaned, ",", "|"), [Value])
    )
RETURN  
[RLS Values] IN SELECTCOLUMNS(RLSvalues, "RLSvalues", [RLSvalues])

Publish the report to your workspace of your choice and then embed it into DataCentral. During the embedding process in DataCentral, ensure to check the box labeled 'Is Smart RLS Enabled'.

In DataCentral, take the next step by setting up roles for 'Airport Codes'. This step is crucial for smart RLS and managing the sensitive data associated with these codes effectively and securely.

Next, navigate to the user settings and assign the necessary roles, specifically 'SmartRLS' and 'AirportCodes', to the user. This step is key in ensuring that the user has the appropriate access and permissions required for their tasks.

A user can be assigned multiple 'AirportCodes'.

Finally, embed the report as the user and observe the functionality of Smart RLS in action.


Multiple Power BI Service Principals

Allows a way for cross-tenant collaboration and data sharing capabilities. This feature addresses the growing need for organizations to interact with external Azure tenants, expanding the scope of data accessibility and report sharing.

Key benefits:

  1. Cross-Tenant Embedding: Users can easily share Power BI reports from different external Azure tenants. This makes it easier to work and share information with other organizations, partners, and clients, improving how everyone works together.

  2. Access Control: You can set different permissions and access rights for each service principal, based on what each tenant needs. This detailed control helps make sure that sharing data follows your organization's rules and keeps important information safe, while still allowing data to be shared.

  3. Governance: Organizations can look after all their dealings with their Power BI Service Principals in one place. This makes it simpler to keep an eye on, change, and control who gets access to what data within each tenant.

  4. Redundancy and Reliability: The use of multiple service principals enhances the reliability of report embedding. In cases where AD user faces access issues or restrictions within an external tenant, others can serve as fallback options, ensuring continuous access to critical data and reports.

To create your own Power BI Service Principal, click here.

Under Administration -> Settings -> Azure Configurations there is possible to define multiple Power BI Service Principals.

To embed reports go to Administration -> Power BI Reports -> Manage Workspaces. Choose the Power BI Service Principal that will embed the report into your tenant, and then proceed to 'Add New Report' as you normally would.


Report Usage Heatmap

A feature that tracks user interaction with visualizations within report in your tenant is now available. When embedding any report into your DataCentral tenant, you can activate "logging enabled." This allows companies to gain valuable insights into user engagement and behavior, helping to optimize report designs and improve user engagement.

Key benefits:

  • Better understanding of User Engagement

  • Improved Report Design

  • Smarter Business Decisions

  • Enhanced User Experience

With that enabled, all user interactions will be tracked. An icon will appear above the report, allowing users to toggle on and off to see which visualizations are the most and least interacted with.

Activating the feature:

Tenant Agent

Ask the co-pilot any questions or request actions within your own tenant. Tenant Agent is helpful in situations when you need quick answers or actions for your tenant.

  • What reports does user 'x' have access to and what roles are attached to the user 'x'

  • Take the role 'y' of user 'x' and add new AAD user 'johndoe@contoso.com' to tenant

  • Create role 'b'

  • Give johndoe@contoso role 'x'

  • List up all users that have access to report 'x'

The dialogue between you and the Tenant Agent is limited to the current session and will end when the window is closed.


Report Agent

Ask questions about your dataset and receive immediate answers. The Report Agent can be granted permission to browse the internet for supplementary information to enhance its responses, or it can be restricted to relying solely on the dataset for answers.

Setting up the Report Agent:

  1. Grant Report Agent access to either the entire dataset or specific data within it. Initially, the Agent will retrieve the data and store it to a azure storage account. For subsequent retrievals, it can access the data stored in the account. This retrieval of data can be scheduled or manually triggered.

  2. You have the option to write a description about the dataset from which the Report Agent generates answers, enhancing the quality of its responses.

The dialogue between you and the Report Agent is limited to the current session and will end when the window is closed.


Branding

There are three things that can be altered in order to brand a tenant:

  • The login window background image.

  • Company / Product logo.

  • CSS tags that define a color palette or fonts.


Passthrough

When the Passthrough feature is enabled, an AAD user logged into DataCentral will have visibility to all workspaces and apps they have access to in his Power BI Service environment.

If DataCentral authentication uses an Azure Tenant ID instead of the common endpoint, the AAD user will only see workspaces or apps accessible within that specific Azure Tenant.

Passthrough will not work for external Azure AD users if your DataCentral tenant is using your Azure Tenant ID.

Last updated