Access to AO Platform Ontology from 3rd Party Products (Preview)

OData - Power BI Usage

Intended audience: Developers administrators

AO Platform: 5.0

Power BI Usage

Prerequisites

  • AO Platform server is running with OData enabled.

  • You know the host, port, and schema prefix (ontology) you want to use (e.g. ao-platform-host, 8443, UT).

  • You have valid platform credentials and access to that ontology (same as for the web app or JDBC).

Certification scope

In scope for OData + Power BI : Database using HTTP Basic against the OData URL (same username/password as the web app where applicable).

Out of scope for OData + Power BI: End-to-end single sign-on for OData consumers using OpenID-only (for example Power BI Organizational account / Bearer token to /odata/**) and SAML (IdP-initiated or SP flows via the generic OData connector). The rows and subsections below describe expected behavior and integration options; they are not guaranteed or formally validated as part of the current release. Until that enhancement ships, prefer Database, API key where enabled, JDBC/Avatica, or other supported paths for production OData access.

Authentication type and Power BI

Auth Type

OData Protected

Power BI Sign-In Dialog

Power BI Basic Auth (username/password)

Database

Yes

Yes (401 + WWW-Authenticate)

Yes — same credentials as platform login; full support.

OpenID

Yes

Yes

No — no local username/password;

SAML

Yes

Yes

No — API key if enabled.

Connect to the Platform Server from Power BI

Follow these steps to connect Power BI to the AO Platform OData endpoint and sign in.

Step 1: Open Power BI and Start the OData Connection

  1. Open Power BI Desktop.

  2. Go to Home → Get data → More… (or Get data → OData feed if available).

  3. In Get Data, search for OData or select Connectors → OData feed → Connect.

Step 2: Enter the OData Base URL

  1. In the OData feed dialog, enter the base URL of the OData service:

    • Format: https://<host>:<port>/odata/<schemaPrefix>

    • Examples:

    • https://myserver.company.com:8443/odata/UT

    • https://localhost:8443/odata/UT

    • http://myserver.company.com:8080/odata/UT (if the server uses HTTP)

  2. Replace:

    • <host> with your platform server hostname or IP.

    • <port> with the port (e.g. 8443 for HTTPS, 8080 for HTTP).

    • <schemaPrefix> with the ontology schema prefix (e.g. UT), same as the JDBC SCHEMA prefix.

  3. Leave Advanced options unchecked unless you need a specific timeout or custom headers.

  4. Click OK.

Step 3: Sign In (Authentication)

  1. Power BI will open the Access an OData feed (or Authentication) dialog.

  2. Choose the authentication method that matches how your platform server is configured:

    • Basic (Username and password)
      Select Basic.
      Enter the same username and password you use to log in to the AO Platform web application (or JDBC).
      These credentials are sent with each OData request; the platform uses them for authentication and RBAC (ontology access).

    • Windows
      Use only if your platform is configured for Windows/Integrated authentication (e.g. corporate SSO) [currently not supported].

    • Organizational account
      Use only if your platform is integrated with Azure AD or another organizational identity provider [currently not supported].

  3. Click Connect.

  4. If the server uses a self-signed or corporate HTTPS certificate, you may see a certificate warning. Choose Continue (or install the certificate in the trusted store as per your IT policy).

Step 4: Select Data (Entity Sets)

  1. After a successful connection, Power BI loads the service document and $metadata.

  2. You will see a list of entity sets (tables); each corresponds to one MSO in the ontology.

  3. Select the entity sets you need (check the boxes).

  4. Click Load to import, or Transform data to open Power Query and shape data first.

Authentication Summary

Scenario

What to use in Power BI

AO Platform uses username/password (form login)

Basic — enter the same username and password as the platform web app.

AO Platform uses Windows/SSO

Windows (or Organizational account if Azure AD) - not certified.

AO Platform uses OpenID-only (e.g. Azure AD)

Organizational account - not certified.

AO Platform uses SAML

Gateway / stored credentials / API key if enabled — not certified.

401 Unauthorized

Check username/password; ensure the account exists and is not locked.

403 Forbidden

User does not have RBAC access to that ontology; an admin must grant ontology access.

Selecting Tables (Entity Sets)

  • Each entity set corresponds to one MSO (table) in the ontology.

  • You can select one or more entity sets. Only select those you need to keep the dataset smaller and refresh faster.

  • Column names in Power BI will match the property names exposed by OData (same as in the Calcite schema).

Query Options (Filters, Paging, Columns)

Power BI may send OData query options such as $filter, $top, $skip, $orderby, $select, and $count. The platform OData service supports these (Phase 1: core set; Phase 2: full $filter and $expand where modeled). If you write a custom M or Power Query that builds OData URLs with query options, they will be applied server-side when supported.

Refresh

  • Scheduled refresh (Power BI Service): Configure the gateway and data source to use the same OData base URL and credentials. Refresh will re-execute the OData requests and get the current data from the platform.

  • Manual refresh (Desktop): Use Refresh in the ribbon; same behavior as above.

Limitations and Notes

  • Read-only: Only read operations are supported (no create/update/delete via OData).

  • One ontology per connection: Each base URL points to a single schema prefix (ontology). To use multiple ontologies, create separate OData connections (one base URL per ontology).

  • Authentication: Use the same credentials and session as for the platform; if the server is behind a gateway, configure the gateway data source accordingly.

  • Large data: When the client does not send $top, the server returns at most min(5000, server.odata.max.page.size) rows per request (see ODataConstants.DEFAULT_PAGE_SIZE_WHEN_NO_TOP in code) and includes @odata.nextLink so Power BI can load the next page. When the client sends $top, the server caps at the configured max page size (OData config group). Use $top / $skip or follow nextLink for very large entity sets.

  • $expand (Phase 2): If the service supports $expand for related MSOs, you can use it in Power BI when building or editing the query to include related entities.







Contact App Orchid | Disclaimer