Forum Discussion
Dynamic data source issue
- Anonymous1 year ago
Hi BI007 ,
Thanks for ZhangKun reply.
One way to do this is to make the URL parameters static in the query folding contextlet GetPage = (url as text) => let RawData = Json.Document(Web.Contents(url, [Headers=[Authorization="Bearer " & GetToken()]])), Users = RawData[value], NextLink = try RawData[#"@odata.nextLink"] otherwise null, DataTable = if List.IsEmpty(Users) then null else Table.FromList(Users, Splitter.SplitByNothing(), null, null, ExtraValues.Error) in [Table = DataTable, NextLink = NextLink], InitialUrl = "https://graph.microsoft.com/v1.0/groups", Initial = GetPage(InitialUrl), AllPages = List.Generate( () => [Page = Initial, Link = Initial[NextLink]], each [Link] <> null, each [Page = GetPage([Link]), Link = [Page][NextLink]], each [Page][Table] ), CombinedData = Table.Combine(List.RemoveNulls(AllPages)), #"Expanded Column1" = Table.ExpandRecordColumn(CombinedData, "Column1", {"id", "description"}, {"id", "description"}) in #"Expanded Column1"You can also use the RelativePath and Query options to build more flexible and maintainable URLs.
let GetPage = (relativePath as text, query as record) => let RawData = Json.Document(Web.Contents("https://graph.microsoft.com", [RelativePath = relativePath, Query = query, Headers = [Authorization = "Bearer " & GetToken()]])), Users = RawData[value], NextLink = try RawData[#"@odata.nextLink"] otherwise null, DataTable = if List.IsEmpty(Users) then null else Table.FromList(Users, Splitter.SplitByNothing(), null, null, ExtraValues.Error) in [Table = DataTable, NextLink = NextLink], InitialRelativePath = "v1.0/groups", InitialQuery = [], Initial = GetPage(InitialRelativePath, InitialQuery), AllPages = List.Generate( () => [Page = Initial, Link = Initial[NextLink]], each [Link] <> null, each [Page = GetPage(Text.Middle([Link], Text.Length("https://graph.microsoft.com/")), []), Link = [Page][NextLink]], each [Page][Table] ), CombinedData = Table.Combine(List.RemoveNulls(AllPages)), #"Expanded Column1" = Table.ExpandRecordColumn(CombinedData, "Column1", {"id", "description"}, {"id", "description"}) in #"Expanded Column1"Data refresh in Power BI - Power BI | Microsoft Learn
Best regards,
Albert HeIf this post helps, then please consider Accept it as the solution to help the other members find it more quickly
Eu preciso de ajuda! Estou tendo problema com esse erro:
Este conjunto de dados inclui uma fonte de dados dinâmica. Como as fontes de dados dinâmicas não são atualizadas no serviço do Power BI, esse conjunto de dados não será atualizado.
- Fonte de dados para Query1
Hello,
You should use RelativePath and Query in Web.Content to specify the path of the URL.
If you still can't do it, write me the script which you have and I'll update you.
Best regards