Os filtros são uma ferramenta poderosa na Zazos que permitem refinar os dados retornados pelas conexões, aplicando condições booleanas (que retornam verdadeiro ou falso). Você pode usar filtros em conexões simples ou encadeadas, permitindo maior controle sobre os dados que são utilizados em suas fórmulas e visualizações.
Filtros em Conexões Simples
Para aplicar um filtro em uma conexão simples, insira a condição entre colchetes []
logo após a conexão. Por exemplo, imagine que você queira listar todos os funcionários com um salário base maior que R$ 3.000,00 em sua empresa:
A fórmula @Pessoas[#Salário Base > 3000]
retornará uma lista de funcionários que atendem a essa condição.
Filtros em Conexões Encadeadas
Para aplicar um filtro em conexões encadeadas, insira a condição de filtro entre colchetes []
logo após a tabela à qual você deseja aplicar o filtro. Por exemplo, considere as tabelas:
Pessoas
tem uma colunaContratos celebrados
, que é uma conexão com a tabelaContratos
.Contratos
tem uma colunaPagamentos realizados
, que é uma conexão com a tabelaPagamentos
, e uma colunaValor
com o valor do contrato.Pagamentos
tem uma colunaStatus
com o status do pagamento.
Imagine que você queira calcular o valor total pago aos funcionários apenas pelos contratos cujo valor é maior que R$ 1.000,00 e cujos pagamentos têm status “Concluído”. Para isso, você pode criar um campo do tipo Fórmula na tabela Pessoas
, com a seguinte expressão:
SUM(@Contratos celebrados[#Valor > 1000].Pagamentos realizados[#Status = "Concluído"].Valor)
Essa fórmula realiza as seguintes operações:
Em cada linha da tabela
Pessoas
, pega todos os contratos associados a essa pessoa cujo valor é maior que R$ 1.000,00.Para cada um desses contratos, pega todos os pagamentos associados a ele cujo status é “Concluído”.
Para cada um desses pagamentos, pega seu valor.
Por fim, a função
SUM
soma todos os valores retornados pelos filtros aplicados às conexões.
Filtros comparando valores do contexto da conexão encadeada com valores da entrada
Para aplicar um filtro em conexões encadeadas comparando os valores do contexto da conexão encadeada com valores da entrada, insira a condição de filtro entre colchetes []
logo após a tabela à qual você deseja aplicar o filtro. Por exemplo, considere as tabelas:
Pessoas
tem uma colunaContratos celebrados
, que é uma conexão com a tabelaContratos
.Pessoas
tem uma colunaData de aniversário
, que é uma data.Contratos
tem uma colunaPagamentos realizados
, que é uma conexão com a tabelaPagamentos
, e uma colunaValor
com o valor do contrato.Pagamentos
tem uma colunaData
com o status do pagamento.
Imagine que você queira acessar o valor somado de todos os pagamentos efetuados no mês do aniversário do colaborador. Para isso, você pode criar um campo do tipo Fórmula na tabela Pessoas
, com a seguinte expressão:
SUM(@Contratos celebrados.Pagamentos realizados[DATETIME_FORMAT(#Data, "MM") = DATETIME_FORMAT(@Data de aniversário, "MM")].Valor)
Essa fórmula realiza as seguintes operações:
Em cada linha da tabela
Pessoas
, pega todos os contratos associados a essa pessoa.Para cada um desses contratos, pega todos os pagamentos associados a ele cujo mês do pagamento é igual ao mês do aniversário da linha da tabela
Pessoas
.Para cada um desses pagamentos, pega seu valor.
Por fim, a função
SUM
soma todos os valores retornados pelos filtros aplicados às conexões.
Tipos de operadores de filtro
>
(maior que)<
(menor que)>=
(maior ou igual a)<=
(menor ou igual a)=
(igual a)!=
(diferente de)AND
(e)CONTAINS
(contém)CONTAINSALL
(contém todos)CONTAINSANY
(contém pelo menos um)ISBLANK
(está vazio)ISWEEKEND
(é final de semana)NOT
(inverso de um valor booleano)OR
(ou)XOR
(ou exclusivo)