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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

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
Employee
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
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

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