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/
Connect step by step
1 Open Power BI and get data
- Open Power BI Desktop
- Click Get Data in the ribbon
- Select Web from the list
- 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
- Click OK to connect
- Power BI will load your data preview
- Click Transform Data if you need to make changes
- 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 identifiertable_name- Name of the KPI tablestatus- Approval status (approved, pending, etc.)created_at- When the data was submittedcreated_by_email- Who submitted the dataapproved_at- When it was approvedapproved_by_email- Who approved it
Custom Fields:
Your table's custom columns will appear as additional fields:
Employee NameMonthly SalesRegionTarget 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:
- Create separate queries for each table
- Use different table IDs in the URLs
- Name each query descriptively (e.g., "Sales Data", "Marketing KPIs")
- 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:
- Go to File → Options and Settings → Data Source Settings
- Select your Bifrost API source
- Click Edit Permissions
- Update credentials if needed
In Power BI Service (after publishing):
- Go to your workspace
- Find your dataset
- Click Settings → Scheduled refresh
- Configure refresh frequency
- 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!