Dica PowerBI – Criando origem alternativa de uma fonte de dados

Em algumas situações podemos ter a necessidade de obter os dados em origem diferentes e como podemos fazer isso de forma programada ?

Supondo que você possui uma planilha (Dados_2019.xlsx) que fica localizada no diretório C:\PowerBI\Curso\Carga1.

Mas gostaríamos que o PowerBI, quando atualizamos os dados desta planilha, caso ela não estivesse presente no diretório original (C:\PowerBI\Curso\Carga1), ele procura-se em outro diretório (C:\PowerBI\Curso\Carga2). Para isso, teríamos que realizar o processo abaixo:

  1. Realize a carga dos dados da planilha em seu diretório original (Obter Dados)

2. Após a carga dos dados, clique em EDITAR CONSULTAS

3. Ao entrar o EDITOR DE CONSULTAS clique em EDITOR AVANÇADO

4. Aparecerão os comandos de criação dos dados obtidos da planilha

5. Altere os comandos acima conforme exemplo que segue (texto em destaque) :

let
Fonte_1 = “C:\PowerBI\Curso\Carga1\Dados_2019.xlsx” ,
Fonte_2 = “C:\PowerBI\Curso\Carga2\Dados_2019.xlsx” ,
Fonte = try Excel.Workbook(File.Contents(Fonte_1), null, true) otherwise
try Excel.Workbook(File.Contents(Fonte_2), null, true) otherwise null,
Vendas2019_Sheet = Fonte{[Item=”Vendas2019″,Kind=”Sheet”]}[Data],
#”Cabeçalhos Promovidos” = Table.PromoteHeaders(Vendas2019_Sheet, [PromoteAllScalars=true]),
#”Tipo Alterado” = Table.TransformColumnTypes(#”Cabeçalhos Promovidos”,{{“Data Operacao”, type date}, {“Segmento”, type text}, {“Familia”, type text}, {“Produto”, type text}, {“Quantidade”, Int64.Type}, {“Unidade”, type text}, {“Valor Unitario”, Int64.Type}, {“Valor Total”, Int64.Type}, {“Lucro”, type number}, {“Estado”, type text}, {“Cidade”, type text}})
in
#”Tipo Alterado”

6. Clique em CONCLUÍDO, em seguida clique em FECHAR E APLICAR (editor)

Com isto, toda vez que você solicitar uma atualização dos dados da planilha (DADOS_2019.XLSX), o PowerBI procurará primeiramente no diretório C:\POWERBI\CURSO\CARGA1 se não encontrar esta planilha lá, irá procurar no diretório C:\POWERBI\CURSO\CARGA2.

Somente se não encontrar em ambos os diretórios, é que um erro irá aparecer.

Você pode fazer a busca em vários diretórios diferentes, basta adicionar quantas fontes de origem desejar na rotina de obtenção dos dados.

Boa Análise !!!