Muito obrigado pelo ensinamento, foi muito bom, pois estava com uma demanda no trabalho. valeu!
@DevAnalytics2 жыл бұрын
Poxa, que bom que o conteúdo foi de grande valia para você, Mário! Muito obrigado também pelo comentário! Um forte abraço 🙌🏻🙌🏻🙌🏻
@marcossanches521410 ай бұрын
Porra mané, muito massa seu conteudo mano, conheci seu canal só agora mas to inscrito já meu velho. Obrigado por trazer esse conteudo ajudou muito no meu trabalho. Grande abraço mestre
@DevAnalytics5 ай бұрын
Opa, eu que agradeço, Marcos! Um forte abraço!
@cioetoic2 жыл бұрын
Irmão, vc é brabo. Extremamente didático e fácil de entender.
@DevAnalytics2 жыл бұрын
Muitíssimo obrigado, Matheus! 🤜🏻🤛🏻
@nicolegallego59472 жыл бұрын
maravilhoso!! me ajudou 100%
@DevAnalytics2 жыл бұрын
Muitíssimo obrigado, Nicole!
@FelisbinaSoaresMoreira2 жыл бұрын
Bom demais teu vídeo, parabéns! no meu caso a api que preciso não entrega número de páginas e de registros. preciso (além de ser por off set e não número de página) tem alguma dica? ou vídeo que possa me ajudar?
@DevAnalytics2 жыл бұрын
Muito obrigado pela preferência! Sugestão que lhe dou, é controlar a quantidade de registros vindos da API com um list.count e monitorar isso no loop de paginação, incluindo uma verificação, onde o looping continua enquanto a quantidade de registros retornada em cada requisição foi igual ao limit configurado 👍🏻👍🏻👍🏻
@F4Excel7 ай бұрын
Isso sim é conteúdo refinado meus amigos 🤌
@rodrigodias6495 Жыл бұрын
O meu amigo! Esse vídeo ajudou muito! Valeu demais 👏🏻👏🏻👏🏻
@DevAnalytics Жыл бұрын
Eu que agradeço, Rodrigo! Abraço!
@p.r.s.89457 ай бұрын
Fera demais! Muito obrigado!
@Análisededados-q1k2 ай бұрын
Fiz essa adaptação na consulta: let listTable = "ListarClientes", totalPages = request(1, listTable)[total_de_paginas], listOfPages = List.Generate( () => [page = 1, data = request(1, listTable ) ], each [page]
@DevAnalytics2 жыл бұрын
Link para o primeiro vídeo sobre conexões nas APIs Omie - kzbin.info/www/bejne/nWfPYYWdZcqtbJo
@MateusAoQuadrado2 жыл бұрын
Mas como deixa o parâmetro de call e o RelativePath dinamico?
@DevAnalytics2 жыл бұрын
Fala Matheus! Então, existe algumas forma de deixar isso mais dinâmico, seja através de funções ou até mesmo tabelas estáticas, mas fique atento que vamos levar isso ao canal ainda ;)
@MateusAoQuadrado2 жыл бұрын
@@DevAnalytics Eu tentei fazer as tabelas e puxar com funções, mas da erro T.T Aguardo ansioso para esses vídeos
@pollynewermelinger20302 жыл бұрын
@@DevAnalytics Consegui fazer todo o processo passado por você, mas também estou com essa dúvida de como deixar o parâmetro de call e o RelativePath dinâmico, por favor..
@matheusluiz62 жыл бұрын
Boa pergunta Mateus Shaffer, tbm tenho essa dúvida.
@brenomarendino12282 жыл бұрын
Vídeo sensacional! Realmente, seria de grande valia o vídeo para podermos deixar os parânetros dinâmicos! Abraço.
@Bmuniiz11 ай бұрын
Ótimo conteúdo! porém estou com um erro na parte de clientes nas outras consultas que não estou conseguindo entender, segue o erro: Erro na consulta ‘’. Expression.Error: Não conseguimos converter um valor do tipo Function em tipo Record. Detalhes: Value=[Function] Type=[Type]
@DevAnalytics5 ай бұрын
Opa, fala @Bmuniiz, tudo certo? Então, pelo erro informado, parece que você está tentando converter um valor que é uma função em um tipo record. Certifique-se que este value seja um record, para que o script funcione ;)
@rsrosabr8 ай бұрын
Pessoal, ninguém postou um pbix pronto, para somente trocarmos a chave e key?
@WalberMaceste Жыл бұрын
Olá! Ao publicar no PBI Service apresenta erro de atualização. Alguem sabe como corrigir? Erro de fonte de dados
@uelintonslo7 ай бұрын
Olá, você encontrou a solução, estou com o mesmo problema, no Desktop funciona perfeitamente, ao publicar, acontece o erro na atualização.
@WalberMaceste7 ай бұрын
@@uelintonslo Sim, deu certo, só que como fiz duas requisições uma de pedido e outra de nota começou apresentar erro, uma atualizava e outra não, as vezes as duas atualizam. Preciso corrigir isso. Você pode verificar as medidas criadas para montar os gráficos, algumas dão erro na atualização.
@DevAnalytics5 ай бұрын
Olá Walber! Provavelmente, você não usou corretamente o parâmetro RelativePath da função Web.Contents e por isso o Power BI Serviço está entendendo que a fonte de dados é dinâmica.
@lucasdiasferrarezi62283 ай бұрын
Excelente video!! Estou tendo um problema aqui, quando invoco a função "request", onde ele me trás a seguinte mensagem de erro: Erro na consulta ‘’. Expression.Error: Não conseguimos converter um valor do tipo Function em tipo Record. Detalhes: Value=[Function] Type=[Type] alguém sabe o que poderia ser?
@lucasdiasferrarezi62283 ай бұрын
consegui resolver aqui! o problema no meu caso estava no código que fiz aqui... em "request" estava chamando a função "getHeaders" mas esqueci de abrir e fechar parênteses nela, por isso que deu este erro
@DevAnalytics3 ай бұрын
Boa Lucas! Grande sacada para resolver o problema 👏🏻👏🏻👏🏻
@icaronp Жыл бұрын
É possível fazer com Python?
@DevAnalytics Жыл бұрын
Sim, Ícaro, isso é totalmente possível! Vou me organizar aqui para trazer isso ao canal ;)
@MateusAoQuadrado2 жыл бұрын
Que conteúdo exemplar! A Melhor didática que eu vi! Muito obrigado por compartilhar
@DevAnalytics2 жыл бұрын
Muito obrigado Matheus! Forte abraço!
@dnnlage2 жыл бұрын
Graças ao seu conteúdo (deste e demais videos) consegui realizar a paginação de uma API Rest. Estou tendo um problema bem específico referente à expiração do Token que é de 15 minutos. Por algum motivo, o PBI não está conseguindo trazer as 5.000 vendas neste período, e como o Token expira, não consigo atualizar os dados. Pelo PBI Serviço consegui carregar 1311 linhas destas 5.000. A api retorna um parametro de Refresh_Token, mas não sei como aplicar. Tem alguma ideia do porque o PBI está demorando tanto pra carregar as informações, e como fazer para "renovar" o token e a consulta continuar de onde parou? Se puder ajudar, agradeço.
@DevAnalytics2 жыл бұрын
Muitíssimo obrigado, Danny! Existe a possibilidade de usar um refresh token para uma nova chamada, mas só conseguirias usá-lo 1 vez. Sugiro crir uma função para buscar o token e chamá-la em cada requisição. Abs.
@dnnlage2 жыл бұрын
@@DevAnalytics Boa tarde. Estou precisando muito de uma ajuda com um Token que expira em 15 minutos. Este tempo não está sendo suficiente para retornar todos os detalhes (dados) das vendas de um cliente. Quando o PBI "abre" a chamada, ele não atualiza o token automaticamente quando ele expira, simplesmenta dá erro falando que não pode autenticar com as credenciais fornecidas. De forma manual eu consigo atualizar a consulta (onde obtenho o AccessToken), mas durante o processo de importação de dados não tenho este controle. Ao transformar minha consulta em uma função (para obter o token automaticamente) por algum motivo a função retorna sempre o mesmo AccessToken. Até cheguei a passar essa função dentro de cada chamada, na esperança de que ao ter expirado, ele atualize sozinho e dê continuidade chamando o detalhamento de cada venda. Já não sei mais a quem recorrer. Consegue me ajudar?
@dilansilva404 Жыл бұрын
INCRÍVEL
@rafaelslash20083 жыл бұрын
Muito top essa forma da fazer a paginação. Aqui utilizei os parâmetros para passar o path e qual o método chamar, e aí em cada entidade eu passo os parâmetros correto para cada um. Dessa forma fiquei somente com as 3 funções servindo para todas as entidades que eu precisar. Parabéns mais uma vez pela excelente explicação e por compartilhar com a gente. Obrigado e abraços.
@DevAnalytics3 жыл бұрын
Obrigado Rafael e parabéns também por conseguir evoluir e reutilizar as funções nas mais diversas chamadas. Saber deste tipo de resultado me faz ter a sensação de dever comprido! Um forte abraço e sucesso!
@emersonjfa2 жыл бұрын
Olá @@DevAnalytics e @Rafael Holanda - Kitesuf Meu caros.. não profundo conhecedor.. mas estou me aventurando em algumas integrações Omie + Excel.. Se puderem me direcionar em um ponto.. ficarei grato.. Eu passei na função o paramento da consulta a ser utilizada.. Mas como resolvo a questão dos parâmetros que cada consulta exige ? Por exemplo, o de cadastro de clientes pede 3 parâmetros ("pagina": 1, "registros_por_pagina": 50, "apenas_importado_api": "N") já a de produtos pede 4 parametros ( "pagina": 1, "registros_por_pagina": 50, "apenas_importado_api": "N", "filtrar_apenas_omiepdv": "N"). Como eu trato isso ? (Por favor, obviamente). Abc,
@lucassalescoelho3009 Жыл бұрын
Olá Rafael, poderia comentar como faz pra trazer os dados de forma dinâmica assim para as características dos clientes ?
@DevAnalytics Жыл бұрын
On endpoint de clientes utiliza o conceito de número de página, Lucas. Além disso, em cada resposta desta requisição, a Omie informa quantas páginas existem para este endpoint. Sendo assim, você pode realizar a requisição, pegar o total de páginas e implementar um looping a partir deste número de páginas, pegando todos os clientes de forma dinâmica. Tem um vídeo recente aqui no canal, onde eu mostro como fazer loopings no Power Query ;)
Жыл бұрын
Excelente vídeo. Para esse metodo que está usando (funções) existiria alguma forma de eu pausar uma consulta? Estou desenvolvendo um projeto com a API do monday (Graph) mas não consigo retornar todos os registros.. Fiz a paginação igual no seu video, mas o tempo de resposta ultrapassa os 1 min e eu não consigo trazer o restante dos dados. Como eu poderia buscar todas as informações ? Gostaria que para cada consulta realizada (ou cada página) o BI aguardasse uns 15seg para só depois buscar a próxima página. Acredito que assim eu poderia retornar todos os dados.
@DevAnalytics Жыл бұрын
Podes usar a função InvokeAfter para criar esta espera de 15 segundos, Leo 👍 learn.microsoft.com/pt-br/powerquery-m/function-invokeafter
@Educativoscultura90 Жыл бұрын
Nossa consegui! Mas o método de extração não funcionou no meu powerbi, dava uma pesquisa nula, eu tive de fazer conforme a orientação do omie.
@murilomartinsdealmeida47273 жыл бұрын
Bom dia Rafael, excelente vídeo, eu vou tentar implementar aqui na minha consulta. Mas desde já agradeço pelo seu apoio.
@evertonluiz74312 жыл бұрын
Excelente vídeo e ótima didática! Pacheco, estou com dificuldades pra conectar em uma API SOAP (XML). Tens algum vídeo falando sobre API utilizando XML?
@DevAnalytics2 жыл бұрын
Muito obrigado Everton! Dica anotada para os próximos conteúdos do canal 👊🏻
@pamellaoliveira61382 жыл бұрын
Conteúdo e didática excelentes. O cenário que enfrento é realizar a paginação no Power BI Web, já que ele permite o agendamento de atualizações. Porém com o uso de funções, a flexibilidade de agendamento não é possível, poderia montar um conteúdo para pessoas que enfrentam este mesmo problema? Agradeço.
@DevAnalytics2 жыл бұрын
Muitíssimo obrigado, Pamella! Dê uma olhada no parâmetro RelativePath da função Web.Contents, saber usá-la faz com que vc possa usar funções no agendamento. Além disso, deixe suas funções com a atualização desabilitada, caso estejas usando os Fluxos de dados do Power BI ;)
@viniciusmenezes42 жыл бұрын
Boa Tarde Rafael, excelente conteúdo e vem me auxiliando no meio da migração para Omie. Porém tive um problema exatamente na requisição de cliente, onde ele me mostra de forma correta a quantidade de registros e de páginas, porém quando expando totalmente as informações ele só traz os registros da página 1 e repete para as demais páginas. Já chequei todo o código para saber se cometi algum erro, mas está tudo ok? Consegue me dar uma luz?
@DevAnalytics2 жыл бұрын
Muito obrigado, Vinicius! Sobre o seu problema, isto me parece que os parâmetros responsáveis pela administração da paginação de resultados não foram passados corretamente. Verifique a documentação, certificando os nomes dos parâmetros e se estás passando eles em formato texto 👍🏻👍🏻👍🏻
@mateusfenoglio22163 жыл бұрын
Top!! Obrigado.
@DevAnalytics3 жыл бұрын
Obrigado você, Mateus!
@WeslleyCastilho3 жыл бұрын
Muito bom o conteúdo, me deu uma boa base, porem tenho algumas situações que foge do escopo apresentado no video. Alem deu eu ter Jason com 3 tabelas diferentes, no meu caso a API tem um campo Next, que é exatamente o link da pagina 2, e o outro Current_page a pagina 1 em uma tabela (JSON) chamada link, e os dados estão em uma outra tabela (JSON) no mesmo JSON chamado data. Como implementar o Next para varrer todas as paginas?
@DevAnalytics3 жыл бұрын
Muito obrigado Teo!! No caso que você comentou, você terá que criar uma estrutura de chamada das APIs orientada a funções reutilizáveis. Além disso, acredito que será necessário criar uma estrutura de repetição, onde você precisará armazenar em variáveis os parâmetros next e current_page. É um trabalhinho fazer isso, mas não impossível! Forte abraço!
@srtf323 жыл бұрын
Top!!!! Raphael, já que nessa requisição você retorna toda a base de dados, como ficaria o incremental para que em uma nova requisição trazer somente o incremental?
@DevAnalytics3 жыл бұрын
No caso desta API, onde a paginação é feita através de cursor (número da página), até dá para fazer paginação desta forma, porém é um pouco arriscado, pois nada garante que a base do serviço consultado estará na ordem crescente de atualização. Agora, se o filtro de paginação for data, você pode usar o próprio recurso de carga incremental que o Power BI disponibiliza, ou então o meio que mostro nesta série (eu fiz antes da Microsoft liberar a carga incremental na conta PRO, rsrsrsrsrs) kzbin.info/www/bejne/qp_Vd4yQibF_i9E Até agradeço o comentário, pois me lembrou aqui que está faltando um video explicando como conectar-se a uma API, usando o recurso nativo de carga incremental do power bi ;)
@srtf323 жыл бұрын
@@DevAnalytics no caso que peguei a paginação é o número de paginas mesmo.
@marciojorgesalesdossantos17203 жыл бұрын
meu querido , boa tarde... Obrigado pelo conteúdo, para pessoas como eu que sou analista financeiro mas não sou programador seu trabalho é muito importante no desenvolvimento de novas ferramentas como Power Bi . Mas tenho uma dúvida : No caso do Omie, é possível ter vários aplicativos e cada um tem um app key e app secret diferente . Nesse sentido como faria pra integrar todos os aplicativos em uma só base de dados, ou o ideal seria que eu fizesse integração por integração e depois trabalhar em unir as bases ?
@DevAnalytics3 жыл бұрын
Fala Márcio, tudo certo? Primeiramente, muito obrigado pela confiança! São relatos assim que nos motiva a continuar compartilhando conteúdo à comunidade ;) Sobre a sua dúvida, existe a possibilidade de ter várias chaves, ou seja, clientes Omie sendo integrados em um mesmo fluxo, porém vai existir um certo nível de complexidade no tratamento das requisições. É possível criares uma tabela com os nomes, chaves e secrets, e iterar com a função de buscar destas informações. Porém, é importante salientar que, quando o fluxo vai ficando mais complexo, o ideal é parar de pensar somente no Power BI e partir para ferramentas que possam ser mais apropriadas para o fluxo (ex: Pentaho, Talend, Alterix ou Python). Um forte abraço!
@marciojorgesalesdossantos17203 жыл бұрын
@@DevAnalytics Perfeito , muito obrigado ! Resumindo , quanto mais complexo mais irá demandar de conhecimento de Ciência de dados e programação. No caso especifico do Omie , como eu gerencio todos os aplicativos fica mais fácil lidar , entretanto vou colocar em minha rotina estudar mais sobre análise de dados...
@marciojorgesalesdossantos17203 жыл бұрын
@@DevAnalytics Mas a integração por paginação ficou muito legal. Muito obrigado
@thiagopeixoto50703 жыл бұрын
EXCELENTE vídeo! Explicação foi a melhor que já vi na vida. Uma dúvida, como fazer isso numa paginação cursor based, como do Pipefy, em que a página não é um valor numérico e sim um código aleatório? Abraços
@DevAnalytics3 жыл бұрын
Muito obrigado tmbm Thiago, por acompanhar o conteúdo do canal :) Sobre sua dúvida, no caso do Pipefy, o código é chamado de cursor, onde ele indica qual o código que nos permitirá buscar a próxima página. Para isso, é necessário empregar uma lógica, onde para cada requisição feita, você precisará armazenar o valor deste código em uma variável e usar em um próximo laço de repetição ;) Bom, espero ter lhe ajudado! Um forte Abraço!
@ElsAnalytics3 жыл бұрын
Muito bom Raphael 👏🏾👏🏾👏🏾 Obrigado por compartilhar.
@danielcecilio8 ай бұрын
Mas como deixa o parâmetro de call e o RelativePath dinamico?
@DevAnalytics5 ай бұрын
Fala Daniel, tudo certo? Cara, existem algumas formas de deixar as consultas mais dinâmicas, mas não seria possível explicá-las por aqui. Em breve estarei trazendo novidades sobre este tema ;)
@danielcecilio5 ай бұрын
@@DevAnalytics Maravilha… esse tema está muito em evidência.. pois BD estão crescendo e cada vez mais demorado a atualização. Aguardo