Forum Discussion

SU's avatar
SU
New Member
1 year ago
Solved

Scheduled Refresh for Python Scripts in Power BI Service: Seeking Guidance for Cloud-Only Setup

I developed a Power BI dashboard that uses a Python script as a data source. While it runs successfully on Power BI Desktop, we’re encountering limitations when trying to enable scheduled refresh in the Power BI Service.

Now, it only works when a personal gateway is configured, and the laptop is turned on and connected during refresh time — which is not ideal for automation or production use.

Our goal is to have the refresh process work entirely in the cloud, without relying on a personal machine or gateway, and with full support for scheduled refresh.

We’d greatly appreciate any guidance or recommendations you may have on how to handle this kind of setup in a reliable and scalable way.

  • Hi SU  Well, it doesn’t support cloud-only scheduled refresh for Python scripts in Power BI Service. To achieve this, deploy the script to a cloud platform like Azure Functions or Azure Automation, and write the output to a supported source like Azure SQL or Blob Storage. Alternatively, replicate the script’s logic in Power Query or use a cloud ETL tool like Azure Data Factory. Connect Power BI to the cloud data for seamless scheduled refresh.

  • Hi SU,

    Thank you for reaching out to the Microsoft Fabric Forum Community.

     

    The solution provided by Akash_Varuna is correct. You can use azure services to run the python script in the cloud. For azure services paid service is not required as you login to azure free account you get a credit of $200 and first 30 days trail period after completion of this period need to switch to paid version 
    Or, as stated in the Microsoft document, you can use the on-premises gateway for schedule refresh.  

    Below is the Microsoft document for more details: 

    Use Python in Power BI Power Query Editor - Power BI | Microsoft Learn 

    Install an on-premises data gateway | Microsoft Learn

     

    If this post helps, then please give us ‘Kudos’ and consider Accept it as a solution to help the other members find it more quickly.

     

    Thank you.

5 Replies

  • Hi SU  Well, it doesn’t support cloud-only scheduled refresh for Python scripts in Power BI Service. To achieve this, deploy the script to a cloud platform like Azure Functions or Azure Automation, and write the output to a supported source like Azure SQL or Blob Storage. Alternatively, replicate the script’s logic in Power Query or use a cloud ETL tool like Azure Data Factory. Connect Power BI to the cloud data for seamless scheduled refresh.

    • SU's avatar
      SU
      New Member

      Hi Akash,

      Thank you for your response.

      Could you please guide me on whether a paid Azure service is required for this? Your clarification would be greatly appreciated.

      • v-saisrao-msft's avatar
        v-saisrao-msft
        Community Support

        Hi SU,

        Thank you for reaching out to the Microsoft Fabric Forum Community.

         

        The solution provided by Akash_Varuna is correct. You can use azure services to run the python script in the cloud. For azure services paid service is not required as you login to azure free account you get a credit of $200 and first 30 days trail period after completion of this period need to switch to paid version 
        Or, as stated in the Microsoft document, you can use the on-premises gateway for schedule refresh.  

        Below is the Microsoft document for more details: 

        Use Python in Power BI Power Query Editor - Power BI | Microsoft Learn 

        Install an on-premises data gateway | Microsoft Learn

         

        If this post helps, then please give us ‘Kudos’ and consider Accept it as a solution to help the other members find it more quickly.

         

        Thank you.

  • I think people tend to use a cloud hosted virtual machine to run the gateway on. that way it's not tied to a particular user's laptop. This isn't a brilliant solution. 

    For myself, I can't get the refresh to work at all.