top of page
Posts do fórum
Aíkssa Brito
14 de fev. de 2023
In Power BI
Com o Power BI conseguimos criar diversos visuais e aplicar os filtros necessários conforme a necessidade de cada cliente e projeto. Por padrão, conseguimos ver os filtros aplicados ao passar o mouse sobre determinado visual e, em seguida, sobre o ícone de filtro. Todavia, essa não é a opção mais prática para os usuários, principalmente para aqueles que não têm tanta familiaridade com o Power BI. Além disso, caso optemos por desativar o cabeçalho dos visuais, essa possibilidade também será perdida. Conseguimos contornar essa situação de uma maneira bem simples e diretamente no visual. E, para isso, é necessário apenas a utilização do Tabular Editor, uma ferramenta externa bem famosa. Instalando o Tabular Editor Primeiramente, vamos aprender como instalar o Tabular Editor. 1. Acesse o site https://github.com/TabularEditor/TabularEditor/releases 2. Desça um pouco a página até encontrar a seção “Assets” e, em seguida, clique para baixar
3. Após isso, basta instalar o programa normalmente. 4. Com a conclusão da instalação, abra o Power BI, vá em “Ferramentas Externas” e pronto, basta clicar no ícone do Tabular Editor. Utilizando o script avançado para criar a medida de filtro Primeiramente, importante ressaltar que o Tabular Editor é uma ferramenta mil e uma utilidades, que facilita bastante nosso dia a dia. Com ele conseguimos manipular e gerenciar as medidas, tabelas e colunas, por exemplo. No caso desse artigo, vamos utilizar um (dos vários) scripts avançados do Tabular Editor, visando a criação de uma medida que conterá os filtros aplicados em determinados visuais. Para isso, basta clicarmos no nome da tabela na qual a medida deverá ser salva. No caso, escolhi a tabela “Medidas”, que como o nome diz, contém todas as medidas criadas no relatório. E, em seguida, em “Advanced Scripiting”. Agora, basta colarmos o seguinte código em C# que itera sobre todas as colunas do modelo, combinando o resultado de um bloco de código DAX para cada coluna. O bloco de código DAX verifica se a coluna tem filtros aplicados, conta quantos filtros foram aplicados e os combina em uma única string para exibir a seleção do usuário: var dax = "VAR MaxFilters = 3 RETURN ";
var dumpFilterDax = @"IF (
ISFILTERED ( {0} ),
VAR ___f = FILTERS ( {0} )
VAR ___r = COUNTROWS ( ___f )
VAR ___t = TOPN ( MaxFilters, ___f, {0} )
VAR ___d = CONCATENATEX ( ___t, {0}, "", "" )
VAR ___x = ""{0} = "" & ___d
& IF(___r > MaxFilters, "", ... ["" & ___r & "" items selected]"") & "" ""
RETURN ___x & UNICHAR(13) & UNICHAR(10)
)";
// Loop through all columns of the model to construct the complete DAX expression:
bool first = true;
foreach(var column in Model.AllColumns)
{
if(!first) dax += " & ";
dax += string.Format(dumpFilterDax, column.DaxObjectFullName);
if(first) first = false;
}
// Add the measure to the currently selected table:
Selected.Table.AddMeasure("DumpFilters", dax);
E clicar no botão verde de play. Obs: se quiser alterar o nome da medida, basta modificar a última linha do código antes de rodar o script. Ao fazer isso, note que o próprio Tabular Editor já cria a medida na respectiva pasta. Inicialmente, aparecerá esse ícone de interrogação mesmo. Para salvar a criação da medida e, consequentemente, remover a interrogação, basta salvarmos as alterações, no terceiro ícone do programa, conforme imagem abaixo. Pronto! Podemos fechar o Tabular Editor. De volta ao Power BI Voltando ao Power BI, verificamos que a medida realmente está aparecendo na tabela de Medidas. E agora basta incluí-la no campo de tooltip do visual. Desse modo, o usuário consegue ver de maneira simples e rápida quais os filtros aplicados, garantindo uma análise mais assertiva dos dados! Para quem quiser se aprofundar nas “mágicas” que o Tabular Editor nos permite fazer, deixo abaixo o link da documentação desse e de outros scripts bem úteis. Até a próxima, pessoal! 🚀 Links úteis: https://docs.tabulareditor.com/te2/Useful-script-snippets.html#create-dumpfilters-measure https://www.sqlbi.com/articles/displaying-filter-context-in-power-bi-tooltips/
2
0
959
Aíkssa Brito
31 de jan. de 2023
In Power BI
Quando falamos em um relatório no Power BI, podemos abranger um relatório mais conciso e com poucas abas, ou então um relatório com diversas abas para que o usuário navegue. Nos casos em que temos muitas abas, pode ser um pouco mais trabalhoso criarmos botões individuais para cada uma das páginas e replicá-los em todas elas, além de termos que fazer isso também para a home. Ainda, podemos precisar alterar o nome de algumas abas específicas e mudar a ordem, o que também traria algum tempo de trabalho fazendo os ajustes em todas as páginas. Para facilitar essa questão, é possível obtermos um botão que traz todas as abas na ordem em que aparecem e com o nome correto. Interessante aqui é que, caso precisemos fazer alguma alteração de nomenclatura, ordem, inclusão ou exclusão de alguma aba, isso se refletirá automaticamente no próprio botão. É bem simples, mas simplifica bastante essa tarefa. Vamos lá! Para inserirmos o botão de navegação de página, precisamos ir na aba Inserir > Botões > Navegação > Navegador de Página, conforme imagem abaixo: Ao clicarmos em Navegador de página, será mostrado na tela um botão com todas as abas existentes no relatório. Ainda, é possível fazer algumas configurações de quais páginas serão mostradas, bem como o layout da grade, incluindo a orientação (grade, horizontal ou vertical) e número de linhas e colunas. Além disso, podemos customizar o botão da mesma forma que fazemos com os botões normais, incluindo o comportamento do botão no momento em que passarmos o mouse sobre o nome das páginas. Isso pode ser feito na sessão Estilo. Uma dica bem bacana é que, ao incluirmos esse botão, a própria aba também aparece. Isso é ótimo para a navegação dentro das páginas de conteúdo, porém, quando falamos da home, isso não faz muito sentido, certo? Ainda não temos a opção de esconder a respectiva aba, mas, uma maneira de contornar isso, é personalizar o estilo de home quando estivermos nessa aba. Para conseguirmos alterar o estilo do botão da respectiva página, basta escolhermos a opção “Selecionado” no Estado e deixar da mesma cor do fundo da tela. Desse modo, a página home “sumirá”, deixando o menu de navegação muito melhor. E dessa forma, conseguimos criar um menu automático que se adequa às alterações necessárias. Além disso, podemos fazer o mesmo com os indicadores. Porém, diferente da navegação por página, com a navegação por indicador conseguimos selecionar quais serão mostrados no visual. Primeiramente, devemos ir até a aba de Exibição > Indicadores > Selecionar os indicadores que devem aparecer no visual e, em seguida, clicar com o botão direito em Agrupar. Após, basta seguir os mesmos passos informados acima, porém, ao invés de escolhermos o botão “Navegador de página”, vamos escolher o “Navegador de favoritos”. Assim, com o botão selecionado, basta escolhermos qual grupo de indicadores deverá ser mostrado. Dessa forma, conseguimos personalizar ainda mais nosso relatório, atendendo melhor às necessidades dos clientes. Espero que tenham gostado. Até a próxima, pessoal!
4
0
343
Aíkssa Brito
11 de jul. de 2022
In Power BI
0. Contextualização Você já precisou agrupar alguns valores de forma dinâmica para realizar comparações, seja entre meses, funcionários, campanhas ou produtos? Hoje vou trazer uma forma simples de fazer esse tipo de análise. 1. Entendendo os dados Temos 4 tabelas. 3 são tabelas dimensões (dCalendario, dCampanha e dFuncionario) e 1 tabela fato (fFacebook), que estão relacionadas conforme a imagem abaixo. Esses dados trazem informações acerca do desempenho das campanhas no Facebook. O nosso objetivo aqui é conseguir verificar o valor gasto nos meses selecionados em relação aos meses que não foram selecionados. Desse modo, podemos fazer diversas comparações e obter insights valiosos para o negócio. 2. Criação da tabela auxiliar A primeira coisa que devemos fazer é criar uma tabela auxiliar contendo todos os meses e número dos meses para posterior ordenação. Podemos fazer isso tanto no Power Query, quanto via DAX ou até mesmo inserindo os valores manualmente. Vou ensinar o jeito que considero mais performático: No Power Query, devemos criar uma consulta em branco. Com a consulta (query) criada, basta abrirmos o editor avançado e inserir o código abaixo: let
Source = Table.Distinct( // Traz apenas os valores distintos
Table.SelectColumns( // Seleciona as colunas desejadas
dCalendario, // Informa a tabela de onde as colunas são
{"Month Name", "Month"} // Lista de colunas desejadas
)
)
in
Source Feito isso, obteremos uma lista de valores únicos dos nomes e números dos meses. Porém, ainda falta um detalhe que é importantíssimo para a construção da nossa análise, as linhas com os valores de “Demais Meses” e “Meses Selecionados”. 2.1. Inserindo novas linhas no Power Query Mas é possível inserir novas linhas diretamente no Power Query por meio da Linguagem M? Sim, é. Para isso, é preciso utilizar a função Table.InsertRows, conforme vou detalhar: Table.InsertRows( // Função que permite inserir novas linhas na tabela
Source, // Tabela na qual serão feitas as inserções
Table.RowCount(Source), // Essa função retorna a quantidade de linhas da tabela e é utilizada para que a inserção seja feita na última posição. Caso a ideia seja incluir as linhas acima daquelas já existente, basta utilizarmos o 0 (pois o Power Query começa a contagem do 0 e não do 1)
{ // Inicia a lista de valores a serem incluídos (as {} representam as listas)
[Month Name = "Demais Meses", Month = -1], // 1º registro a ser incluído (os [] representam registros)
[Month Name = "Meses Selecionados", Month = 0] // 2º registro a ser incluído
}
) Com isso, é só juntarmos as informações e incluirmos essa função ao final do nosso código, no Editor Avançado, para obtermos o resultado que precisamos. let
Source = Table.Distinct(Table.SelectColumns(dCalendario, {"Month Name", "Month"})),
NewRows = Table.InsertRows(Source, Table.RowCount(Source), {[MonthName = "Demais Meses", Month = -1], [Month Name = "Meses Selecionados", Month = 0]})
in
NewRows Agora basta fechar e aplicar as alterações feitas no Power Query, caso esse tenha sido o método utilizado para a criação da tabela auxiliar. 3. De volta ao Power BI De volta ao Power BI, vamos verificar se nenhum relacionamento foi criado, pois iremos construí-lo de maneira virtual. Com essa conferência, vamos em frente. 3.1. Obtendo o valor total gasto Como queremos ver o montante gasto, é preciso criar nossa primeira medida para obter a soma dos valores. Utilizaremos a função SUM, que faz a soma de determinada coluna. Total Gasto = SUM(fFacebook[Valor gasto (BRL)]) 3.2. Criando a medida mágica 😀 Como vimos anteriormente, não podemos ter qualquer relacionamento físico com a tabela auxiliar, pois o criaremos de maneira virtual. Nesse caso, utilizaremos as funções INTERSECT e EXCEPT, que farão a intersecção e a exceção dos valores selecionados (tabela dCalendario) com o eixo do gráfico que criaremos em breve (tabela dCalendario_Aux). Total Gasto - Meses =
VAR vMesesSelecionados = // obter o total gasto dos meses que foram selecionados no filtro e, consequentemente, estão no contexto do visual
CALCULATE(
[Total Gasto],
INTERSECT( // verifica quais valores foram filtrados na dCalendario por meio do filtro e faz a intersecção com os valores do eixo do gráfico
VALUES(dCalendario[Month Name]), // valores selecionados na dCalendario
VALUES(dCalendario_Aux[Month Name]) // valores selecionados na dCalendario_Aux
)
)
VAR vMesesNaoSelecionados = // obter o total gasto dos meses que não foram selecionados
CALCULATE(
[Total Gasto],
EXCEPT( // traz todos os valores presentes no filtro (dCalendario, coluna Month Name) que não foram selecionados
ALL(dCalendario[Month Name]), // todos os valores existentes na coluna Month Name da dCalendario
VALUES(dCalendario[Month Name]) // valores selecionados na dCalendario
)
)
VAR vTotalSelecionado = // obter o total gasto dos meses que foram selecionados no filtro
CALCULATE(
[Total Gasto],
FILTER(
VALUES(dCalendario[Month Name]), // valores que foram selecionados no filtro
COUNTROWS(VALUES(dCalendario[Month Name])) < COUNTROWS(ALL(dCalendario[Month Name])) // essa condicional é feita para que a coluna de "Demais Meses" não apareça quando não houver nenhum valor selecionado no filtro (bem como quando todos os valores es tiverem selecionados). Portanto, se você deseja trazer a soma dos valores selecionados de maneira padrão, basta remover essa condição
)
)
RETURN
SWITCH(
SELECTEDVALUE(dCalendario_Aux[Month Name]), // obter qual é o valor selecionado no contexto do eixo do gráfico
"Demais Meses", vMesesNaoSelecionados, // caso o valor seja "Demais Meses", retornará o valor da variável vMesesNaoSelecionados
"Meses Selecionados", vTotalSelecionado, // caso o valor seja "Demais Meses", retornará o valor da variável vTotalSelecionado
vMesesSelecionados // se não for nenhuma das duas, retornará o valor da variável vMesesSelecionados
) 3.3. Criando os visuais Agora que já criamos a tabela auxiliar e as medidas necessárias, está na hora de ver o resultado em um gráfico, certo? Primeiro incluiremos um filtro com os meses, para poder selecionar o período desejado. Utilizaremos, para tanto, a coluna Month Name da tabela dCalendario.
Em seguida, criaremos um gráfico de barras (ou o que for mais adequado para a sua solução) e utilizaremos, no eixo x, a coluna com o nome do mês da tabela auxiliar que criamos anteriormente. Por sua vez, no eixo y, colocaremos a nossa medida Total Gasto - Meses. Por fim, é só fazermos os filtros necessários e pronto. Comparação pronta para facilitar nossas análises. O mais legal desse visual é que ele permite analisar os dados de qualquer perspectiva, bastando criar a tabela auxiliar respectiva e fazer as alterações nas colunas necessárias. Espero que tenham gostado e até a próxima!
2
1
220
Aíkssa Brito
Mais ações
bottom of page