Como criar paginação de resultados na Omie API usando o Power BI

  Рет қаралды 7,655

devAnalytics

devAnalytics

Күн бұрын

Пікірлер: 76
@mariochalegre5003
@mariochalegre5003 2 жыл бұрын
Muito obrigado pelo ensinamento, foi muito bom, pois estava com uma demanda no trabalho. valeu!
@DevAnalytics
@DevAnalytics 2 жыл бұрын
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 🙌🏻🙌🏻🙌🏻
@marcossanches5214
@marcossanches5214 10 ай бұрын
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
@DevAnalytics
@DevAnalytics 5 ай бұрын
Opa, eu que agradeço, Marcos! Um forte abraço!
@cioetoic
@cioetoic 2 жыл бұрын
Irmão, vc é brabo. Extremamente didático e fácil de entender.
@DevAnalytics
@DevAnalytics 2 жыл бұрын
Muitíssimo obrigado, Matheus! 🤜🏻🤛🏻
@nicolegallego5947
@nicolegallego5947 2 жыл бұрын
maravilhoso!! me ajudou 100%
@DevAnalytics
@DevAnalytics 2 жыл бұрын
Muitíssimo obrigado, Nicole!
@FelisbinaSoaresMoreira
@FelisbinaSoaresMoreira 2 жыл бұрын
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?
@DevAnalytics
@DevAnalytics 2 жыл бұрын
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 👍🏻👍🏻👍🏻
@F4Excel
@F4Excel 7 ай бұрын
Isso sim é conteúdo refinado meus amigos 🤌
@rodrigodias6495
@rodrigodias6495 Жыл бұрын
O meu amigo! Esse vídeo ajudou muito! Valeu demais 👏🏻👏🏻👏🏻
@DevAnalytics
@DevAnalytics Жыл бұрын
Eu que agradeço, Rodrigo! Abraço!
@p.r.s.8945
@p.r.s.8945 7 ай бұрын
Fera demais! Muito obrigado!
@Análisededados-q1k
@Análisededados-q1k 2 ай бұрын
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]
@DevAnalytics
@DevAnalytics 2 жыл бұрын
Link para o primeiro vídeo sobre conexões nas APIs Omie - kzbin.info/www/bejne/nWfPYYWdZcqtbJo
@MateusAoQuadrado
@MateusAoQuadrado 2 жыл бұрын
Mas como deixa o parâmetro de call e o RelativePath dinamico?
@DevAnalytics
@DevAnalytics 2 жыл бұрын
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 ;)
@MateusAoQuadrado
@MateusAoQuadrado 2 жыл бұрын
@@DevAnalytics Eu tentei fazer as tabelas e puxar com funções, mas da erro T.T Aguardo ansioso para esses vídeos
@pollynewermelinger2030
@pollynewermelinger2030 2 жыл бұрын
@@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..
@matheusluiz6
@matheusluiz6 2 жыл бұрын
Boa pergunta Mateus Shaffer, tbm tenho essa dúvida.
@brenomarendino1228
@brenomarendino1228 2 жыл бұрын
Vídeo sensacional! Realmente, seria de grande valia o vídeo para podermos deixar os parânetros dinâmicos! Abraço.
@Bmuniiz
@Bmuniiz 11 ай бұрын
Ó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]
@DevAnalytics
@DevAnalytics 5 ай бұрын
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 ;)
@rsrosabr
@rsrosabr 8 ай бұрын
Pessoal, ninguém postou um pbix pronto, para somente trocarmos a chave e key?
@WalberMaceste
@WalberMaceste Жыл бұрын
Olá! Ao publicar no PBI Service apresenta erro de atualização. Alguem sabe como corrigir? Erro de fonte de dados
@uelintonslo
@uelintonslo 7 ай бұрын
Olá, você encontrou a solução, estou com o mesmo problema, no Desktop funciona perfeitamente, ao publicar, acontece o erro na atualização.
@WalberMaceste
@WalberMaceste 7 ай бұрын
@@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.
@DevAnalytics
@DevAnalytics 5 ай бұрын
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.
@lucasdiasferrarezi6228
@lucasdiasferrarezi6228 3 ай бұрын
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?
@lucasdiasferrarezi6228
@lucasdiasferrarezi6228 3 ай бұрын
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
@DevAnalytics
@DevAnalytics 3 ай бұрын
Boa Lucas! Grande sacada para resolver o problema 👏🏻👏🏻👏🏻
@icaronp
@icaronp Жыл бұрын
É possível fazer com Python?
@DevAnalytics
@DevAnalytics Жыл бұрын
Sim, Ícaro, isso é totalmente possível! Vou me organizar aqui para trazer isso ao canal ;)
@MateusAoQuadrado
@MateusAoQuadrado 2 жыл бұрын
Que conteúdo exemplar! A Melhor didática que eu vi! Muito obrigado por compartilhar
@DevAnalytics
@DevAnalytics 2 жыл бұрын
Muito obrigado Matheus! Forte abraço!
@dnnlage
@dnnlage 2 жыл бұрын
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.
@DevAnalytics
@DevAnalytics 2 жыл бұрын
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.
@dnnlage
@dnnlage 2 жыл бұрын
@@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
@dilansilva404 Жыл бұрын
INCRÍVEL
@rafaelslash2008
@rafaelslash2008 3 жыл бұрын
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.
@DevAnalytics
@DevAnalytics 3 жыл бұрын
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!
@emersonjfa
@emersonjfa 2 жыл бұрын
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
@lucassalescoelho3009 Жыл бұрын
Olá Rafael, poderia comentar como faz pra trazer os dados de forma dinâmica assim para as características dos clientes ?
@DevAnalytics
@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
@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
@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.
@murilomartinsdealmeida4727
@murilomartinsdealmeida4727 3 жыл бұрын
Bom dia Rafael, excelente vídeo, eu vou tentar implementar aqui na minha consulta. Mas desde já agradeço pelo seu apoio.
@evertonluiz7431
@evertonluiz7431 2 жыл бұрын
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?
@DevAnalytics
@DevAnalytics 2 жыл бұрын
Muito obrigado Everton! Dica anotada para os próximos conteúdos do canal 👊🏻
@pamellaoliveira6138
@pamellaoliveira6138 2 жыл бұрын
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.
@DevAnalytics
@DevAnalytics 2 жыл бұрын
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 ;)
@viniciusmenezes4
@viniciusmenezes4 2 жыл бұрын
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?
@DevAnalytics
@DevAnalytics 2 жыл бұрын
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 👍🏻👍🏻👍🏻
@mateusfenoglio2216
@mateusfenoglio2216 3 жыл бұрын
Top!! Obrigado.
@DevAnalytics
@DevAnalytics 3 жыл бұрын
Obrigado você, Mateus!
@WeslleyCastilho
@WeslleyCastilho 3 жыл бұрын
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?
@DevAnalytics
@DevAnalytics 3 жыл бұрын
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!
@srtf32
@srtf32 3 жыл бұрын
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?
@DevAnalytics
@DevAnalytics 3 жыл бұрын
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 ;)
@srtf32
@srtf32 3 жыл бұрын
@@DevAnalytics no caso que peguei a paginação é o número de paginas mesmo.
@marciojorgesalesdossantos1720
@marciojorgesalesdossantos1720 3 жыл бұрын
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 ?
@DevAnalytics
@DevAnalytics 3 жыл бұрын
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!
@marciojorgesalesdossantos1720
@marciojorgesalesdossantos1720 3 жыл бұрын
@@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...
@marciojorgesalesdossantos1720
@marciojorgesalesdossantos1720 3 жыл бұрын
@@DevAnalytics Mas a integração por paginação ficou muito legal. Muito obrigado
@thiagopeixoto5070
@thiagopeixoto5070 3 жыл бұрын
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
@DevAnalytics
@DevAnalytics 3 жыл бұрын
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!
@ElsAnalytics
@ElsAnalytics 3 жыл бұрын
Muito bom Raphael 👏🏾👏🏾👏🏾 Obrigado por compartilhar.
@danielcecilio
@danielcecilio 8 ай бұрын
Mas como deixa o parâmetro de call e o RelativePath dinamico?
@DevAnalytics
@DevAnalytics 5 ай бұрын
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 ;)
@danielcecilio
@danielcecilio 5 ай бұрын
@@DevAnalytics Maravilha… esse tema está muito em evidência.. pois BD estão crescendo e cada vez mais demorado a atualização. Aguardo
Power BI - Modelo de fatos e dimensões
32:10
devAnalytics
Рет қаралды 12 М.
Tem novidades por aí
0:13
devAnalytics
Рет қаралды 357
How Strong Is Tape?
00:24
Stokes Twins
Рет қаралды 96 МЛН
REAL or FAKE? #beatbox #tiktok
01:03
BeatboxJCOP
Рет қаралды 18 МЛН
API com OAuth2 e paginação por cursor no Power BI
44:59
devAnalytics
Рет қаралды 9 М.
Power BI - Conectando na API Omie
20:52
devAnalytics
Рет қаралды 14 М.
API OMIE no Power BI - Consulta Conta Correntes e Extratos
23:05
Estatística Básica com Python: O Essencial para Análise de Dados
14:27
Eficiência Programada
Рет қаралды 164
Power BI - Conectando a uma API OAuth Paginada
29:20
devAnalytics
Рет қаралды 26 М.
Power BI - Criando um Menu de Filtros Retrátil
32:29
devAnalytics
Рет қаралды 26 М.
Como criar um Layout PROFISSIONAL para o seu Dashboard no Power BI
34:13
Hashtag Treinamentos
Рет қаралды 257 М.
Learn to wrap lines in data labels with DAX
29:57
Jefferson Alves - Dados Criativos
Рет қаралды 49 М.
Painel de Filtro INCRÍVEL no Power BI Como Você Nunca Viu [Passo a Passo]
34:28
Extração via API utilizando o Excel ou Power BI - Parte 1
28:27
PROF DARLAN - EXCEL
Рет қаралды 31 М.