Matriz
As funções de matriz operam em múltiplos valores armazenados em uma matriz para processar, transformar ou analisar os dados e retornar um resultado.
As seguintes funções estão disponíveis no Qlik Open Lakehouse:
| Função | Descrição |
|---|---|
| ARRAY_DISTINCT | Retorna todos os elementos distintos na matriz. |
| ARRAY_JOIN | Esta função concatena os elementos da matriz fornecido em uma string usando o separador. |
| ARRAY_MAX | Retorna o valor máximo em uma matriz. |
| ARRAY_MIN | Retorna o valor mínimo em uma matriz. |
| ARRAY_SORT | Retorna os valores da matriz em ordem crescente |
| ARRAY_SORT_DESC | Retorna os valores da matriz em ordem decrescente |
| ARRAY_SUM | Esta função calcula a soma de todos os elementos não nulos da entrada. Se não houver elementos não nulos, retornará 0. O comportamento é semelhante à função de agregação SUM, mas opera em uma matriz. |
| COUNT_VALUES | Retorna a quantidade de itens não nulos em uma matriz fornecida. |
| COUNT_VALUES_IF | Retorna a quantidade de valores "true" em uma determinada matriz. Isso pode ser usado com operadores condicionais para contar o número de elementos de matriz que satisfazem uma condição. Por exemplo, "COUNT_VALUES_IF(my_values[] > 3)" retornará o número de elementos que são maiores que 3. |
| ELEMENT_AT | Esta função retorna um elemento de um array em um determinado índice. Se index >= 0, esta função oferece a mesma funcionalidade que o operador de subscrito padrão SQL ([]). Se index < 0, `ELEMENT_AT` acessa elementos do último para o primeiro. |
| FIRST_ELEMENT | Retorna o primeiro elemento da matriz. |
| LAST_ELEMENT | Retorna o último elemento da matriz. |
| VALUE_INDEX_IN_ARRAY | Calcula um índice posicional baseado em 1 para cada valor não nulo em uma sub-matriz, redefinindo o índice a cada nova sub-matriz. |
| VALUE_INDEX_IN_ROW | Calcula um índice posicional contínuo, baseado em 1 para cada valor em uma matriz, tratando a linha inteira como um único contexto. Ele atribui um índice exclusivo a cada elemento não nulo entre as matrizes na linha. |