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.
Estou com um problema ao requisitar um endereço URL
E Estou seguindos os passos:
1º Criei uma tabela com os endereços;
startIndex = 1 & count = 100
startIndex = 101 & count = 200
startIndex = 201 & count = 300 . . . .
2º tranformei esta tabela em endereço URL
3º Combinei em binário
Resultado.
deixei
Fonte = Table.FromRows (Json.Document (Binary.Decompress (Binary.FromText ("tdxBa103EEDh / 5J1sK + kmZEUCIXusisl0EWaRRobUmj9gv0cmn / fQFY5t8uenVcWZ / Puh6TRu3cvPl2vn1 / d3j5cvnz48 + Huazuyrbr5 / Hi5frp / frr5 + Nfl + e56uX759ufl75s / Hl / FEcft4 / 3T9fbXt7 / 89vObI356un54vL55uLv / 53X7 / fk4en28PD9cX + dxvHj / 8n9fI48fVmmHs8y3 // vjOlJOQ0 + Xejp6utTT0TOknoGeIfUM9ITUE + gJqSfQk1JPoietnwP0lNRT6Cmpp9AzpZ6Jnin1TPQsqWehZ0k9Cz1b6tno2VLP / o / vqfVB5UrWJ / Vgk4aEkxI0JtAJzYJCoxSaRYVGKzQLC41aaBYXGr3QLDA0iqFZZGg0Q7PQ0KiGZrGh0Q3NgkOjHJpFh0Y7NAsPjXpoFh8a / dAsQDQKolmEaDREsxDRqIhmMaLREd1yRKcjuuWITkd0yxGdjuiWI/+ + Zntqw52naUxv3pCOm5YhJR0zLEZOOmJYjJh0xLUdMOmJZjlh0xLIcseiIZTli0RHLcsSiI5bliEVHLMsRi45YliMWHbEsRyw6YlmOWHTEshyx6IhlOWLREctyxKIjluWIRUcsyxGLjliWIxYdsSxHrNO7EdrDEaeXI7SnI iIZTli0RHLcsSiI7bliE1HbMsRm47YliM2HbEtR2w6YluO2HTEthyx6YhtOWLTEdtyxKYjtuWITUdsyxGbjtiWIzYdsS1HbDpiW47YdMS2HLHpiG05YtMR23LEpiO25YhNR2zLEfv0BtV3R7z / Fw ==", BinaryEncoding.Base64), Compression.Deflate)), vamos _T = ((DigiTar texto anulável) meta [Serialized.Text = Verdadeiro]) na Tabela tipo [# "Coluna 1"= _t ]), = _t]), = _t]),Texto = verdadeiro]) na Tabela tipo [# "Coluna 1" = _t]), = _t]), = _t]),Texto = verdadeiro]) na Tabela tipo [# "Coluna 1" = _t]), = _t]), = _t]),
# "Tipo Alterado" = Table.TransformColumnTypes (Fonte, {{"Coluna 1", digite texto}}),
# "Personalização Adicionada" = Table.AddColumn (# "Tipo Alterado", "Personalizar", cada Json.Document (Web.Contents ([Coluna 1]))),
# "Personalizar Expandido" = Table.ExpandRecordColumn (# "Personalização Adicionada", "Personalizar", {"data"}, {"Personalizar.data"}),
# "Personalizar.data Expandido" = Table.ExpandListColumn (# "Personalizar Expandido", "Personalizar.data"),
# "Personalizar.data Expandido1" = Table.ExpandRecordColumn (# "Personalizar.data Expandido", "Personalizar.data", {"id", "Filial", "Item", "Produto", "DescProduto", "TipoProduto" , "UM", "Quantidade", "VlrPrecoVenda", "VlrUnitario", "VlrDesconto", "VlrTotal", "Custo", "TipoSaida", "NPedido", "Cliente", "Loja", "Nome", " Doc "," Serie "," TipoDoc "," DtEmissao "," CodGrupo "," DescGrupo "," CodTabPreco "," Vendedor "}, {" id "," Filial "," Item "," Produto "," DescProduto "," TipoProduto ","UM "," Quantidade "," VlrPrecoVenda "," VlrUnitario "," VlrDesconto "," VlrTotal "," Custo "," TipoSaida "," NPedido "," Cliente "," Loja "," Nome "," Doc " , "Série", "TipoDoc", "DtEmissao", "CodGrupo", "DescGrupo", "CodTabPreco", "Vendedor"}) Vendedor "}) Vendedor"})"CodTabPreco", "Vendedor"}) Vendedor "}) Vendedor"})"CodTabPreco", "Vendedor"}) Vendedor "}) Vendedor"})
não
# "Personalizar.data Expandido1"
Estou com 02 problemas:
1º Como atualizar este serviço no Power BI online?
2º Esta é uma tabela de vendas e atualiza todos os dias, preciso fazer alguma função recursiva para atualizar?
Solved! Go to Solution.
The documentation seems ok, but as you have noticed it only returns 500 (well, 460) rows. Can you talk to someone at that company to ask them for an exampe of how they use the API? I think there are other parameters, or some other part of the process that we are missing.
EDIT: Try this version, this seems to work :
let
Source = List.Generate(()=>1, each _ < 5000, each _+500),
#"Converted to Table" = Table.FromList(Source, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
#"Changed Type" = Table.TransformColumnTypes(#"Converted to Table",{{"Column1", Int64.Type}}),
#"Added Custom" = Table.AddColumn(#"Changed Type", "Data", each Json.Document(Web.Contents("http://novaindy105186.protheus.cloudtotvs.com.br:4040/rest/RTPWBI04?startindex=" & Text.From([Column1]) & "&count=" & Text.From([Column1]+499)))),
#"Expanded Data" = Table.ExpandRecordColumn(#"Added Custom", "Data", {"data"}, {"Data.data"}),
#"Expanded Data.data" = Table.ExpandListColumn(#"Expanded Data", "Data.data"),
#"Expanded Data.data1" = Table.ExpandRecordColumn(#"Expanded Data.data", "Data.data", {"id", "Filial", "Item", "Produto", "DescProduto", "TipoProduto", "UM", "Quantidade", "VlrPrecoVenda", "VlrUnitario", "VlrDesconto", "VlrTotal", "Custo", "TipoSaida", "NPedido", "Cliente", "Loja", "Nome", "Doc", "Serie", "TipoDoc", "DtEmissao", "CodGrupo", "DescGrupo", "CodTabPreco", "Vendedor"}, {"id", "Filial", "Item", "Produto", "DescProduto", "TipoProduto", "UM", "Quantidade", "VlrPrecoVenda", "VlrUnitario", "VlrDesconto", "VlrTotal", "Custo", "TipoSaida", "NPedido", "Cliente", "Loja", "Nome", "Doc", "Serie", "TipoDoc", "DtEmissao", "CodGrupo", "DescGrupo", "CodTabPreco", "Vendedor"})
in
#"Expanded Data.data1"
In my opinion the "count" parameter is wrongly named in their API. It should be called "endIndex".
Muito obrigado lbendlin!
Eu fiz e deu certo, estou apenas com um problema para atualizar no serviço do Power Bi On line. Mas, vi aqui que posso usar o RelativePath e Query. Estou quase conseguindo, irei conseguir rsrs
novamente, obrigado!
The documentation seems ok, but as you have noticed it only returns 500 (well, 460) rows. Can you talk to someone at that company to ask them for an exampe of how they use the API? I think there are other parameters, or some other part of the process that we are missing.
EDIT: Try this version, this seems to work :
let
Source = List.Generate(()=>1, each _ < 5000, each _+500),
#"Converted to Table" = Table.FromList(Source, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
#"Changed Type" = Table.TransformColumnTypes(#"Converted to Table",{{"Column1", Int64.Type}}),
#"Added Custom" = Table.AddColumn(#"Changed Type", "Data", each Json.Document(Web.Contents("http://novaindy105186.protheus.cloudtotvs.com.br:4040/rest/RTPWBI04?startindex=" & Text.From([Column1]) & "&count=" & Text.From([Column1]+499)))),
#"Expanded Data" = Table.ExpandRecordColumn(#"Added Custom", "Data", {"data"}, {"Data.data"}),
#"Expanded Data.data" = Table.ExpandListColumn(#"Expanded Data", "Data.data"),
#"Expanded Data.data1" = Table.ExpandRecordColumn(#"Expanded Data.data", "Data.data", {"id", "Filial", "Item", "Produto", "DescProduto", "TipoProduto", "UM", "Quantidade", "VlrPrecoVenda", "VlrUnitario", "VlrDesconto", "VlrTotal", "Custo", "TipoSaida", "NPedido", "Cliente", "Loja", "Nome", "Doc", "Serie", "TipoDoc", "DtEmissao", "CodGrupo", "DescGrupo", "CodTabPreco", "Vendedor"}, {"id", "Filial", "Item", "Produto", "DescProduto", "TipoProduto", "UM", "Quantidade", "VlrPrecoVenda", "VlrUnitario", "VlrDesconto", "VlrTotal", "Custo", "TipoSaida", "NPedido", "Cliente", "Loja", "Nome", "Doc", "Serie", "TipoDoc", "DtEmissao", "CodGrupo", "DescGrupo", "CodTabPreco", "Vendedor"})
in
#"Expanded Data.data1"
In my opinion the "count" parameter is wrongly named in their API. It should be called "endIndex".
Here is the pedestrian way (without recursion). Your data is rather large so the recursion would hit memory issues soon. Does the API have a call to find out the maximum ID? Do you have a link to the API documentation? I don't think "startIndex" is a valid field.
let
Source = List.Generate(()=>1, each _ < 5000, each _+500),
#"Converted to Table" = Table.FromList(Source, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
#"Changed Type" = Table.TransformColumnTypes(#"Converted to Table",{{"Column1", type text}}),
#"Added Custom" = Table.AddColumn(#"Changed Type", "Data", each Json.Document(Web.Contents("http://novaindy105186.protheus.cloudtotvs.com.br:4040/rest/RTPWBI04?startIndex=" & [Column1] & "&count=500"))),
#"Expanded Data" = Table.ExpandRecordColumn(#"Added Custom", "Data", {"data"}, {"Data.data"}),
#"Expanded Data.data" = Table.ExpandListColumn(#"Expanded Data", "Data.data"),
#"Expanded Data.data1" = Table.ExpandRecordColumn(#"Expanded Data.data", "Data.data", {"id", "Filial", "Item", "Produto", "DescProduto", "TipoProduto", "UM", "Quantidade", "VlrPrecoVenda", "VlrUnitario", "VlrDesconto", "VlrTotal", "Custo", "TipoSaida", "NPedido", "Cliente", "Loja", "Nome", "Doc", "Serie", "TipoDoc", "DtEmissao", "CodGrupo", "DescGrupo", "CodTabPreco", "Vendedor"}, {"id", "Filial", "Item", "Produto", "DescProduto", "TipoProduto", "UM", "Quantidade", "VlrPrecoVenda", "VlrUnitario", "VlrDesconto", "VlrTotal", "Custo", "TipoSaida", "NPedido", "Cliente", "Loja", "Nome", "Doc", "Serie", "TipoDoc", "DtEmissao", "CodGrupo", "DescGrupo", "CodTabPreco", "Vendedor"})
in
#"Expanded Data.data1"
Shouldn't your count always be 100? You can use a recursive function (if the data isn't too big) and exit once the returned number of records from a call is less than 100.
Eu entendi, obrigado!
Como faço para a atualização funcionar no serviço online?
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
50 | |
18 | |
16 | |
16 | |
8 |