Connection Patterns
| Pattern | Description | Pros | Considerations |
|---|---|---|---|
| DirectQuery | Power BI runs queries against the warehouse that houses BlockDB tables (Snowflake, Redshift, Databricks SQL, BigQuery). | Always fresh, no materialized extracts. | Requires performant warehouse + gateway; enforce row-level security there. |
| Import/Incremental Refresh | Scheduled refresh from warehouse or managed buckets into Power BI datasets. | Fast visuals, offline analysis. | Needs refresh slots + dataflows; plan for dataset size limits. |
| Fabric Lakehouse | Land BlockDB buckets directly in OneLake and model with shortcuts. | Unified governance across Fabric workloads. | Requires Fabric capacity. |
DirectQuery Setup (Example: Databricks SQL)
- Accept the Delta Share or stream via Databricks Delta Share (Streaming).
- Surface the shared tables through Databricks SQL endpoints with view-based RBAC.
- In Power BI Desktop, choose Azure Databricks connector → paste SQL warehouse info + personal access token.
- Import or DirectQuery the curated view that references BlockDB tables; publish dataset to Power BI Service.
Import & Incremental Refresh
- Stage BlockDB data into Azure Data Lake/S3 via archives or managed bucket slices.
- Build a Power BI dataflow or Fabric pipeline to ingest the data and define incremental refresh policy (
RangeStart/RangeEnd). - Expose
_updated_atas the incremental column to align with BlockDB freshness guarantees. - Schedule refreshes to match SLAs—from hourly for pricing to daily for static reference tables.
Governance Tips
- Store
_tracing_idin your semantic model so report consumers can pivot from visuals to lineage endpoints. - Document dataset dependencies back to the relevant BlockDB docs (
/data-catalog/...) using Power BI’s endorsement metadata. - Monitor refresh health; alert when
Last refreshlags the SLA defined in Access & SLA.
For on-prem gateways, allowlist the BlockDB warehouse endpoints (Snowflake, Redshift, etc.) and ensure egress rules permit OAuth token exchange.