Fórmulas de Array no Quire Permalink
Uma fórmula de array no Quire permite trabalhar com uma coleção de valores—como tarefas, sub-tarefas, colaboradores, números ou durações—de uma só vez. Em vez de calcular os valores um por um, as fórmulas de array permitem realizar cálculos em massa e devolver múltiplos resultados ou um único resultado agregado.
Compreender as Fórmulas de Array
Um array é uma lista de valores, geralmente separados por vírgulas. Nas fórmulas do Quire, os arrays são normalmente devolvidos quando se referenciam múltiplos itens, como sub-tarefas ou campos de tarefas.
Por exemplo, em vez de calcular a variação do cronograma para uma única tarefa:
timeSpent - estimated
É possível calcular a variação do cronograma para todas as sub-tarefas de uma só vez usando uma fórmula de array:
subtasks.timeSpent - subtasks.estimated
Como subtasks devolve uma lista, o Quire executa o cálculo para cada sub-tarefa individualmente e devolve uma lista de resultados.
Usar Fórmulas de Array para Cálculos Básicos
Operadores Aritméticos
As fórmulas de array suportam todos os operadores numéricos básicos:
- Adição (
+) - Subtração (
-) - Multiplicação (
*) - Divisão (
/)
Exemplo de cenário:
- Hora gasta nas sub-tarefas:
3h, 2h, 1h - Tempo estimado das sub-tarefas:
1h, 2h, 3h
Ao escrever:
subtasks.timeSpent
O Quire interpreta como:
[3h, 2h, 1h]
Usando uma fórmula de array:
subtasks.timeSpent - subtasks.estimated
É avaliado como:
[3h, 2h, 1h] - [1h, 2h, 3h]
Resultando em:
[2h, 0h, -2h]
Cada valor no array representa o resultado do cálculo para uma sub-tarefa.
Usar Fórmulas de Array com Operadores e Funções
Combinação com Funções
As fórmulas de array podem ser usadas em conjunto com os operadores e funções integrados do Quire para análises mais avançadas.
Usando o mesmo exemplo de hora gasta, é possível ordenar os valores e realizar cálculos:
SORT(subtasks.timeSpent) * 2
Isto é interpretado como:
SORT([3h, 2h, 1h]) * 2
E devolve:
[2h, 4h, 6h]
Isto facilita a transformação e análise de coleções de dados de tarefas.
Filtrar Dados com Fórmulas de Array
Filtrar com where
É possível filtrar arrays usando o operador where para devolver apenas os itens que satisfazem condições específicas.
Exemplo: filtrar sub-tarefas em que a hora gasta é maior ou igual a 2 horas:
subtasks where any.timeSpent >= 2h
Isto é avaliado como:
[3h, 2h]
E devolve as tarefas correspondentes:
subtask 1, subtask 2
Esta fórmula pesquisa todas as sub-tarefas, aplica a condição e devolve apenas os itens correspondentes.
Nota: Use o identificador any com where para especificar a qual campo a condição se aplica.
Leia mais no nosso blog sobre as fórmulas de array do Quire.
Perguntas Frequentes
O que é uma fórmula de array no Quire?
Uma fórmula de array opera sobre uma coleção de valores de uma só vez. Por exemplo, subtasks.timeSpent - subtasks.estimated calcula a variação do cronograma para cada sub-tarefa e devolve uma lista de resultados.
Como calcular um valor em todas as sub-tarefas no Quire?
Referencie o campo no objeto subtasks — por exemplo, subtasks.timeSpent - subtasks.estimated calcula a diferença para cada sub-tarefa e devolve um array de resultados.
Como ordenar um array de valores de sub-tarefas numa fórmula do Quire?
Envolva o array em SORT() — por exemplo, SORT(subtasks.timeSpent) devolve os valores de hora das sub-tarefas do menor para o maior. Pode encadear operações como SORT(subtasks.timeSpent) * 2.
Como filtrar sub-tarefas por uma condição numa fórmula de array do Quire?
Use o operador where com any — por exemplo, subtasks where any.timeSpent >= 2h devolve apenas as sub-tarefas em que a hora gasta é de 2 horas ou mais.