Passar para o conteúdo principal
Configurando a paginação no Power BI

Nesse artigo, descubra como realizar a configuração no Power BI para trabalhar com mais de uma página na mesma requisição.

Kessy Silva avatar
Escrito por Kessy Silva
Atualizado há mais de um mês

A paginação no Power BI refere-se ao processo de dividir uma grande quantidade de dados em páginas menores, garantindo uma navegação mais ordenada em torno dos dados trazidos.

Confira como realizar a configuração de paginação no Power BI nos passos abaixo! 🚀

Tópicos do Artigo:


Informações importantes

  • Antes de iniciar seus testes com a nossa API, é fundamental conhecer alguns processos básicos:

    • Acessando a documentação: Consulte nossa documentação oficial para entender os endpoints disponíveis e seus respectivos parâmetros.

    • ⚙️ Características e Recomendações: Fique por dentro das melhores práticas para otimizar sua experiência com a API da Omie.

    • 🔐 Login no Portal: Para testar suas requisições no Portal do Desenvolvedor é necessário fazer login na plataforma com o mesmo e-mail e senha que você já usa no ERP. Fácil, né? 😉

    • 🧪 Aplicativo Teste: Aprenda a criar um Aplicativo Teste gratuito e descubra, na prática, como utilizar nossas APIs e aproveitar ao máximo os nossos recursos.

  • Particularidades para Power BI:

    • Os dados de configuração e códigos passados por aqui são exemplos, pois não prestamos suporte às funcionalidades do Power BI. O tratamento dos dados obtidos deve ser feito pelo desenvolvedor responsável pela integração.

    • Caso tenha muitos dados, opte por utilizar filtros. Afinal, o tamanho dos dados tem influência direta no desempenho da integração.



Configurando as credenciais

1) Após a instalação e configuração inicial do Power BI, abra o aplicativo e crie um relatório em branco:

2) Clique sobre a opção "Transformar dados", disponível no cabeçalho:

3) No Editor do Power Query, crie grupo específico para guardar as credenciais do seu aplicativo Omie. Para isso, clique com o botão direito no menu esquerdo de Consultas (1) e selecione a opção "Novo Grupo" (2):

4) Defina um nome de sua preferência para o novo grupo (1). E, por fim, clique em "OK" (2) para criar a pasta:

5) Com a pasta criada, clique com o botão direito em cima dela (1) e depois em "Novo Parâmetro" (2):

6) Crie dois parâmetros, sendo eles "app_key" e "app_secret", conforme as imagens abaixo:

  • (1) Nome: Defina o nome do parâmetro.

  • (2) Tipo: Defina como "texto".

  • (3) Valor Atual: Preencha o valor indicando o dado da sua credencial do App Omie, conforme o nome do parâmetro.

  • (4) OK: Após o preenchimento, confirme a inclusão do novo parâmetro.


Configurando o método

💡 Se você for trabalhar com mais de um método, ou seja, realizar mais de uma requisição, confira este Artigo:

1) Com as credenciais já configuradas, é hora de parametrizar o método utilizado para trabalhar. Para isso, clique com o botão direito no menu esquerdo de Consultas (1) e selecione a opção "Novo Grupo" (2):

2) Defina um nome de sua preferência (1) e clique em "OK" (2):


3) Clique com o botão direito em cima da pasta criada (1), e depois em "Novo Parâmetro" (2):

💡 Dica

Você pode consultar pelo nosso site Developer todas URLs/Endpoints e todas as informações para suas requisições.

Neste exemplo, vamos utilizar o método voltado a listagem de Contas a Receber:

4) Crie dois parâmetros, sendo eles "call"e "relative_path" , conforme as imagens abaixo:

  • (1) Nome: Defina o nome do parâmetro.

  • (2) Tipo: Defina como "texto".

  • (3) Valor Atual: Preencha o valor indicando o nome do método e o final do endpoint, respectivamente.

  • (4) OK: Após o preenchimento, confirme a inclusão do novo parâmetro.


Configurando as funções

1) Clique com o botão direito no menu esquerdo de Consultas (1) e selecione a opção "Novo Grupo" (2):

2) Defina um nome de sua preferência (1) e clique em "OK" (2):

3) Clique com o botão direito em cima da pasta criada (1), e vá em "Nova Consulta" (2) para selecionar a opção "Consulta Nula" (3):

4) Clique novamente com o botão direito em cima da nova consulta criada (1) e realize dois procedimentos, sendo o primeiro dele renomear a consulta (2) e acessar o Editor Avançado (3):

  • (2) Renomear: Renomeie a consulta para: get_body.

  • (3) Editor Avançado: Ao clicar em "Editor Avançado", será necessário colar o código.

5) No Editor Avançado, cole o trecho de código abaixo. Com tudo certo, clique em "Concluído":

(page as number) =>

let

Fonte = Json.FromValue ([

call = call,

app_key = app_key,

app_secret = app_secret,

param = {

[

pagina = page,

registros_por_pagina = 20,

apenas_importado_api = "N"

]

}

])

in

Fonte

💡 Na função get_body, são informado os parâmetros da requisição. Eles podem variar de requisição para requisição, por isso consulte sempre o site do Developer para entender quais são os parâmetros necessários para a sua requisição!

6) Você deve realizar o mesmo procedimento de criação de consulta nula na mesma pasta de funções mais duas vezes, com os seguintes nomes e trechos de código:

  • get_data

(page as number) =>

let

Data=Json.Document(Web.Contents(

"https://app.omie.com.br/api/v1", [

Headers= get_header(),

Content= get_body(page),

RelativePath= relative_path

]))

in

Data

  • get_header

() => [#"Content-Type"="application/json"]

7) Sendo assim, a pasta terá três consultas:


Configurando a requisição

1) Com tudo configurado, é chegado o último passo: fazer a chamada da requisição.

Para isso, clique com o botão direito na basta "Outras Consultas" (1) e vá em "Nova Consulta" (2) para selecionar a opção "Consulta Nula" (3):


2) Clique com o botão direito na nova consulta criada (1) e depois em "Editor Avançado" (2):


3) No Editor Avançado, cole o trecho de código abaixo (1). Com tudo certo, clique em "Concluído" (2):

let

totalPages = get_data(1)[total_de_paginas],

listOfPages = List.Generate(

() => [ page = 1, conteudo = get_data(1)],

each [page] <= totalPages,

each [page = [page] +1, conteudo = get_data([page] + 1)]

),

#"Convertido para Tabela" = Table.FromList(listOfPages, Splitter.SplitByNothing(), null, null, ExtraValues.Error),

#"Column1 Expandido" = Table.ExpandRecordColumn(#"Convertido para Tabela", "Column1", {"page", "conteudo"}, {"Column1.page", "Column1.conteudo"}),

#"Column1.conteudo Expandido" = Table.ExpandRecordColumn(#"Column1 Expandido", "Column1.conteudo", {"pagina", "total_de_paginas", "registros", "total_de_registros", "conta_receber_cadastro"}, {"Column1.conteudo.pagina", "Column1.conteudo.total_de_paginas", "Column1.conteudo.registros", "Column1.conteudo.total_de_registros", "Column1.conteudo.conta_receber_cadastro"}),

#"Column1.conteudo.conta_receber_cadastro Expandido" = Table.ExpandListColumn(#"Column1.conteudo Expandido", "Column1.conteudo.conta_receber_cadastro"),

#"Column1.conteudo.conta_receber_cadastro Expandido1" = Table.ExpandRecordColumn(#"Column1.conteudo.conta_receber_cadastro Expandido", "Column1.conteudo.conta_receber_cadastro", {"boleto", "categorias", "codigo_categoria", "codigo_cliente_fornecedor", "codigo_lancamento_integracao", "codigo_lancamento_omie", "codigo_tipo_documento", "codigo_vendedor", "data_emissao", "data_previsao", "data_registro", "data_vencimento", "distribuicao", "id_conta_corrente", "id_origem", "info", "nCodPedido", "numero_documento_fiscal", "numero_parcela", "numero_pedido", "operacao", "retem_cofins", "retem_csll", "retem_inss", "retem_ir", "retem_iss", "retem_pis", "status_titulo", "tipo_agrupamento", "valor_documento", "bloqueado", "bloquear_baixa"}, {"Column1.conteudo.conta_receber_cadastro.boleto", "Column1.conteudo.conta_receber_cadastro.categorias", "Column1.conteudo.conta_receber_cadastro.codigo_categoria", "Column1.conteudo.conta_receber_cadastro.codigo_cliente_fornecedor", "Column1.conteudo.conta_receber_cadastro.codigo_lancamento_integracao", "Column1.conteudo.conta_receber_cadastro.codigo_lancamento_omie", "Column1.conteudo.conta_receber_cadastro.codigo_tipo_documento", "Column1.conteudo.conta_receber_cadastro.codigo_vendedor", "Column1.conteudo.conta_receber_cadastro.data_emissao", "Column1.conteudo.conta_receber_cadastro.data_previsao", "Column1.conteudo.conta_receber_cadastro.data_registro", "Column1.conteudo.conta_receber_cadastro.data_vencimento", "Column1.conteudo.conta_receber_cadastro.distribuicao", "Column1.conteudo.conta_receber_cadastro.id_conta_corrente", "Column1.conteudo.conta_receber_cadastro.id_origem", "Column1.conteudo.conta_receber_cadastro.info", "Column1.conteudo.conta_receber_cadastro.nCodPedido", "Column1.conteudo.conta_receber_cadastro.numero_documento_fiscal", "Column1.conteudo.conta_receber_cadastro.numero_parcela", "Column1.conteudo.conta_receber_cadastro.numero_pedido", "Column1.conteudo.conta_receber_cadastro.operacao", "Column1.conteudo.conta_receber_cadastro.retem_cofins", "Column1.conteudo.conta_receber_cadastro.retem_csll", "Column1.conteudo.conta_receber_cadastro.retem_inss", "Column1.conteudo.conta_receber_cadastro.retem_ir", "Column1.conteudo.conta_receber_cadastro.retem_iss", "Column1.conteudo.conta_receber_cadastro.retem_pis", "Column1.conteudo.conta_receber_cadastro.status_titulo", "Column1.conteudo.conta_receber_cadastro.tipo_agrupamento", "Column1.conteudo.conta_receber_cadastro.valor_documento", "Column1.conteudo.conta_receber_cadastro.bloqueado", "Column1.conteudo.conta_receber_cadastro.bloquear_baixa"}),

#"Column1.conteudo.conta_receber_cadastro.boleto Expandido" = Table.ExpandRecordColumn(#"Column1.conteudo.conta_receber_cadastro Expandido1", "Column1.conteudo.conta_receber_cadastro.boleto", {"cGerado", "cNumBancario", "cNumBoleto", "dDtEmBol", "nPerJuros", "nPerMulta"}, {"Column1.conteudo.conta_receber_cadastro.boleto.cGerado", "Column1.conteudo.conta_receber_cadastro.boleto.cNumBancario", "Column1.conteudo.conta_receber_cadastro.boleto.cNumBoleto", "Column1.conteudo.conta_receber_cadastro.boleto.dDtEmBol", "Column1.conteudo.conta_receber_cadastro.boleto.nPerJuros", "Column1.conteudo.conta_receber_cadastro.boleto.nPerMulta"}),

#"Column1.conteudo.conta_receber_cadastro.categorias Expandido" = Table.ExpandListColumn(#"Column1.conteudo.conta_receber_cadastro.boleto Expandido", "Column1.conteudo.conta_receber_cadastro.categorias"),

#"Column1.conteudo.conta_receber_cadastro.categorias Expandido1" = Table.ExpandRecordColumn(#"Column1.conteudo.conta_receber_cadastro.categorias Expandido", "Column1.conteudo.conta_receber_cadastro.categorias", {"codigo_categoria", "percentual", "valor"}, {"Column1.conteudo.conta_receber_cadastro.categorias.codigo_categoria", "Column1.conteudo.conta_receber_cadastro.categorias.percentual", "Column1.conteudo.conta_receber_cadastro.categorias.valor"}),

#"Column1.conteudo.conta_receber_cadastro.distribuicao Expandido" = Table.ExpandListColumn(#"Column1.conteudo.conta_receber_cadastro.categorias Expandido1", "Column1.conteudo.conta_receber_cadastro.distribuicao")

in #"Column1.conteudo.conta_receber_cadastro.distribuicao Expandido"

4) E pronto! O sistema irá trazer todos os registros de todas as páginas em uma tabela no Power BI! 😉


📚 Artigos Relacionados

Integração, Chave de Acesso, Credenciais, usuário e senha API, App Key, App Secret
Respondeu à sua pergunta?