Ir para conteúdo
  • 0

Conexão com Google Sheets


Victor Rafael Goncalves

Pergunta

  • Alunos

Olá incomparáveis!

 

Gostaria de tirar uma dúvida. Tenho um arquivo no google sheets onde tem a data de atendimento e o valor pago pela consulta. 

Em cada mês é aberto uma aba nova e nomeada de acordo com o mês(08/2024, 09/2024 e assim vai). 

Tem alguma forma de importar esse arquivo no power bi de forma que, ao criar uma aba de um novo mês, o power bi reconheça e adicione os dados automaticamente?

Todas as abas tem a mesma estrutura.

 

Desde já agradeço!

 

 

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0
  • Alunos

Bom dia, Vitor.
Tudo bem?

Tenta o seguinte código:
 

let
    // Aqui vc coloca a url da sua planilha
    Fonte = GoogleSheets.Contents("COLA A URL AQUI"),

    Abas = Table.SelectRows(Fonte, each [ItemKind] = "Table"),

    ProcessarAbas = Table.AddColumn(Abas, "Dados", each 
        let
            Tabela = Table.PromoteHeaders([Data], [PromoteAllScalars=true]),
            TabelaFiltrada = Table.SelectRows(Tabela, each ([Data] <> null))
        in
            TabelaFiltrada
    ),

    TodasAsAbasCombinadas = Table.Combine(ProcessarAbas[Dados])
    
in
    TodasAsAbasCombinadas

 

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Bom dia @Victor Rafael Goncalves, baseado na sugestão do @Felipe Bitencourt Santana De Magalhães, fiz alguns ajustes para evitar quebras no processo. Testei e funcionou corretamente no meu caso. Este script em Power Query carrega dados de uma planilha do Google Sheets, processa as abas que são do tipo "Table", promove os cabeçalhos e filtra as linhas onde a coluna DataAtendimento não é nula. O script é estruturado de forma a facilitar ajustes futuros, como a alteração da URL da planilha ou os nomes das colunas. Segue o script:

let
    // Defina a URL da sua planilha do Google Sheets
    PlanilhaURL = "https://docs.google.com/spreadsheets/d/1Bi1bakqedFk_Z80G6yu6WZS0s6s7dpFywfO2UrS68kk/edit?usp=sharing",
    // Carrega o conteúdo da planilha
    Fonte = GoogleSheets.Contents(PlanilhaURL),
    // Filtra apenas as abas que são do tipo "Table"
    Abas = Table.SelectRows(Fonte, each [ItemKind] = "Table"),
    // Função para processar cada aba
    ProcessarAba = (aba as table) as table =>
        let
            // Promove os cabeçalhos da tabela
            TabelaComCabecalhos = Table.PromoteHeaders(aba, [PromoteAllScalars=true]),
            // Filtra as linhas onde a coluna "DataAtendimento" não é nula
            TabelaFiltrada = Table.SelectRows(TabelaComCabecalhos, each ([DataAtendimento] <> null))
        in
            TabelaFiltrada,
    // Aplica a função de processamento a cada aba
    AbasProcessadas = Table.AddColumn(Abas, "Dados", each ProcessarAba([Data])),
    // Combina todas as abas processadas em uma única tabela
    TodasAsAbasCombinadas = Table.Combine(AbasProcessadas[Dados])
in
    TodasAsAbasCombinadas
 

 

Explicação das Etapas:

Definição da URL da Planilha: PlanilhaURL = "https://docs.google.com/spreadsheets/d/1Bi1bakqedFk_Z80G6yu6WZS0s6s7dpFywfO2UrS68kk/edit?usp=sharing", - Aqui você pode facilmente alterar a URL da planilha conforme necessário.

Carregamento do Conteúdo da Planilha: Fonte = GoogleSheets.Contents(PlanilhaURL), - Carrega o conteúdo da planilha a partir da URL fornecida.

Filtragem das Abas: Abas = Table.SelectRows(Fonte, each [ItemKind] = "Table"), - Seleciona apenas as abas que são do tipo "Table".

Função para Processar Cada Aba: ProcessarAba = (aba as table) as table => let TabelaComCabecalhos = Table.PromoteHeaders(aba, [PromoteAllScalars=true]), TabelaFiltrada = Table.SelectRows(TabelaComCabecalhos, each ([DataAtendimento] <> null)) in TabelaFiltrada, - Define uma função ProcessarAba que promove os cabeçalhos e filtra as linhas onde DataAtendimento não é nula.

Aplicação da Função de Processamento: AbasProcessadas = Table.AddColumn(Abas, "Dados", each ProcessarAba([Data])), - Aplica a função ProcessarAba a cada aba e adiciona os dados processados em uma nova coluna chamada "Dados".

Combinação de Todas as Abas Processadas: TodasAsAbasCombinadas = Table.Combine(AbasProcessadas[Dados]) - Combina todas as abas processadas em uma única tabela.
 

Ajustes Futuros:

URL da Planilha: Basta alterar o valor de PlanilhaURL.

Nomes das Colunas: Se os nomes das colunas mudarem, você pode ajustar a função ProcessarAba para refletir os novos nomes.

 

Link para o comentário
Compartilhar em outros sites

Faça login para comentar

Você vai ser capaz de deixar um comentário após fazer o login



Entrar Agora
×
×
  • Criar Novo...