Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

[Dúvida] Filtro da função CALCULATE

Boa tarde pessoal! No curso "Aprofundando no DAX" que eu tô acompanhando agora, foi apresentada a medida CALCULATE (que eu já utilizava anteriormente no meu dia a dia), e aqui ela está sendo usada para filtrar apenas o valor de faturamento da categoria de livros de fantasia, e o instrutor reforça que deve ser feita utilizando a função FILTER na hora de realizar o filtro, dessa maneira:

    `CALCULATE(
                        [Cálculo do faturamento],
                        FILTER(
                                    Tabela,
                                    Coluna a ser filtrada = "Fantasia"
                                    )
                            )`
                            

A maneira que eu sempre fiz é assim:

    `CALCULATE(
                        [Cálculo do faturamento],
                        Coluna a ser filtrada = "Fantasia"
                        )`

Inclusive até testei dentro da atividade com filtros pra confirmar mesmo se o contexto da medida seria alterado ou não, e no fim, o efeito foi mesmo..

Dúvida: existe alguma diferença entre as duas maneiras que eu não esteja vendo?

4 respostas
solução!

Oi, Guilherme, tudo bem?

Na verdade, a diferença entre as duas maneiras de utilizar a função CALCULATE está na forma como o filtro é aplicado.

Na primeira maneira apresentada pelo instrutor, utilizando a função FILTER, é possível aplicar filtros mais complexos, envolvendo múltiplas colunas ou condições. Isso permite uma maior flexibilidade na definição do filtro.

Já na segunda maneira que você mencionou, o filtro é aplicado diretamente na coluna desejada. Essa forma é mais simples e direta, mas pode ser limitada caso você precise de filtros mais complexos.

Portanto, a escolha entre as duas maneiras depende da complexidade do filtro que você precisa aplicar.

Caso queira ler um pouco mais sobre essas funções, recomendo as documentações abaixo:

Espero ter ajudado. Caso tenha dúvidas, conte com o fórum. Abraços!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Obrigado Rodrigo! Isso esclareceu bastante!

Olá , tudo bem ? Acredito que eu tenha quase a mesma dúvida. Apliquei a medida usando apenas a Calculate, não utilizei as expressões Filter e All, porém, o resultado foi o mesmo. Então a utilização das expressões Filter e All junto com a Calculate vai depender da complexidade do filtro ? Seguindo o exemplo do vídeo, se eu usar só a Calculate sem a Filter e a All, está correto ?

Oi, Washington, tudo bem?

A escolha de usar ou não funções como FILTER e ALL depende do contexto e dos requisitos específicos da sua análise. A função CALCULATE é frequentemente usada para modificar o contexto de filtro em que uma expressão é avaliada. Dessa forma, podemos diferencias essas três funções da seguinte maneira:

  • CALCULATE: esta função é usada para alterar o contexto de filtro de uma expressão. Pode ser usado sozinho ou em conjunto com outras funções para modificar os filtros aplicados a uma expressão.
  • FILTER: esta função é usada para aplicar um novo conjunto de filtros a uma tabela ou expressão de tabela. Pode ser usado para restringir dados com base em condições específicas.
  • ALL: esta função remove os filtros aplicados a uma coluna ou tabela, retornando todos os valores, independentemente dos filtros atuais.

Se o resultado que você obteve usando apenas a função CALCULATE atende às suas necessidades e produz o resultado desejado, então não há problema em não usar FILTER e ALL. Entretanto, em casos mais complexos ou ao lidar com requisitos específicos, você pode precisar incorporar FILTER e ALL para controlar o contexto de filtro de maneira mais granular.

Espero ter ajudado. Caso tenha dúvidas, crie um novo tópico no fórum para que a comunidade consiga te ajudar de forma mais assertiva!

Abraços e bons estudos!