Forum Discussion

mikihiir's avatar
mikihiir
Icon for Helper III rankHelper III
9 years ago
Solved

Power bi javascript api data refresh

How do u refresh data in power bi javascript api when using direct query ?

There used to be a refresh function, now it is removed.

  • mikihiir

    So far the refresh is not avaible for a production PowerBI Javascript release, you can check Missing a “Refresh” method to efficiently refresh a report/tile. You shall wait for the release.

     

    You can try to re-embed the report to do the refresh, this would refresh the data from directquery based on my test.

     

    <html>
    
     <script src="https://microsoft.github.io/PowerBI-JavaScript/demo/bower_components/jquery/dist/jquery.js"></script>  
     <script src="https://microsoft.github.io/PowerBI-JavaScript/demo/bower_components/powerbi-client/dist/powerbi.js""></script>
    
    <script type="text/javascript">
    var embedConfiguration = {
        type: 'report',
        accessToken: 'yourTokenHere',
        id: '4c42a9f6-3ef4-xxxxxxxxxd5d6ebdac79d',
        embedUrl: 'https://app.powerbi.com/reportEmbed?reportId=4c42a9fxxxxxxxxx-91f5-d5d6ebdac79d' 
    }; 
    
    var report;
    
    window.onload = function () { 
    
    var $reportContainer = $('#reportContainer'); 
    report= powerbi.embed($reportContainer.get(0), embedConfiguration);
     
    } 
    
    function reloadreport(){ 
    var $reportContainer = $('#reportContainer');
    powerbi.embedNew($reportContainer.get(0), embedConfiguration);
    
    };
    </script>
    <button onclick="reloadreport()">Click me to refresh</button> <div id="reportContainer"></div> </html>

     

     

2 Replies

  • Eric_Zhang's avatar
    Eric_Zhang
    Icon for Microsoft Employee rankMicrosoft Employee

    mikihiir

    So far the refresh is not avaible for a production PowerBI Javascript release, you can check Missing a “Refresh” method to efficiently refresh a report/tile. You shall wait for the release.

     

    You can try to re-embed the report to do the refresh, this would refresh the data from directquery based on my test.

     

    <html>
    
     <script src="https://microsoft.github.io/PowerBI-JavaScript/demo/bower_components/jquery/dist/jquery.js"></script>  
     <script src="https://microsoft.github.io/PowerBI-JavaScript/demo/bower_components/powerbi-client/dist/powerbi.js""></script>
    
    <script type="text/javascript">
    var embedConfiguration = {
        type: 'report',
        accessToken: 'yourTokenHere',
        id: '4c42a9f6-3ef4-xxxxxxxxxd5d6ebdac79d',
        embedUrl: 'https://app.powerbi.com/reportEmbed?reportId=4c42a9fxxxxxxxxx-91f5-d5d6ebdac79d' 
    }; 
    
    var report;
    
    window.onload = function () { 
    
    var $reportContainer = $('#reportContainer'); 
    report= powerbi.embed($reportContainer.get(0), embedConfiguration);
     
    } 
    
    function reloadreport(){ 
    var $reportContainer = $('#reportContainer');
    powerbi.embedNew($reportContainer.get(0), embedConfiguration);
    
    };
    </script>
    <button onclick="reloadreport()">Click me to refresh</button> <div id="reportContainer"></div> </html>