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

Join us for an expert-led overview of the tools and concepts you'll need to become a Certified Power BI Data Analyst and pass exam PL-300. Register now.

Reply
Anonymous
Not applicable

Custom data connector and enabling scheduled refresh from data source within function

Dear all,

 

I was wondering if custom data connectors may be the answer to an issue.

 

At the moment you can't refresh from a data source if the call to that data source resides within an M function.

 

For example, I have series of Sharepoint tables, the URLs of which change from time to time and are held in table X. To load these I need to read the URLs from table X, this I need to use some form of function which then disables the ability to schedule refreshes in the service. ie

 

fileURL is a list of URLs to the tables in Sharepoint

getData = (fileURL) => Sharepoint.Tables(fileURL), // function to read URLs would also do some processing of the data

main_table = Table.AddColum(myTable, {"Data from Sharepoint"}, each getData([fileURL])) // insert the required data into main_table

 

Although the custom data connectors only work with Power BI desktop at the moment, once they worked for the service would building a custom data connector allow me to get around this issue by building the lookup of the data source URLs into the data connector rather than having them as dynamic parameter in a function. Or would I still have the same issue?

 

 

Thanks!

1 REPLY 1
Eric_Zhang
Microsoft Employee
Microsoft Employee


@Anonymous wrote:

Dear all,

 

I was wondering if custom data connectors may be the answer to an issue.

 

At the moment you can't refresh from a data source if the call to that data source resides within an M function.

 

For example, I have series of Sharepoint tables, the URLs of which change from time to time and are held in table X. To load these I need to read the URLs from table X, this I need to use some form of function which then disables the ability to schedule refreshes in the service. ie

 

fileURL is a list of URLs to the tables in Sharepoint

getData = (fileURL) => Sharepoint.Tables(fileURL), // function to read URLs would also do some processing of the data

main_table = Table.AddColum(myTable, {"Data from Sharepoint"}, each getData([fileURL])) // insert the required data into main_table

 

Although the custom data connectors only work with Power BI desktop at the moment, once they worked for the service would building a custom data connector allow me to get around this issue by building the lookup of the data source URLs into the data connector rather than having them as dynamic parameter in a function. Or would I still have the same issue?

 

 

Thanks!


@Anonymous

Currently we don't have any further ideas on custom data connector for Service and don't know if it would have that limitation or not. You can keep one eye on the blog.

Anyway, there's always a workaround, you can extract the data externally(say in a C# console app and save the data in csv files or database) rather than in "M". You can connect to the csv files or DB in Power BI desktop. The refresh feature in Power BI Service will work then.

Helpful resources

Announcements
Join our Fabric User Panel

Join our Fabric User Panel

This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.

June 2025 Power BI Update Carousel

Power BI Monthly Update - June 2025

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

June 2025 community update carousel

Fabric Community Update - June 2025

Find out what's new and trending in the Fabric community.