1,438
edits
Changes
Created page with "Sintaxe: COUNT_DISTINCT(<expressão>) Exemplo: '''COUNT_DISTINCT("Produto")''' - Retorna o número de ocorrências únicas de produtos"
Lembramos apenas que atualmente o TaticView suporta apenas expressões cujo retorno é numérico.
As expressões suportam a barra inversa como [[EscapeChar|caractere de escape]] para que nomes possam conter os caracteres delimitadores.
Abaixo detalhes sobre o funcionamento das expressões.
== Estrutura básica de uma expressão ==
==== Identificador ====
É o nome do campo ou coluna envolvido na expressão, deve ser delimitado por aspas duplas.
* Exemplos: "Preço médio", "Parafuso 1\" philips", "Vendedor"
==== Operando de Valor ====
* Exemplos: 1, 1.05, 2.55
* Importante: Não é permitido usar separador de milhar nos valores, assim como "," como separador decimal.
==== Operando de Texto ====
* Exemplo: IF("Produto" == "#null";0;20)
== Expressões Aritméticas ==
Exemplos:
'''IF(("Preço" > 0) && ("Vendedor" == 'André Moraes');450;0)''' – Se o ''Preço'' for maior que ''0'' '''E''' o ''Vendedor'' for igual a ''André Moraes'', retorna ''450'', se não retorna ''0''
'''IF(("Cidade" != "#null") && ("Produto" != 'Lasanha');1;0)''' – Se a ''Cidade'' for diferente de nula '''E''' o ''Produto'' for diferente de ''Lasanha'' retorna ''1'', se não retorna ''0''
Exemplos:
'''IF(("Preço" > 1000) || ("Lucro" >= 50);75;55)''' – Se o ''Preço'' for maior que ''1000'' '''OU''' o ''Lucro'' for maior ou igual a ''50'' retorna ''75'', se não retorna ''55''
'''BETWEEN("Data Emissão"; '01/01/2019'; '31/12/2019')''' – Retorna true se a ''Data Emissão'' estiver entre ''01/01/2019'' e ''31/12/2019''. Caso contrário retorna false
==== Função COUNT ====
Retorna o número de ocorrências (linhas) de uma coluna ou valor.
Por ora, esta função funciona apenas em expressões de Fontes de Dados
Sintaxe:
COUNT(<expressão>)
Exemplo:
'''COUNT("Produto")''' - Retorna o número de ocorrências (linhas) de produtos
==== Função COUNT_DISTINCT ====
Retorna o número de ocorrências únicas (linhas) de uma coluna ou valor.
Por ora, esta função funciona apenas em expressões de Fontes de Dados
Sintaxe:
COUNT_DISTINCT(<expressão>)
Exemplo:
'''COUNT_DISTINCT("Produto")''' - Retorna o número de ocorrências únicas de produtos
==== Função IF ELSE (Se.... Senão...) ====
Exemplos:
'''IF(BETWEEN("Valor"; 0; 100); 10; 250)''' – Se o ''Valor'' estiver entre ''0'' e ''100'' retorna ''10'', se não retorna ''250''
'''IF("Lucro" == 0; 0; "Lucro" + "Impostos")''' – - Se o ''Lucro'' for igual a ''0'' retorna ''0'', se não senão retorna a soma entre o de ''Lucro'' e os ''Impostos'' '''IF("Código Produto" == 3231;0;"Quantidade" * 3;"Quantidade")''' - Se ''Código Produto'' igual a ''3231'' retorna ''Quantidade'' vezes 3
==== Função LOG ====
Retorna o logaritmo de um número em uma base definida. Pode ser utilizada com apenas um parâmetro, neste caso é utilizado o logaritmo neperiano (natural)na base 10. Caso seja utilizado dois parâmetros, o segundo server serve para informar a base a ser utilizada pelo logaritmo.
Sintaxe:
Exemplos:
'''LOG("Lucro")''' – Retorna o logaritmo do campo ''Lucro''
'''LOG("Preço"; 2)''' – - Retorna o logaritmo do campo ''Preço'', na base ''2''
Exemplos:
'''POW("Lucro")''' – Retorna a potência do valor ''Lucro''
'''POW("Custo"; 3)''' – - Retorna a potência do valor calor ''Custo'', elevado a ''3''na terceira
'''RANDOM(10; 100)''' – Retorna um número aleatório entre ''10'' e ''100''
==== Função ROUND ====
Retorna o arredondamento de uma coluna de valor ou valor.
Sintaxe:
ROUND(<valor>;<precisão>)
Exemplo:
'''ROUND("Lucro")''' - Se lucro for 10.38 retorna 10.00
'''ROUND(15.65)''' - Retorna 16.00
'''ROUND(1.777;1)''' - Retorna 1.8
==== Função SQRT (Raiz Quadrada) ====
Exemplos:
'''SQRT("Lucro")''' – Retorna a raiz quadrada do valor ''Lucro''
'''SQRT(81)''' – - Retorna a raiz quadrada de ''81''
LIKE(<dados>; <termo>)
Exemplo:
'''LKELIKE("Produto"; '%anh%')''' – Retorna true se o ''Produto'' contém o termo ''anh'' ou false caso contrário '''LIKE("Produto"; '%anh%')''' - Retorna verdadeiro se o ''Produto'' conter a string ''anh'', caso contrário falso
== Funções de Data ==
Exemplos:
'''FIRST_DAY_OF(0; DAY_FROM_TODAY(0))''' – retorna o primeiro dia do ano a partir de hoje
'''FIRST_DAY_OF(1; "Data EmissãoProblema")''' – - retorna o primeiro dia do mês baseado na coluna ''Data EmissãoProblema''
* Com três parâmetros, o primeiro é a constante do agrupamento da qual queremos obter a primeira data (vide lista acima), o segundo é o modificador da base da data a partir de hoje e o terceiro é a quantidade para alterar o modificador.
Exemplos:
'''LAST_DAY_OF(0; DAY_FROM_TODAY(0))''' – retorna o último dia do ano a partir de hoje
* Com três parâmetros, o primeiro é a constante do agrupamento da qual queremos obter a última data (vide lista acima), o segundo é o modificador da base da data a partir de hoje e o terceiro é a quantidade para alterar o modificador.
Exemplos:
'''NUM_OF_DAYS(FIRST_DAY_OF(0; "Data Emissão"); "Data Emissão")''' – retorna o número de dias entre o primeiro dia do ano, baseado na coluna ''Data Emissão'', até o dia atual, baseado na mesma coluna
* '''"@avg[coluna]"''' – Média da coluna, semelhante a ''"@sum[coluna]"'' / ''"@count"''
* '''"@prev[coluna]"''' – Valor da linha anterior à linha atual, para essa coluna
* '''"@totalRowValue[coluna]"''' - Valor da Linha de Total, (se presente), para essa coluna.
* '''"@accumCol[coluna]"''' – Valor acumulado da coluna até a linha corrente. Útil para calcular média variável.
** Exemplo: ''"@accumCol[coluna]"'' / ''"@row"''