domingo, 14 de outubro de 2018

Dica - Convertendo Imagens em um diretório em base 64 no Power BI


     Nesta dica irei mostrar como é possível converter imagens de um diretório para base64 e salvar em tabela utilizando o Power BI.



     O primeiro passo é criar uma função que faça a conversão da imagem para base64, conforme abaixo:


     Vá em "Editar Consultas", crie uma "Consulta Nula" com o nome "ConverteImagem" e insira a seguinte função:

let
   BinarioParaImagem = (FontBin as binary) as text=>

    let
        Base64 = "data:image/jpeg;base64, " & Binary.ToText(FontBin, BinaryEncoding.Base64)
    in
    Base64

in
   BinarioParaImagem


Função ConverteImagem

     A função é muito simples, ela recebe uma imagem como parâmetro e faz a conversão para base64 utilizando o BinaryEncoding.Base64, após isso irá retornar a imagem já convertida.

     Em seguida crie uma nova fonte de dados a partir de um diretório, este deverá conter as imagens que você deseja carregar, conforme abaixo:

Obter dados a partir do diretório


Diretório carregado

     Clique no botão Editar, selecione as colunas "Content" e "Name" e com o botão direito do mouse escolha a opção "Excluir outras colunas", após isso iremos chamar a função "ConverteImagem"


     Escolha no menu superior a opção "Adicionar Coluna" e "Invocar Função Personalizada", renomeie a coluna para "Imagem" e escolha a função "ConverteImagem" na lista suspensa, aplicando sobre a coluna "Content" conforme abaixo:

Função personalizada


     O resultado obtido deve ser semelhante a imagem abaixo:

Resultado da Conversão

     Após converter feche o Power Query e categorize a coluna "Imagem" da tabela em "URL da Imagem"

Categorizar a coluna como URL da Imagem

     Em seguida insira o visual "Tabela" e use a coluna "Imagem", o resultado pode ser visto abaixo:

Resultado final

     Fiz o teste com imagens do tipo jpeg e png, outros formatos não foram testados neste exemplo.


Isso é tudo.





Nenhum comentário:

Postar um comentário

Observação: somente um membro deste blog pode postar um comentário.