Skip to main content
29 março 2021
Follow Us

Parâmetros no Power BI: flexibilidade para alterar dinamicamente a saída das suas consultas

A ideia do artigo de hoje surgiu com a pergunta de um aluno durante a nossa formação sobre Power BI Nível I Aplicado à Gestão e Finanças. Na altura, ele perguntou: Isa, o que são parâmetros e para que servem?

Para responder a essas questões, vou aproveitar para dar 3 exemplos práticos.

Os parâmetros são fáceis de criar e podem ser incorporados ao processo de importação ou posteriormente para refinar um conjunto de dados ou adicionar elementos dinâmicos. Por exemplo, você pode criar parâmetros que fornecem informações de conexão a uma fonte de dados ou que fornecem valores predefinidos para filtrar dados.

Os parâmetros geralmente são usados em relatórios e dashboards para muitos cenários quando você deseja fazer algo dinâmico no processo de obtenção e transformação de dados. Isso economiza esforços de desenvolvimento e manutenção e permite que os usuários que consomem os relatórios possam visualizar os dados de muitas maneiras diferentes, a partir de um único relatório poderoso e dinâmico! O interessante disso tudo é que podemos criar os parâmetros dentro ou fora do Power Query e são úteis até mesmo no Power BI Service, de forma que você pode alterar os valores manualmente sem a necessidade de abrir o arquivo PBIX em a área de trabalho e publicá-lo novamente.

Os relatórios dinâmicos são importantes para desenvolvedores e usuários de relatórios, pois podemos reduzir muito o número de relatórios necessários. Ao usar parâmetros do Power BI, um único relatório pode ser usado para várias finalidades. Por exemplo, o Power BI fornece os seguintes recursos na modelagem de dados de back-end por meio do uso de parâmetros.

  • Alterar a fonte de dados
  • Modificar filtros / valores de consulta
  • Criar funções personalizadas

APLICAÇÕES PRÁTICAS

1) Trocar o caminho da base de dados, ou seja, alterar a fonte de dados dinamicamente

1.1 Cenário


Você se conectou a uma fonte de dados usando o Power BI. Essa fonte de dados pode ser qualquer coisa (um banco de dados SQL Server ou Oracle, uma pasta, um ficheiro Excel, um arquivo, um endereço de API da web ou etc). Você criou seu relatório do Power BI e publicou o arquivo no serviço e agora deseja alterar a fonte de dados do mesmo tipo.

No entanto, a nova fonte de dados é exatamente semelhante à antiga em termos de estrutura. Portanto, tudo o que você precisa fazer é apenas alterar parte da conexão de origem (o nome do banco de dados, ou o nome do arquivo, ou caminho da pasta, ou o URL da API, etc.). Você pode fazer isso alterando os valores na janela do Editor do Power Query, mas isso significa que você precisa abrir o arquivo no Power BI Desktop, alterar o valor, salvá-lo e publicá-lo novamente no serviço. Para evitar essas etapas extras, você pode usar Parâmetros.

OBSERVAÇÃO: O processo abaixo é explicado em uma fonte de banco de dados, mas o mesmo processo pode ser usado para QUALQUER tipo de fonte de dados com pequenas modificações.

Esse tipo de situação acontece quando, por exemplo:

  • Temos 2 desenvolvedores a trabalhar em um mesmo relatório, em que os dados estão localmente na máquina de cada um. Nesse cenário, toda vez que o desenvolvedor precisar realizar alguma transformação no Power Query, ele precisava trocar o caminho da origem dos dados para a própria máquina.
  • Ou então, outra situação, é quando começamos a trabalhar em dados que estão armazenados localmente e depois mudamos a origem dos dados para a nuvem (SharePoint ou OneDrive, por exemplo).
  • Ou mais comum ainda, suponha que trocamos os dados de pasta ou local e precisamos alterar a origem dos dados.

Em todas essas situações, o uso de parâmetros é super bem-vindo e indicado.

Mas chega de conversa e vamos colocar a mão na massa, ou melhor, a mão nos dados.

Suponha então que estava a utilizar o meu Power BI para ler os ficheiros que estão localmente no meu computador, dentro dessa pasta ‘Ficheiros Iniciais’.

1.0 Criação de parâmetros no Power BI

E no meu Power Query (o editor de consultas do Power BI que nos auxilia a fazer o processo de limpeza e transformação dos dados) vemos que a ligação está a ser feita, justamente à pasta da imagem anterior.

3.0 Criação de parâmetros no Power BI

Entretanto, suponha que eu tenha colocado esses dados em uma outra pasta. Quando eu tentar atualizar o meu modelo, vai dar erro, obviamente, pois o Power BI não encontrou se quer os dados.

3.1 Criação de parâmetros no Power BI

Colocamos os dados na seguinte pasta “Ficheiros adicionais” juntamente com outros arquivos da mesma estrutura:

4.0 Criação de parâmetros no Power BI

Para facilitar a troca do caminho para a nova pasta, vamos criar um parâmetro no Power BI Desktop > Power Query (através do botão transformar dados) > friso Base > Gerir Parâmetros > Novo Parâmetro

5.0 Criação de parâmetros no Power BI

Clicar em Novo > dar o nome ao seu parâmetro (dei o nome de Caminho) > Tipo = Texto > Valor atual = colocar o caminho da pasta atual dos dados  > OK

6.0 Criação de parâmetros no Power BI

Você notará que será criado um ícone abaixo da query 'Ficheiros iniciais' com o valor do parâmetro que passamos.

7.0 Criação de parâmetros no Power BI

Agora o que nos resta é substituir o caminho da origem dos dados ‘Ficheiros Iniciais’ pelo parâmetro que acabamos de criar. Vejamos:

Vá em Ficheiros Iniciais > Passos Aplicados > Clique na engrenagem da Origem > ao lado de ABC clique na setinha > Parâmetro > Escolha o parâmetro que criamos:  Caminho > OK

8.0 Criação de parâmetros no Power BI
9.0 Criação de parâmetros no Power BI

 

Veja que agora a origem de dados foi alterada e o Power Query está a ler todos os dados da nova pasta.

9.1 Criação de parâmetros no Power BI

OBSERVAÇÃO: caso você tenha utilizado a opção de combinar os ficheiros nos passos subsequentes, notará um erro nos passos aplicados. Isso acontece porque a função de transformação estava a utilizar um caminho como referência e você a trocou. Dessa forma, não poderá esquecer de trocar o caminho da função transformadora também (normalmente chamado de “Ficheiro de Exemplo”). Da seguinte forma:

9.2 Criação de parâmetros no Power BI

Após esses passos, veja que o Power BI consegue facilmente ler os dados da pasta corretamente e sem dar erro.

2)     No uso de API (Aplication Programming Interface)

É um processo que também nos ajuda a extrair dados da web, por exemplo, mas mediante a uma chave de acesso. Muitas aplicações web têm uma API que nos permite aceder às bases de dados. Normalmente, precisamos criar uma conta, fazer o login, e só em seguida ter acesso à chave. Mas a saber, a extração dos dados é gratuita até um determinado número de chamadas. Neste exemplo, vamos obter dados da previsão das temperaturas de algumas localidades, através de uma API do site Open Weather Map https://openweathermap.org/

Já temos um pbix com a previsão do tempo para a cidade do Porto.

10.0 Criação de parâmetros no Power BI

No entanto, queremos saber a temperatura de outras cidades também, nomeadamente, Amesterdão, Barcelona, Lisboa e Paris. Ou seja, queremos utilizar API para extrair a previsão de temperatura e humidade de diferentes localidades mas de forma mais dinâmica, através de parâmetros. De modo que, consigamos chegar a um resultado similar ao da imagem a seguir:

11.0 Criação de parâmetros no Power BI

E nosso objetivo agora é otimizar o código de busca na API para não ter de repetir todo o passo a passo que fizemos para a cidade do Porto.

Ou seja, temos a seguinte Query para a cidade do Porto, tal como mostro na imagem do Power Query a seguir.

13.0 Criação de parâmetros no Power BI

No entanto, não quero ter de replicar esse mesmo processo para cada uma das outras cidades. Quero automatizar isso.

Para tal, criamos um ficheiro Excel com as informações das cidades que queremos obter o automatismo das informações de temperatura e humidade.

12.0 Criação de parâmetros no Power BI

Vamos importar do Excel esse ficheiro “Cidades”.

Eliminar as colunas ‘Latitude’, ‘Longitude’. Mas se quiser deixar também pode. Para esse exercício só vamos usar nome da cidade e o id. Mas caso queira criar mapas geográficos com precisão, manter as colunas de latitude e longitude é uma boa escolha. Daremos o nome de ‘Outras cidades’ para esse ficheiro, dentro do Power Query.

Converter a coluna ID para texto, pois ela será usada no URL da chave API de acesso.

14.0 Criação de parâmetros no Power BI

Nosso desafio agora é usar a query de temperaturas da cidade do Porto como modelo para as outras cidades. No fundo o que queremos é converter essa query estática em uma função que possa replicar para as outras cidades.

Vamos então criar um parâmetro no Power Query > Gerir Parâmetros > Novo Parâmetro > Novo

15.0 Criação de parâmetros no Power BI

No último passo aplicado da query do Porto, vá em Editor avançado. Veja que o queremos agora é que o id da origem dos dados seja dinâmico.

Temos de quebrar em 3 peças o URL, da seguinte forma:

16.0 Criação de parâmetros no Power BI

Note que a segunda peça será justamente o parâmetro da cidade que criamos.

Porto > Passos aplicados > Origem > engrenagem > Avançado >

17.0 Criação de parâmetros no Power BI

Veja agora no editor avançado que a origem ficou concatenada com o parâmetro.

18.0 Criação de parâmetros no Power BI

Vamos converter isso em uma função, em que escrevemos o id da cidade e ele devolve as previsões.

Daremos o nome de ‘PreverTempo’

19.0 Criação de parâmetros no Power BI

20.0 Criação de parâmetros no Power BI

 

Vamos escolher uma cidade, Barcelona, por exemplo que tem o ID: 3128760 e vamos colocar esse ID na função que acabamos de criar para validarmos a nossa função personalizada e o nosso parâmetro.

21.0 Criação de parâmetros no Power BI

Será gerada uma query idêntica à que fizemos para a cidade do Porto, porém agora, com dados de Barcelona, em que o Power Query chama de 'Função Invocada' e nós renomeamos para 'Função Invocada - Barcelona'.

22.0 Criação de parâmetros no Power BI

Incível! Acabamos de testar nossa função e vimos que ela deu certo.

A vantagem da função é que ela permite automatizar o nosso trabalho. Vamos então utilizar essa lógica para trazer as informações das outras localidades em uma única tabela. Ao invés de invocar localidade por localidade.

Na consultas ‘Outras Cidades’ > Adicionar Colunas > Invocar Função Personalizada >

23.0 Criação de parâmetros no Power BI

Vamos expandir a coluna PreverTempo

24.0 Criação de parâmetros no Power BI

Transformar o tipo de dados em Transformar > Detetar tipo de dados

Uma vez que a tabela “Função Invocada – Barcelona” só foi usada para teste, podemos excluí-la ou desabilitar a carga. Com o botão direito do rato, desmarcar a opção ‘Ativar carregamento’ > Continuar

25.0 Criação de parâmetros no Power BI

Ok, agora que temos nossos parâmetros e funções criadas, podemos finalizar a última etapa do ETL (Load) através do botão Fechar e Aplicar no friso base.

Confira então que temos as informações de todas as localidades que necessitávamos na tabela ‘Outras Cidades’

26.0 Criação de parâmetros no Power BI

Feito tudo isso, agora ficou fácil construir a página que desejávamos.

Vou deixar essa parte como tarefa de casa para vocês treinarem. E claro, podem me mandar um e-mail que vos envio os ficheiros de exemplo.

OBSERVAÇÃO: Nos casos de API's há de se ter muita atenção quanto à utilização de parâmetros e não só. Isso porque é necessário ler a documentação para entender bem o que conseguimos fazer com cada API delas.  Para conseguirmos reproduzir o exemplo acima, foi necessário criar uma conta no site e só depois nos foi liberado uma chave de acesso para assim, conseguirmos nos conectar aos dados.

3)     Análise What-if

Já ouviu falar em tabela desconectada no Power BI?

Se não, deixa eu explicar. Essas tabelas não se destinam a propagar filtros para outras tabelas do modelo como estamos acostumados a trabalhar. Em vez disso, elas são usadas para aceitar a “entrada do usuário” (talvez como um slicer visual – segmentador de dados), permitindo que os cálculos do modelo usem o valor de entrada de uma forma mais significativa.

O parâmetro What-if que vamos criar é um tipo de recurso do Power BI que cria uma tabela desconectada.

Já com relação ao “What-if”, também conhecido por ‘Parâmetro de hipóteses’ ele é muito útil quando queremos, por exemplo, mostrar aos vendedores suas remunerações se atingirem determinadas metas ou percentuais de vendas. Ou então, quando queremos ver o efeito das vendas mediante a descontos maiores. Ou seja, serve muito bem para realizarmos análises de cenários.

Vamos a um exemplo:

Queremos realizar uma análise de cenários para analisar a faturação das vendas de produtos mediante a taxas de descontos.

Para isso, vamos recorrer à funcionalidade de What-if do Power BI (poderá acedê-lo diretamente através do friso Modelação).

Nesse cenário hipotético, nosso parâmetro de desconto começará em zero e vai até 50%, saltando de 5% em 5%. 

27.0 Criação de parâmetros no Power BI

Ele criou automaticamente para nós uma tabela desconectada. Vejamos o friso de modelagem dos dados:

31.0 Criação de parâmetros no Power BI

Friso de dados:

32.0 Criação de parâmetros no Power BI

Enquanto o friso ‘Relatório’, notamos que foi criado um segmentador de dados (slicer) com o campo ‘Desconto Percentual’.

28.0 Criação de parâmetros no Power BI

Note que ele usou DAX para criar essa tabela:

29.0 Criação de parâmetros no Power BI

Além de criar um parâmetro, ele também cria uma medida:

30.0 Criação de parâmetros no Power BI

 

Vamos então criar uma medida para o valor total de vendas, com a taxa de desconto aplicada.

Nova medida > Vendas depois do desconto

33.0 Criação de parâmetros no Power BI

Vamos testar isso colocando em um gráfico. Vou aproveitar o primeiro gráfico de colunas, porém, ao invés de usar a faturação no campo valores, vamos colocar essa medida que acabamos de criar “Vendas depois do desconto”:

34.0 Criação de parâmetros no Power BI

Quando aumentamos o valor do desconto repare que o comportamento do gráfico de colunas:

35.0 Criação de parâmetros no Power BI

Extra

Nosso exemplo acima foi bem simples, mas é possível fazer grandes coisas com esse tipo de análise. Veja por exemplo o que fizemos em nosso relatório de contabilidade (Planeamento Financeiro - página 7):

https://www.portal-gestao.com/business-intelligence-analytics/conector-saft-para-power-bi.html

36.0 Criação de parâmetros no Power BI

A lógica que utilizamos foi similar ao exemplo. No entanto, já aqui temos um poder de previsão muito mais abrangente.

Conclusão

Esses foram apenas alguns exemplos de aplicação dos parâmetros, no entanto, já deu para perceber que eles podem ser usados de várias maneiras dentro do Power BI.

Em sua essência, nos permitem tornar os relatórios mais dinâmicos, pois podem ser usados para substituir informações de conexões, filtros de consultas ou mesmo cálculos dentro das consultas.

Algumas Referências para Estudo

https://docs.microsoft.com/en-us/power-query/power-query-query-parameters

https://www.designmind.com/business-intelligence/power-bi-parameters-how-to-use-parameters/

https://www.mssqltips.com/sqlservertip/4475/using-parameters-in-power-bi/

 

Espero você no próximo artigo da Isa.

Ficheiros em anexo


Assine a nossa newsletter e receba o nosso conteúdo diretamente no seu email