Changes

Jump to: navigation, search

Expressions/pt-br

1,660 bytes added, 03:20, 5 October 2022
Created page with "Sintaxe: COUNT_DISTINCT(<expressão>) Exemplo: '''COUNT_DISTINCT("Produto")''' - Retorna o número de ocorrências únicas de produtos"
* Se o componente possui as colunas ''Preço Total'' e ''Quantidade'', pode-se criar uma expressão para calcular o ''Preço Unitário''. Ficaria assim:
** ''"Preço Total"'' / ''"Quantidade"''
* Além disso, pode-se utilizar valores fixos, como por exemplo:
** ''"Preço Total"'' / 10
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 ==
<operando ou expressão> - <operando ou expressão>
Exemplo:
'''"Preço" - "Impostos"''' – Subtrai os valores dos campos ''Preço'' e ''Impostos''
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''
  '''IF(("Cidade" != "#null") || ("Produto" != 'Lasanha');1;0)''' - Se a ''Cidade'' não for diferente de nula null '''OU''' o ''Produto'' for diferente deferente de ''Lasanha'' retorna returna ''1'', se não senão retorna ''0''
'''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 ==
Sintaxe:
DATE_PART(<data>; <constante que representa qual parte>)
Exemplo:
'''DATE_PART("Data Emissão"; 0)''' - retorna a parte do ano da ''Data Emissão''
Sintaxe:
FIRST_DAY_OF(<parte da data>; <data base>)
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.
Sintaxe:
LAST_DAY_OF(<parte da data>; <data base>)
Exemplos:
'''LAST_DAY_OF(0; DAY_FROM_TODAY(0))''' – retorna o último dia do ano a partir de hoje
  '''LAST_DAY_OF(1; "Data EmissãoDate Problema")''' - retorna o último 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 ú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.
Sintaxe:
NEW_DATE(<dia>, ; <mês>, ; <ano>)
Exemplo:
'''NEW_DATE(1; 4; DATE_PART("Data Emissão"; 0))''' – cria o primeiro dia de abril do ano determinado pela linha atual da coluna ''Data Emissão''
Sintaxe:
NUM_OF_DAYS(<data 1>; <data 2>)
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
  '''NUM_OF_DAYS(FIRST_DAY_OF(1; "Data EmissãoPedido"); LAST_DAY_OF(1; "Data EmissãoPedido"))''' - retorna o número de dias do mês, com base baseado na coluna ''Data EmissãoPedido''.
Sintaxe:
NUM_OF_MONTHS(<data 1>; <data 2>)
Exemplo:
'''NUM_OF_MONTHS(FIRST_DAY_OF(0; "Data"); "Data")''' – Retorna o número de meses entre o primeiro dia do ano e o mês atual, com base na coluna ''Data''
== Variáveis Especiais ==
They can be used in conjunction with expressions to create complex calculationsPodem ser usadas em conjunto com as expressões para criar cálculos complexos. Must be used in double quotation marks Devem ser utilizadas entre aspas duplas ('''"''')
* '''"@count"''' - Total number of rows that were returned for the component.– Número total de linhas que foram retornadas para o componente* '''"@row"''' - Current row number– Número da linha atual* '''"@sum[columncoluna]"''' - Sum of the indicated column– Somatório da coluna indicada.** ExampleExemplo: ''"@sum[PricePreço]"'' - returns the sum of all rows in the – retorna a soma de todas as linhas da coluna ''PricePreço'' column.* '''"@avg[columncoluna]"''' - Average column– Média da coluna, similar to semelhante a ''"@sum[columncoluna]"'' / ''"@count"''* '''"@prev[columncoluna]"''' – Valor da linha anterior à linha atual, para essa coluna* '''"@totalRowValue[coluna]"''' - Row value before current row for this columnValor da Linha de Total, (se presente), para essa coluna.* '''"@accumCol[columncoluna]"''' - Cumulative value from column to current row– Valor acumulado da coluna até a linha corrente. Useful for calculating variable meanÚtil para calcular média variável.** ExampleExemplo: ''"@accumCol[columncoluna]"'' / ''"@row"''

Navigation menu