Skip to main content

Connecting to Promethium from PowerBI

Prerequisites

To connect to Promethium from PowerBI, you'll need the following:

  1. Trino ODBC driver
  2. Trino custom PowerBI connector
  3. Driver license key

Contact your Promethium point of contact for any of the above if not yet provided.

Connecting to PowerBI Desktop

Promethium provides access to assets to connect via PowerBI Desktop using an ODBC driver and a DSN.

Steps to Install ODBC Driver

  1. Install either the 32-bit or 64-bit driver using the respective installer.
    1. Simba Trino 2.3 32-bit.msi
    2. Simba Trino 2.3 64-bit.msi

Steps to Install the License

  1. Navigate to the install directory of the ODBC driver, typically C:\Program Files\Simba Trino ODBC Driver.
  2. Move the .lic file to the lib/ sub-directory.

Steps to Enable the PowerBI Custom Connector

Installation

  1. Move trino_odbc.mez to %USERPROFILE%\Documents\Power BI Desktop\Custom Connectors for Microsoft Store installations or %USERPROFILE%\Documents\Microsoft Power BI Desktop\Custom Connectors for installations using the standalone installer.
    1. If the install method is unknown, only one of these folders should exist.

Configuration

  1. Start PowerBI Desktop.
  2. Navigate to Options and Settings > Options > Security.
    1. Under Data Extensions, enable "Allow any extension to load without validation or warning."
    2. Under Authentication Browser, enable "Use my default web browser."
  3. Select OK and close PowerBI Desktop.

For further information, please refer to the PowerBI documentation

Establishing Connectivity

  1. Open the 32-bit or 64-bit ODBC Data Source manager aligning with the installed driver version.
  2. Create a new DSN (User or System level).
    1. Select the "Simba Trino ODBC Driver."
    2. Name your data source. This will be the reference used in PowerBI Desktop to connect.
    3. Authentication Type -> OIDC Authentication
    4. User -> Leave empty
    5. Host -> Trino URL, e.g. <subdomain>-trino.prod.promethium.ai
    6. Port -> 443
    7. Advanced Options:
      1. Enable Remove Type Name Parameters
      2. Enable Cache Access Token
      3. (Optional) Set AccessTokenCacheLocation to the desired location for the cached access token
  3. Select "Test...". This should open the usual Promethium SSO flow.
  4. After a successful test, select "OK."
  5. Open PowerBI Desktop.
  6. Navigate to PowerBI's searchable connector list (e.g. "Get data from other sources" / Blank Report -> Get Data -> Other).
  7. Search for "Simba Trino (Custom)."
  8. DSN -> Data source name from 2.2 above.
  9. (Optional) Enter Native query. This requires specifying a data source name in the optional Catalog field.
  10. Data Connectivity Mode -> select Import or DirectQuery.
  11. Select OK.
  12. When the DSN name is presented, select Connect.

Connecting to PowerBI Service

Pre-Requisites

To connect to PowerBI Service you'll need admin access to the machine running an On-premises Gateway.

Driver Installation

See "Connecting to PowerBI Desktop" > "Steps to Install ODBC driver" and "Steps to Install the License"

Steps to Enable the PowerBI Custom Connector

  1. Open the On-premises data gateway administrative panel.
  2. Navigate to the Connectors tab.
  3. Note the folder under "Load custom data connectors from folder:" input. Modify as needed.
  4. Move trino_odbc.mez to the location above.
  5. Ensure the gateway's service account has access to the folder.
    1. Service account is found under the Service Settings tab.
  6. From the Service Settings tab, restart the gateway after relocating the connector mez file.

Establishing Connectivity

Pre-Requisites

  1. A Promethium user that can authenticate with Trino using LDAP / username & password.

DSN Creation

  1. Open ODBC data sources (32- or 64-bit dependent on the driver version installed).
  2. Create a new System DSN.
    1. Select the "Simba Trino ODBC Driver."
    2. Name your data source. This will be the reference used in PowerBI Service to connect.
    3. Authentication Type -> LDAP
    4. User -> Username from pre-requisites
    5. Password -> Password from pre-requisites
    6. Password Options -> Select "All Users of this Machine"
    7. Host -> Trino URL, e.g. <subdomain>-trino.prod.promethium.ai
    8. Port -> 443
    9. Advanced Options:
      1. Enable Remove Type Name Parameters
  3. Test the connection with "Test..."
  4. After a successful test, select "OK."

PowerBI Service Connection

  1. Create a cloud connection using:
    1. The name of the On-premises gateway from above
    2. The name of the DSN created above
    3. Anonymous authentication (leverages LDAP from the DSN)

Connecting PowerBI Desktop Reports to PowerBI Service

After publishing a report from PowerBI Desktop for consumption in Service, you may see a "Your file was published, but disconnected" warning. If so, modify the DSN mapping for the report's semantic model:

  1. Select Dataset Settings > Gateway and Cloud Connections
    1. This can be found at https://app.powerbi.com/groups/<group_uuid>/settings/datasets?experience=power-bi.
  2. Under the gateway above, map the following data source to the cloud connection configured in PowerBI Service above:
"Extension{
"extensionDataSourceKind": "SimbaTrino",
"extensionDataSourcePath": "{\"DSN\": \"<Gateway_Machine_DSN_Name>\"}"
}"

Frequently Asked Questions

Q: Why do I see "Trino Query Error: Error listing tables for catalog..." when browsing catalogs in Power BI Desktop?

Issue: When exploring catalogs in Power BI Desktop, you may encounter the error message "Trino Query Error: Error listing tables for catalog..." This occurs when Power BI attempts to query all available catalogs, but one or more catalogs in your Trino environment are unhealthy or unavailable at the time of connection.

Resolution: To avoid this error and ensure a successful connection, populate the optional Catalog field when establishing your connection to Promethium (step 9 in "Establishing connectivity") with the specific healthy catalog you want to connect to.

  • By specifying a catalog, Power BI will scope its queries to only the designated catalog rather than attempting to list tables across all catalogs.
  • This approach ensures your connection succeeds even when other catalogs in the environment may be temporarily unavailable.