Conteúdo

Às vezes, há situações em que não se sabe com antecedência exatamente quantas e quais linhas precisam ser importadas dos dados de origem. Suponha que tenhamos que carregar dados de um arquivo de texto no Power Query, o que, à primeira vista, não apresenta um grande problema. A dificuldade é que o arquivo é atualizado regularmente, e amanhã pode ter um número diferente de linhas com dados, um cabeçalho de três, não duas linhas, etc.:

Importando um fragmento flutuante no Power Query

Ou seja, não podemos dizer antecipadamente com certeza, a partir de qual linha e exatamente quantas linhas precisam ser importadas. E isso é um problema, porque esses parâmetros são codificados no código M da solicitação. E se você fizer uma solicitação para o primeiro arquivo (importando 5 linhas a partir do 4º), ele não funcionará mais corretamente com o segundo.

Seria ótimo se nossa consulta pudesse determinar o início e o fim do bloco de texto “flutuante” para importação.

A solução que quero propor é baseada na ideia de que nossos dados contêm algumas palavras-chave ou valores que podem ser usados ​​como marcadores (recursos) do início e fim do bloco de dados que precisamos. Em nosso exemplo, o início será uma linha começando com a palavra SKU, e o final é uma linha com a palavra Total. Essa validação de linha é fácil de implementar no Power Query usando uma coluna condicional – um análogo da função IF (E SE) • Microsoft Excel.

Vamos ver como fazer isso.

Primeiro, vamos carregar o conteúdo do nosso arquivo de texto no Power Query da maneira padrão – por meio do comando Dados – Obter dados – Do arquivo – Do arquivo de texto/CSV (Dados – Obter dados – Do arquivo – Do arquivo de texto/CSV). Se você tiver o Power Query instalado como um suplemento separado, os comandos correspondentes estarão na guia Consulta de energia:

Importando um fragmento flutuante no Power Query

Como sempre, ao importar, você pode selecionar o caractere separador de coluna (no nosso caso, esta é uma guia) e após a importação, você pode remover a etapa adicionada automaticamente tipo modificado (Tipo Alterado), porque é muito cedo para atribuir tipos de dados a colunas:

Importando um fragmento flutuante no Power Query

Agora com o comando Adicionando uma Coluna – Coluna Condicional (Adicionar coluna — coluna condicional)vamos adicionar uma coluna verificando duas condições – no início e no final do bloco – e exibindo quaisquer valores diferentes​​​em cada caso (por exemplo, números 1 и 2). Se nenhuma das condições for atendida, então a saída nulo:

Importando um fragmento flutuante no Power Query

Depois de clicar em OK obtemos a seguinte imagem:

Importando um fragmento flutuante no Power Query

Agora vamos para a aba. Transformação e escolha uma equipe Preencher (Transformar - Preencher - Abaixo) – nossos uns e dois se estenderão pela coluna:

Importando um fragmento flutuante no Power Query

Bem, então, como você pode imaginar, você pode simplesmente filtrar as unidades na coluna condicional – e aqui está nosso cobiçado dado:

Importando um fragmento flutuante no Power Query

Tudo o que resta é levantar a primeira linha para o cabeçalho com o comando Use a primeira linha como cabeçalhos aba Início (Início - Use a primeira linha como cabeçalhos) e remova a coluna mais condicional desnecessária clicando com o botão direito do mouse em seu cabeçalho e selecionando o comando Apagar coluna (Excluir coluna):

Problema resolvido. Agora, ao alterar os dados no arquivo de texto de origem, a consulta agora determinará independentemente o início e o fim do fragmento “flutuante” dos dados que precisamos e importará o número correto de linhas a cada vez. Obviamente, essa abordagem também funciona no caso de importar arquivos XLSX, não TXT, bem como importar todos os arquivos de uma pasta de uma só vez com o comando Dados – Obter dados – Do arquivo – Da pasta (Dados — Obter dados — Do arquivo — Da pasta).

  • Montando tabelas de arquivos diferentes usando o Power Query
  • Redesenhando uma crosstab para flat com macros e Power Query
  • Criando um gráfico de Gantt de projeto no Power Query

Deixe um comentário