Power BI Integration

Connect Lucaro to Microsoft Power BI to audit workspaces, track dataset usage, and discover DAX measure definitions.

What You Get

Workspace Inventory

Complete catalog of workspaces, datasets, reports, and dashboards

DAX Analysis

Extract and catalog DAX measures and calculated columns

Usage Tracking

Activity events, user access patterns, and refresh history

Refresh Monitoring

Dataset refresh schedules, history, and failure alerts

Prerequisites

  • Power BI Pro or Premium license
  • Azure AD App Registration with Power BI API permissions
  • Tenant Admin consent (for activity events)

Setup Instructions

1. Create Azure AD App Registration

  1. Go to Azure PortalAzure Active DirectoryApp registrations
  2. Click New registration
  3. Name it "Lucaro Power BI Integration"
  4. Set the redirect URI to https://app.lucaro.dev/oauth/callback
  5. Click Register

2. Configure API Permissions

Add these Power BI Service permissions:

Required permissions:
- Dataset.Read.All
- Report.Read.All
- Dashboard.Read.All
- Workspace.Read.All
- Tenant.Read.All (for activity events)
- Dataflow.Read.All

3. Create Client Secret

  1. In your app registration, go to Certificates & secrets
  2. Click New client secret
  3. Set an expiration period and click Add
  4. Copy the secret value immediately (it won't be shown again)

4. Connect in Lucaro

curl -X POST "https://api.lucaro.dev/v2/projects/{projectId}/integrations/powerbi" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "tenant_id": "your-azure-tenant-id",
    "client_id": "your-app-client-id",
    "client_secret": "your-client-secret"
  }'

What Gets Synced

Asset TypeMetadata Captured
WorkspacesName, type, members, capacity
DatasetsTables, measures (DAX), relationships, refresh schedule
ReportsName, pages, dataset binding, owner
DashboardsTiles, source reports, subscriptions
DataflowsEntities, data sources, refresh schedule

DAX Measure Extraction

Lucaro extracts DAX measure definitions from your datasets:

// Example extracted measure
{
  "name": "Total Revenue",
  "expression": "SUM(Sales[Amount])",
  "table": "Sales",
  "format_string": "$#,##0",
  "description": "Sum of all sales amounts"
}

These measures are cataloged and can be compared against your Lucaro metrics registry for consistency.

Activity Events

With admin consent, Lucaro captures Power BI activity events:

  • Report views and exports
  • Dashboard access
  • Dataset refreshes
  • Sharing and permission changes