Power BI integration guide

Connect Power BI to your Bifrost KPI data in minutes.

Before you start

✅ What you need:
  • Power BI Desktop installed
  • Valid Bifrost user account
  • API token (contact your admin)
  • Table ID you want to connect to
💡 Recommended endpoint:
/api/tables/{id}/data/
This endpoint provides flattened data perfect for Power BI visualizations.

Connect step by step

1 Open Power BI and get data

  1. Open Power BI Desktop
  2. Click Get Data in the ribbon
  3. Select Web from the list
  4. Click Connect
Tip: You can also use the REST API connector under "Online Services."

2 Enter the API URL

Enter your Bifrost API URL in the dialog:

https://www.matsobi.nl/api/tables/YOUR_TABLE_ID/data/

Replace "YOUR_TABLE_ID" with the ID of the table you want to connect to.

Find table IDs: Visit API docs or contact your admin.

3 Configure authentication

Click Advanced options and add authentication:

HTTP request header parameters
Authorization
Token YOUR_API_TOKEN_HERE
Important: Include the word "Token" before your token value.

4 Connect and transform

  1. Click OK to connect
  2. Power BI will load your data preview
  3. Click Transform Data if you need to make changes
  4. Or click Load to import directly
Common transformations
  • Convert text to numbers
  • Parse date fields
  • Filter by status = "approved"
  • Remove unnecessary columns

Understand your data structure

The /data/ endpoint returns flattened data with these standard fields:

System fields
  • id - Unique row identifier
  • table_name - Name of the KPI table
  • status - Approval status (approved, pending, etc.)
  • created_at - When the data was submitted
  • created_by_email - Who submitted the data
  • approved_at - When it was approved
  • approved_by_email - Who approved it
Custom Fields:

Your table's custom columns will appear as additional fields:

  • Employee Name
  • Monthly Sales
  • Region
  • Target Met
  • ...and any other columns you've defined

Power Query Tips

Date Fields:
= Table.TransformColumnTypes(Source,{
    {"created_at", type datetimezone},
    {"approved_at", type datetimezone}
})
Filter Approved Only:
= Table.SelectRows(Source, 
    each [status] = "approved")
Convert Numbers:
= Table.TransformColumnTypes(Source,{
    {"Monthly Sales", type number},
    {"Target", type number}
})
Add Calculated Column:
= Table.AddColumn(Source, 
    "Days Ago", 
    each Duration.Days(
        DateTime.LocalNow() - [created_at]
    ))

Connecting Multiple Tables

To connect multiple KPI tables:

  1. Create separate queries for each table
  2. Use different table IDs in the URLs
  3. Name each query descriptively (e.g., "Sales Data", "Marketing KPIs")
  4. Create relationships in the Model view using common fields
Pro Tip: You can also combine tables using Table.Combine() in Power Query if they have the same structure.

Setting Up Data Refresh

In Power BI Desktop:
  1. Go to File → Options and Settings → Data Source Settings
  2. Select your Bifrost API source
  3. Click Edit Permissions
  4. Update credentials if needed
In Power BI Service (after publishing):
  1. Go to your workspace
  2. Find your dataset
  3. Click Settings → Scheduled refresh
  4. Configure refresh frequency
  5. Add your API token to data source credentials

Common Issues & Solutions

❌ "Unable to connect"
  • Check your internet connection
  • Verify the URL is correct
  • Ensure the server is running
❌ "401 Unauthorized"
  • Check token format: "Token abc123..."
  • Verify token is valid
  • Contact admin for new token
❌ "403 Forbidden"
  • You don't have access to this table
  • Contact admin to add you as viewer/editor
  • Try a different table ID
❌ "No data showing"
  • Table might be empty
  • All data might be pending approval
  • Check status filter in Power Query

Need Help?

If you're having trouble connecting Power BI to your Bifrost data, we're here to help!