No decorrer do curso, aprendi a ultilizar a função filter( dentro da calculate(, mas observei que já há, na premissa da função calculate(, espaço para o(s) filtro(s). Então, me surge a dúvida: seria necesário chamar a função filter( mesmo assim?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
No decorrer do curso, aprendi a ultilizar a função filter( dentro da calculate(, mas observei que já há, na premissa da função calculate(, espaço para o(s) filtro(s). Então, me surge a dúvida: seria necesário chamar a função filter( mesmo assim?
Olá Thais, como vai?
A abordagem dependerá do contexto específico de sua análise. Para consultas simples, como filtrar uma tabela ou uma coluna específica com determinado valor, você pode omitir o uso da função FILTER e inserir diretamente a coluna desejada. Por exemplo:
CALCULATE (
[Medida],
TabelaDesejada[Coluna] = Valor
)
No entanto, em situações mais complexas que exigem uma lógica de filtragem mais elaborada, é recomendado utilizar a função FILTER, principalmente para uma maior legibilidade do código. Por exemplo, ao calcular o total de vendas de um produto específico durante um período determinado, mas apenas se a quantidade vendida for superior a 10 unidades. Nesse caso, a utilização explícita do FILTER é recomendável para uma melhor clareza:
TotalVendas :=
CALCULATE (
SUM ( Tabela[Vendas] ),
FILTER (
Tabela,
Tabela[Produto] = "ProdutoX" &&
Tabela[Data] >= DATE(2023, 1, 1) &&
Tabela[Data] <= DATE(2023, 12, 31) &&
Tabela[Quantidade] > 10
)
)
Para saber um pouco mais da função Calculate deixo o link da documentação abaixo:
Espero ter ajudado.
Qualquer dúvida, compartilhe no fórum.