Todos os Operadores e Funções de Fórmula do Quire Permalink
Este guia disponibiliza uma referência completa de todos os operadores e funções suportados nas fórmulas do Quire, com explicações claras e exemplos práticos para o ajudar a construir cálculos, condições e lógica de tarefas poderosos.
Operadores Numéricos
Os operadores numéricos permitem-lhe calcular valores guardados em campos baseados em números.
| Operadores | O que faz | Exemplo |
|---|---|---|
| + | Soma valores | timeSpent + 100 |
| - | Subtrai valores | Cost - 100 |
| * | Multiplica valores | Cost * 100 |
| / | Divide valores | Cost / 100 |
| % | Calcula o resto | Cost % 3 |
| ^ | Calcula a potência | Cost ^ 3 |
Nota: Tem de criar um campo personalizado numérico (por exemplo, Cost) antes de o utilizar em fórmulas.
Operadores de Texto
Os operadores de texto permitem-lhe juntar ou concatenar cadeias de texto num único resultado.
| Operadores | O que faz | Exemplo |
|---|---|---|
| + | Concatena texto | ‘This is’ + ‘a task’ |
Operadores de Comparação
Os operadores de comparação devolvem true ou false consoante a relação entre dois valores.
| Operadores | Significado | Exemplo |
|---|---|---|
| < | Menor que | 3 < 1 -> False |
| > | Maior que | 4 > 3 -> True |
| <= | Menor ou igual a | 4 <= 2 -> False |
| >= | Maior ou igual a | 5 >= 1 -> True |
| = | Igual a | 2 = 2 -> True |
| != | Diferente de | 3 != 2 -> True |
Operadores Lógicos
not
Inverte um resultado true/false.
Exemplo:
Not (Cost > 50)
Se Cost for superior a 50, o resultado é false. Caso contrário, devolve true.
Nota: Tem de criar um campo personalizado numérico (por exemplo, Cost) antes de o utilizar em fórmulas.
in
Use in para verificar se os valores da primeira lista estão totalmente contidos na segunda lista.
Exemplo:
assignees in subtasks.assignees
Devolve true se todos os colaboradores da tarefa também estiverem atribuídos às suas sub-tarefas.
&
Encontra e devolve valores comuns entre duas listas.
Exemplo:
assignees & subtasks.assignees
Devolve os colaboradores partilhados entre a tarefa e as suas sub-tarefas.
and
Avalia todas as condições e devolve true apenas se todas as condições forem cumpridas.
Exemplo:
(Cost > 50) and (due > <today>)
Nota: Tem de criar um campo personalizado numérico (por exemplo, Cost) antes de o utilizar em fórmulas.
or
Verifica cada condição e devolve true se alguma condição tiver valor.
Exemplo:
Cost or Budget
Nota: Tem de criar um campo personalizado numérico (por exemplo, Cost) antes de o utilizar em fórmulas.
Operadores de Lista
[field, field]
Use parênteses retos para combinar vários valores numa lista.
Exemplo:
[me, #23.assignees, subtasks.assignees]
Devolve uma lista com o próprio, os colaboradores atribuídos à tarefa com o ID#23 e todos os colaboradores das sub-tarefas.
Saiba mais sobre as fórmulas de array do Quire, que lhe permitem listar ou fazer cálculos sobre um conjunto de dados.
field[index]
Acede aos itens de uma lista pelo índice (começando em 0).
Exemplo:
subtasks[3]
Devolve a 4.ª sub-tarefa.
order by
Ordena tarefas com base num campo especificado.
Exemplo:
subtasks order by any.Cost
Devolve uma lista das sub-tarefas e ordena-as pelos valores dos respetivos campos Cost.
Nota: Tem de criar um campo personalizado numérico (por exemplo, Cost) antes de o utilizar em fórmulas.
Dica: Pode também especificar a ordem da ordenação adicionando asc ou desc no final da expressão. Por exemplo, pode escrever algo como: subtasks order by any.Cost asc.
map
Aplica um cálculo a cada item de uma lista.
Exemplo:
subtasks map any.Cost * 2
Devolve uma lista dos valores do campo Cost das sub-tarefas, multiplicados por 2.
Nota: Tem de criar um campo personalizado numérico (por exemplo, Cost) antes de o utilizar em fórmulas.
Dica: Pode usar o identificador any com o operador map para indicar o campo que pretende calcular.
Operadores Condicionais
??
Verifica se a tarefa cumpre a expressão antes do ?? e devolve um valor true/false. Se a tarefa não corresponder à expressão, devolve o valor da expressão a seguir ao ??.
Exemplo:
(Cost > 10) ?? 'Reconsider'
Se o valor do campo Cost for superior a 10, devolve true. Se for inferior a 10, mostra false. Quando não há nenhum valor introduzido em Cost, mostra “Reconsider”.
Nota: Tem de criar um campo personalizado numérico (por exemplo, Cost) antes de o utilizar em fórmulas.
?:
Verifica se a tarefa cumpre a expressão antes do ? e devolve a expressão a seguir ao ?. Se a tarefa não corresponder à expressão antes do ?, devolve a expressão a seguir ao :.
Exemplo:
(Cost > 10) ? 'Too expensive': 'Reconsider'
Se o valor do campo Cost for superior a 10, mostra “Too expensive”. Se for inferior a 10 ou se não houver nenhum valor introduzido, mostra “Reconsider”.
Nota: Tem de criar um campo personalizado numérico (por exemplo, Cost) antes de o utilizar em fórmulas.
Filtrar e Limitar Resultados
where
Filtra tarefas que cumprem critérios específicos.
Exemplo:
subtasks where any.Cost > 10
Serão listadas as sub-tarefas com um valor de custo superior a 10.
Nota: Tem de criar um campo personalizado numérico (por exemplo, Cost) antes de o utilizar em fórmulas.
Dica: Pode usar o identificador any com o operador where para especificar o campo que pretende filtrar.
limit
Limita o número de tarefas devolvidas após a ordenação.
Exemplo:
subtasks order by desc any.timeSpent - any.estimated limit 3
Lista as 3 sub-tarefas com um valor de tempo gasto superior ao valor do tempo estimado.
Precedência de Operadores
Em alguns casos, a ordem do cálculo pode afetar o valor devolvido pela fórmula, daí ser importante perceber a ordem das operações no Quire. Se combinar diferentes operadores numa mesma fórmula, o Quire executa a operação pela ordem indicada na tabela abaixo. Se a fórmula tiver operadores com a mesma ordem, o Quire calcula da esquerda para a direita.
| Operador | Descrição |
|---|---|
( ).[ ]( ) |
Parênteses Operador de ponto Lista (Array) Chamada de função |
+ - not |
Operadores unários |
^ |
Exponenciação |
* / % |
Multiplicação e divisão |
+ - |
Adição e subtração |
< > <= >= in & |
Operadores de comparação |
= != |
Operadores de igualdade |
not |
Operador lógico not |
and |
Operador lógico and |
or |
Operador lógico or |
?? |
Operador condicional |
where |
Operador de filtro |
?: |
Operador condicional |
Todas as Funções Incorporadas
| Função | Descrição | Exemplo | Resultados esperados |
|---|---|---|---|
| SUM() | Devolve o total dos valores. | SUM(subtasks.estimated) |
Soma todos os valores dos campos Estimativa das sub-tarefas da tarefa. |
| MAX() | Devolve o maior valor de um conjunto de valores. | MAX(subtasks.estimated) |
Mostra o maior valor encontrado nos campos Estimativa das sub-tarefas da tarefa. |
| MIN() | Devolve o menor valor de um conjunto de valores. | MIN(subtasks.estimated) |
Mostra o menor valor encontrado nos campos Estimativa das sub-tarefas da tarefa. |
| AVG() | Devolve o valor médio dos números. | AVG(subtasks.estimated) |
Calcula a média dos campos Estimativa das sub-tarefas da tarefa. |
| COUNT() | Devolve o número de itens. | COUNT(subtasks) |
Mostra o número total de sub-tarefas. |
| SORT() | Devolve os argumentos por ordem. | SORT(subtasks.estimated) |
Mostra todos os valores dos campos Estimativa das sub-tarefas da tarefa por ordem. |
| DISTINCT() | Remove valores duplicados e devolve apenas valores distintos. | DISTINCT(subtasks.estimated) |
Mostra todos os valores distintos dos campos Estimativa das sub-tarefas da tarefa, removendo os duplicados. |
| ISEMPTY() | Verifica se os argumentos de entrada estão vazios e devolve um valor true/false. | ISEMPTY(estimated) |
Se o campo Estimativa da tarefa estiver vazio, mostra uma caixa de verificação marcada. |
| ISNOTEMPTY() | Verifica se os argumentos de entrada estão vazios e devolve um valor true/false. | ISNOTEMPTY(estimated) |
Se o campo Estimativa da tarefa não estiver vazio, mostra uma caixa de verificação marcada. |
Perguntas Frequentes
Que operadores aritméticos posso usar nas fórmulas do Quire?
O Quire suporta +, -, *, /, % (resto) e ^ (potência). Tem de criar um campo personalizado numérico antes de o referenciar numa fórmula.
Que funções incorporadas estão disponíveis nas fórmulas do Quire?
O Quire inclui SUM(), MAX(), MIN(), AVG(), COUNT(), SORT(), DISTINCT(), ISEMPTY() e ISNOTEMPTY(). Consulte a referência completa em Todas as Funções Incorporadas.
Como funciona a precedência de operadores nas fórmulas do Quire?
O Quire avalia os operadores por esta ordem: primeiro parênteses e operadores de ponto/lista, depois exponenciação, multiplicação/divisão, adição/subtração, comparação, lógicos e, por fim, operadores condicionais. Use parênteses para sobrepor a ordem predefinida.
Como escrevo uma fórmula IF/condicional no Quire?
Use ?: para um condicional com dois resultados — (Cost > 10) ? 'Too expensive' : 'Reconsider'. Use ?? como valor alternativo apenas quando o campo está vazio.
Como filtro sub-tarefas por um valor de campo numa fórmula do Quire?
Use o operador where — subtasks where any.Cost > 10 devolve as sub-tarefas em que Cost é superior a 10. Combine com limit para limitar o número de resultados.
Como ordeno ou reorganizo uma lista numa fórmula do Quire?
Use order by — subtasks order by any.Cost ordena pelo campo Cost. Adicione asc ou desc para controlar a direção.
Como aplico um cálculo a cada item de uma lista no Quire?
Use o operador map — subtasks map any.Cost * 2 multiplica o valor Cost de cada sub-tarefa por 2.