Embedding Power Apps in Microsoft Fabric Power BI Reports

Description

In this talk we’ll show you how to embed a Power App in a Power BI report in Microsoft Fabric to enable real-time editing and interactivity. See how to update data directly from reports, trigger workflows, and leverage action-oriented analytics that close the loop between insight and execution.

Key Takeaways

My Notes

Action Items

Slides

Embedding Power
Apps in Microsoft
Fabric Power BI
Reports
Paul Papanek Stork, MVP
Don’t Pa..Panic Consulting, LLC
Scott Shearer, MVP
Scott J Shearer, LLC
Agenda
•Why Embed Power Apps in Power BI Report?
•How Data is Stored in Fabric Matters
•Embedding a Power App Canvas App
•Using a Power App Flow for Writing Back
•Refreshing the Report After a Change
Why Embed Power Apps in Power BI Report?
•The Challenge: Insight vs Action
• Reports Provide Insights
• But Acting on Data Happens in Other Systems
• Switching between systems introduces
• Lag Time
• Potential for Errors
• Organizations need to close the loop between analytics and execution
Power BI (Insight) → Power Apps (Action) → Power BI (Refresh Report)
Fabric Semantic Model Modes
Mode
Speed
Freshness
Scale
Features
Support
Best For
Stale until
refresh
Medium–Large
Full DAX &
features
Small–medium
datasets,
analytical
dashboards
Real-time
Very Large
Limited modeling
Large/operational
datasets, realtime ops
Import
Fastest
DirectQuery
Moderate
Direct Lake
Near-Import
Near realtime
Very Large
Expanding
quickly
Fabric-native
analytics,
OneLake users
Composite
Balanced
Depends on
setup
Very Large
Hybrid flexibility
Mixed workloads,
enterprise BI
strategies
Challenges & Workarounds
•Lakehouses are Read-Only
•Data Warehouses don’t Enforce Primary Keys
•Potential Workarounds
• Data Warehouse – Power Automate for Writeback
• Composite Storage
• Data in Fabric (Read-Only)
• Writeable Data in Other Systems
•Store Data in Writeable Format
• Fabric SQL database
• Fabric Mirrored SQL databases
Embedding a Power App in a Power BI Report

  1. Add the Power Apps Visual to the report
  2. Select Data Fields to Pass to App
  3. Choose to
    • Create a New Canvas App in a Specific Environment
    • Use an Existing App
  4. Edit the App Normally
  5. Save & Publish the App
    • Default Settings in New Canvas App to Consider Changing
    • Portrait Layout
    • Fixed Non-Responsive Layout
    • Locked Aspect Ratio
    • Important: Remember to Share App with Users!
    PowerBIIntegration Control in Power Apps
    • A PowerBIIntegration Object is added to a Canvas App embedded in a
    Power BI Report
    • PowerBIIntegration.Data property contains a Table of Selected Data
    from the Report
    • Read-Only
    • Limited to 100 Records
    • Integration is One-Way from Power BI to Power Apps
    • PowerBIIntegration.Refresh() function can be used to refresh the
    report after changing data
    • Only Available in Apps Created by the Power BI visual
    • Only Supports DirectQuery Data sources – Not Direct Lake
    Issues with Writeback
    • Fabric Data Storage Options
    • Lakehouse Optimized for large-scale analytical storage using the Delta Parquet format.
    • Warehouse Structured, relational storage with extended SQL capabilities.
    • Fabric SQL Database (Preview) Managed Azure SQL Database experience within Fabric.
    • Most SQL Analytics Endpoints are
    Read-Only
    • Writing to Backend Data Requires a
    Semantic Model Refresh
    • Power Apps has Stringent Requirements for
    SQL Updates
    Fabric Storage
    SQL Endpoint
    Lakehouse
    Read-Only
    Warehouse
    Essentially Read-Only
    Fabric SQL or Mirrored
    SQL
    Read-Write
    Calling a Power Automate Flow
    • 3 ways to Trigger a Flow
  6. Manually from a Power Automate Visual
    Button in the Report
  7. In Response to a Data Source Event
  8. Manually from an embedded Power App
    • May be Required for Saving
    • SQL connections in Power Apps
    Requires a
    Private Key
    Embedding an App
    Automatic Page
    Refresh
    Storage mode
    Dedicated capacity
    Shared capacity
    Direct Query
    FI supported: Yes
    CD supported: Yes
    Minimum: 1 sec.
    Admin override: Yes
    FI supported: Yes
    CD supported: No
    Minimum: 30 min.
    Admin override: No
    Direct Lake
    FI supported: Yes
    CD supported: Yes
    Minimum: 1 sec.
    Admin override: Yes
    FI supported: Yes
    CD supported: No
    Minimum: 30 min.
    Admin override: No
    Import
    FI supported: No
    CD supported: No
    Minimum: N/A
    FI supported: No
    CD supported: No
    Minimum: N/A
    • Note that this is a Page Refresh and
    not a Report Refresh
    • Updates data shown on a page as
    soon as possible after data
    has been added or updates
    • Availability depends on storage
    mode
    o Import mode not supported
    o DirectQuery is fully supported in a
    dedicated capacity
    o Direct Lake is fully supported in a
    dedicated capacity
    o Other storage modes also supported
    • All visuals on a page are refreshed
    Refresh Types
    • Fixed interval
    • This refresh type updates all visuals in a
    report page based on a constant interval
    such as one second or five minutes
    • Change detection
    • This refresh type refreshes visuals on a page
    based on detecting changes in the data
    rather than a specific refresh interval
    • Import storage mode is not supported
    • A list of supported storage modes can be
    found here:
    Automatic Page Refresh in Power BI Desktop Power BI | Microsoft Learn
    Enabling/Adjusting Page Refresh in the Admin
    Center
    • Change detection and Automatic Page
    Refresh can be turned on/off in the
    Admin portal Capacity settings area
    • Minimum intervals can be set
    Configuring the refresh interval on a page
    • Page refresh can be turned on/off and
    configured in page Format options
    settings
    • If the Page Refresh setting does not
    appear, your data source does not
    support automatic page refresh
    Fixed Interval Configuration
    • Default minimum fixed interval is 30 minutes
    • Minimum allowed is 1 second
    • May need to adjust in Admin portal
    Change Detection Configuration
    • Relies on a measure
    • Can use existing measure or create a new one

    Choose a calculation for the measure
    between count, count distinct, minimum,
    maximum, and sum
    • .After you select a measure, define how often
    Power BI will Check for changes
    • Example: Count the IDs in a table. Change will
    be detected when the number of IDs change
    Practical Implications
    • When fixed interval can be expensive
    • Many visuals on the page
    • Complex measures
    • Wide fact tables
    • High refresh frequency
    (e.g., every 5–10 seconds)
    • Many concurrent viewers
    • When change detection is preferable
    • You have a reliable “last updated”
    signal
    • Data changes intermittently, not
    constantly
    • You want to minimize SQL load and
    Premium capacity usage
    Auto Refreshing the Report
    Sound off.
    The mic is all yours.
    Influence the product roadmap.
    Join the Fabric User Panel
    Join the SQL User Panel
    Share your feedback directly with our
    Fabric product group and researchers.
    Influence our SQL roadmap and ensure
    it meets your real-life needs
    https://aka.ms/JoinFabricUserPanel
    https://aka.ms/JoinSQLUserPanel