Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

To celebrate FabCon Vienna, we are offering 50% off select exams. Ends October 3rd. Request your discount now.

Reply
JPHK
Frequent Visitor

User Owns Data App - open report in new window

I've setup the sample user owns data app from Microsoft and all works well. However, rather than loading the report in a container on the same page as the report selection, I want it to load in a new window. I have tried edditing the embed.js file accordingly and while a window loads and the powerbi loading icon displays, the report never loads. Is it possible to make this work?

1 ACCEPTED SOLUTION
Anonymous
Not applicable

Hi @JPHK ,

Please modify your embed.js file as below:

// Get the report details from your application
let reportId = '...';
let embedUrl = '...';
let accessToken = '...';

// Create a new window
let reportWindow = window.open('report.html');

// Wait for the new window to load
reportWindow.onload = function() {
    // Get the Power BI service object
    let powerbi = window.powerbi;

    // Embed configuration used to describe the what and how to embed
    let config = {
        type: 'report',
        tokenType: powerbi.models.TokenType.Embed,
        accessToken: accessToken,
        embedUrl: embedUrl,
        id: reportId,
        permissions: powerbi.models.Permissions.All,
        settings: {
            filterPaneEnabled: true,
            navContentPaneEnabled: true
        }
    };

    // Get a reference to the embedded report HTML element
    let reportContainer = reportWindow.document.getElementById('reportContainer');

    // Embed the report and display it within the div container
    let report = powerbi.embed(reportContainer, config);
};

Best Regards

View solution in original post

2 REPLIES 2
Anonymous
Not applicable

Hi @JPHK ,

Please modify your embed.js file as below:

// Get the report details from your application
let reportId = '...';
let embedUrl = '...';
let accessToken = '...';

// Create a new window
let reportWindow = window.open('report.html');

// Wait for the new window to load
reportWindow.onload = function() {
    // Get the Power BI service object
    let powerbi = window.powerbi;

    // Embed configuration used to describe the what and how to embed
    let config = {
        type: 'report',
        tokenType: powerbi.models.TokenType.Embed,
        accessToken: accessToken,
        embedUrl: embedUrl,
        id: reportId,
        permissions: powerbi.models.Permissions.All,
        settings: {
            filterPaneEnabled: true,
            navContentPaneEnabled: true
        }
    };

    // Get a reference to the embedded report HTML element
    let reportContainer = reportWindow.document.getElementById('reportContainer');

    // Embed the report and display it within the div container
    let report = powerbi.embed(reportContainer, config);
};

Best Regards

Perfect. Thank you very much.

Helpful resources

Announcements
September Power BI Update Carousel

Power BI Monthly Update - September 2025

Check out the September 2025 Power BI update to learn about new features.

Top Solution Authors