cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Syndicate_Admin
Administrator
Administrator

Scheduled Refresh - Dynamic Data Source Microsoft Lists

I am using a query that imports all the versions of each item in a Microsoft List. When I publish the dashbaord to PowerBI it doesn't allow me to set up scheduled refreshes. Based on similar questions, I think this has to do with the Web.Contents statement, but I've updated to use relative path and it still is giving me issues. I also couldn't figure out the query parameter to past the item number and list name to the web.contents statement. Query is below. Thanks!

 

let
Source = (VersionsRelevantSharePointListName as text, VersionsRelevantSharePointLocation as text, VersionsRelevantItemID as number) => let
Source = Xml.Tables(Web.Contents(VersionsRelevantSharePointLocation, [RelativePath= Text.Combine({"/_api/web/Lists/getbytitle('", VersionsRelevantSharePointListName ,
"')/items(", Text.From(VersionsRelevantItemID), ")/versions"})])
),
entry = Source{0}[entry],
#"Removed Other Columns2" = Table.SelectColumns(entry,{"content"}),
#"Expanded content" = Table.ExpandTableColumn(#"Removed Other Columns2", "content", {"http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"}, {"content"}),
#"Expanded content1" = Table.ExpandTableColumn(#"Expanded content", "content", {"properties"}, {"properties"}),
#"Expanded properties" = Table.ExpandTableColumn(#"Expanded content1", "properties", {"http://schemas.microsoft.com/ado/2007/08/dataservices"}, {"properties"})
in
#"Expanded properties"
in
Source

4 REPLIES 4
Syndicate_Admin
Administrator
Administrator

Hi @ImkeF 

 

This is what the finished url would look like. I've tried it with my site name and list name and it works in this format:

 

https://dvagov.sharepoint.com/sites/MySite/_api/web/Lists/getbytitle('My list name')/items(20)/versions 

Syndicate_Admin
Administrator
Administrator

Hi @elaine1217 ,
you can either use a tool like Fiddler to record the queries that have been sent by these 2 approaches and compare the URLs or debug your current query like so:
Check the string in step "RelativePathURL"

let
  VersionsRelevantSharePointListName = "xxxx", 
  VersionsRelevantSharePointLocation = "yyyyy", 
  VersionsRelevantItemID = "zzz", 
  RelativePathURL = Text.Combine(
    {
      "/_api/web/Lists/getbytitle('", 
      VersionsRelevantSharePointListName, 
      "')/items(", 
      Text.From(VersionsRelevantItemID), 
      ")/versions"
    }
  ), 
  Source = Xml.Tables(
    Web.Contents(VersionsRelevantSharePointLocation, [RelativePath = RelativePathURL])
  ), 
  entry = Source{0}[entry], 
  #"Removed Other Columns2" = Table.SelectColumns(entry, {"content"}), 
  #"Expanded content" = Table.ExpandTableColumn(
    #"Removed Other Columns2", 
    "content", 
    {"http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"}, 
    {"content"}
  ), 
  #"Expanded content1" = Table.ExpandTableColumn(
    #"Expanded content", 
    "content", 
    {"properties"}, 
    {"properties"}
  ), 
  #"Expanded properties" = Table.ExpandTableColumn(
    #"Expanded content1", 
    "properties", 
    {"http://schemas.microsoft.com/ado/2007/08/dataservices"}, 
    {"properties"}
  )
in
  #"Expanded properties"

Otherwise, posting your error-message here might help as well.

Syndicate_Admin
Administrator
Administrator

Hi @elaine1217 ,

 

You need to fix the SharePoint site link and then you will be able to refresh it successfully.

 

let
Source = ( VersionsRelevantSharePointListName as text, VersionsRelevantItemID as number) => let
Source = Xml.Tables(Web.Contents("https://xxxxx.sharepoint.com/sites/winniz-test", [RelativePath= Text.Combine({"/_api/web/Lists/getbytitle('", VersionsRelevantSharePointListName ,
"')/items(", Text.From(VersionsRelevantItemID), ")/versions"})])
),
entry = Source{0}[entry],
#"Removed Other Columns2" = Table.SelectColumns(entry,{"content"}),
#"Expanded content" = Table.ExpandTableColumn(#"Removed Other Columns2", "content", {"http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"}, {"content"}),
#"Expanded content1" = Table.ExpandTableColumn(#"Expanded content", "content", {"properties"}, {"properties"}),
#"Expanded properties" = Table.ExpandTableColumn(#"Expanded content1", "properties", {"http://schemas.microsoft.com/ado/2007/08/dataservices"}, {"properties"})
in
#"Expanded properties"
in
Source

 

If the problem is still not resolved, please provide detailed error information or the expected result you expect. Let me know immediately, looking forward to your reply.
Best Regards,
Winniz
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Syndicate_Admin
Administrator
Administrator

Hi @elaine1217 ,

 

Has your problem been solved? If it is solved, please mark a reply which is helpful to you.

 

If the problem is still not resolved, please provide detailed error information or the expected result you expect. Let me know immediately, looking forward to your reply.


Best Regards,
Winniz

Helpful resources

Announcements
Super User 2 - 2022 Congratulations 768x460.png

Welcome Super Users

The Super User program for 2022 - Season 2 has kicked off!

Power Platform Conf 2022 768x460.jpg

Join us for Microsoft Power Platform Conference

The first Microsoft-sponsored Power Platform Conference is coming in September. 100+ speakers, 150+ sessions, and what's new and next for Power Platform.

<
Top Kudoed Authors
Users online (2,479)