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"
<div class="index-right">__TOC__</div>
Além disso, também é possível utilizar números e textos fixos nos casos de expressões comparativas e ou cálculos matemáticos.
Exemplo de expressão: * 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 ==== São os valores numéricos do tipo float (domínio dos números Reais). Estes É possível utilizar tanto valores inteiros quanto valores decimais. Para valores permitem decimais, o uso de um integer e uma parte fracionada, separada por um ponto (.) (separador decimal)deverá ser o ponto. '''* Exemplos''': 1, 1.05, 2.55; * Importante: Não é permitido usar separador de milhar nos valores, assim como "," como separador decimal.
==== Operando de Texto ====
São os operandos de dados de cadeia literaistexto. Estes valores permitem o uso de campos de sequência Para utilizar esse tipo de caracteres(strings), sendo delimitados pela aspas operando em uma expressão é necessário delimita-los pelo caractere aspa simples ('). '''* Exemplos''': 'Jonathan SouzaAndré Moraes', 'São Paulo', 'Espaguete';
==== Operando de Data ====
São valores que expressam qualquer data. É possível Para representar a uma data como uma stringnas expressões o comportamento é semelhante aos operandos de texto, ou seja, sendo delimitada pela o conteúdo deve ser circundado por aspa simples (') e separado pela barra (/). O formato padrão suportado é "Porém deve-se utilizar a máscara ''dd/MM/aaaa"''. '''* Exemplos''': '01/01/20112019', '2914/0211/20002019', ';25/12/2019'
==== Operando Booleano ====
São operadores do tipo verdadeiro ou falso. Normalmente utilizados para validar, ou não, uma condição em uma expressão mais complexa. * Exemplos: true, false ==== Identifier type operand Parênteses ====Are values that represents Utilizados para agrupar e separar partes de uma expressão. Expressões dentro de parênteses são processados antes das demais. * Exemplos: ("Lucro"/"Preço Total") + 10 ==== Operando de variável do sistema ==== São variáveis pré-definidas no sistema. Para utilizar as variáveis do sistema deve-se precede-las por hashtag (#) e delimita-las por aspas duplas ("). Atualmente apenas a field or variable in the expressionvariável ''"#null"'' está disponível e indica conteúdos nulos. * Exemplo: IF("Produto" == "#null";0;20) == Expressões Aritméticas == As expressões aritméticas relacionam dois operandos (que pode ser qualquer um dos operandos descritos acima, ou ainda outra expressão) para compor a soma, subtração, multiplicação ou divisão. ==== Soma (+) ==== Soma dois operandos de valor. Representado pelo caractere '''+'''. Sintaxe: <operando ou expressão> + <operando ou expressão>Exemplo: '''"Impostos" + "Comissões"''' – Soma os valores dos campos ''Impostos'' e ''Comissões'' ==== Subtração (-) ==== Subtrai dois operandos de valor ou o resultado de outra expressão. Representado pelo caractere '''-'''. Sintaxe: <operando ou expressão> - <operando ou expressão>Exemplo: '''"Preço" - "Impostos"''' – Subtrai os valores dos campos ''Preço'' e ''Impostos'' ==== Multiplicação (*) ==== Multiplica dois operandos de valor ou resultados de outra expressão. Representado pelo caractere de multiplicação '''*'''. Sintaxe: <operando ou expressão> * <operando ou expressão>Exemplo: '''"Quantidade" * "Preço Unitário"''' – Multiplica o valor do campo ''Quantidade'' pelo valor do campo ''Preço Unitário'' ==== Divisão (/) ==== Divide dois operandos de valor ou resultado de outras expressões. Representada pelo caractere de divisão '''/'''. Used to make reference to data source columns Sintaxe: <operando ou expressão> / <operando ou expressão>Exemplo: '''"Preço" / "Quantidade"''' – Divide o valor do campo ''Preço'' pelo valor do campo ''Quantidade'' == Expressões Relacionais == As expressões relacionais comparam dois operandos (valor/texto ou outra expressão) para avaliar se uma condição é verdadeira (true) ou falsa (false). Normalmente utilizada com funções de decisão, como o ''IF'' (Se). ==== Igualdade (==) ==== Compara se dois operandos são iguais, retornando true se forem iguais ou false se diferentes. Representado pelo operador de igualdade '''=='''. Sintaxe: <operando ou expressão> == <operando ou expressão>Exemplo: '''IF("Produto" == "#null";0;20)''' – Se o produto for nulo, considera o valor ''0''. Caso contrário considera o valor ''20'' ==== Diferente (!=) ==== Compara se dois operandos são diferentes, retornando true se foram diferentes ou false se iguais. Representado pelo operador de diferença '''!='''. Sintaxe: <operando ou expressão> != <operando ou expressão>Exemplo: '''IF("Produto" != 'LASANHA';0;20)''' – Se o produto for diferente de ''Lasanha'', considera o valor ''0''. Caso contrário considera o valor ''20'' ==== Maior que (>) ==== Compara se o primeiro operador (da esquerda) é maior que o segundo operador (da direita), retornando true se for maior e false se for menor ou igual. Representado pelo operador maior '''>'''. Sintaxe: <operando ou expressão> > <operando ou expressão>Exemplo: '''IF("Valor Bruto" > 1000;1;0)''' – Se o ''Valor Bruto'' for maior que ''1000'', delimited by double quotes retorna o valor ''1'', se não o valor ''0'' ==== Maior ou igual a (>=) ==== Compara se o primeiro operador (da esquerda) é maior ou igual ao segundo operador (da direita), retornando true se for maior ou igual e false se for menor. Representado pelo operador maior '''>='''. Sintaxe: <operando ou expressão> >= <operando ou expressão>Exemplo: '''IF("Valor Bruto">= 2500;100;0)''' – Se o ''Valor Bruto'' for maior ou igual a ''2500'' retorna ''100'', caso contrário retorna ''0'' ==== Menor que (<) ==== Compara se o primeiro operador (da esquerda)é menor que o segundo operador (da direita), retornando true se for menor e false se for maior ou igual. Representado pelo operador maior '''<'''. Sintaxe: <operando ou expressão> < <operando ou expressão>Exemplo: '''IF("Valor Bruto" < 100;50;200)''' – Se o ''Valor Bruto'' for menor que ''100'', retorna ''50'', se não retorna ''200'' ==== Menor ou igual a (<=) ==== Compara se o primeiro operador (da esquerda) é menor ou igual ao segundo operador (da direita), retornando true se for menor ou igual e false se for maior. Representado pelo operador maior '''Examples<='''. Sintaxe: <operando ou expressão> <= <operando ou expressão>Exemplo: '''IF("CityValor Bruto" <= 500;100;0)''' – Se o ''Valor Bruto'' for menor ou igual a ''500'' retorna ''100'', se não retorna ''0'' == Expressões Lógicas == As expressões lógicas agrupam dois operandos (booleano ou outra expressão) para compor uma expressão lógica, com o objetivo de avaliar a relação de dois operadores booleanos em um resultado verdadeiro (true) ou falso (false). Normalmente esse tipo de expressão é utilizada para tomadas de decisão, como o ''IF'' (Se) e com expressões relacionais.City ==== Operador E (&&) ==== Executa a operação lógica ''E'' entre dois valores booleanos. Ambos os valores devem retornar verdadeiro (true) para que o resultado da operação seja verdadeiro (true). Representado pelo operador '''&&'''. Sintaxe: <expressão> && <expressão>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" != "Product#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'' ==== Operador Ou (||) ==== Executa a operação lógica ''OU'' entre dois valores booleanos.ProductUm dois dois valores deve ser verdadeiro (true) para que o resultado da operação seja verdadeiro (true). Representado pelo operador '''||'''. Sintaxe: <expressão> || <expressão>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 ''Cidade'' não for null '''OU''' ''Produto'' deferente de ''Lasanha'' returna ''1'' senão retorna ''0'' ==== Operador de Negação (!) ==== Executa a operação lógica de negação para um valor booleano. Se o resultado da operação for verdadeiro (true) o operador de negação converte para falso (false) e vice-versa. Representado pelo operador '''!'''. Sintaxe: !<expressão>Exemplo: '''IF(!BETWEEN("Data Entrega"; '01/01/2015'; '31/12/2015');2016; 2015)''' – Se a ''Data Entrega'' não tiver entre ''01/01/2015'' e ''31/12/2015'' retorna ''2016''. Se estiver entre esse período retorna ''2015'' == Funções Auxiliares == As funções auxiliares básicas são funções padrão do sistema e implementam funcionalidades úteis para compor expressões complexas. ==== Função ABS ==== Função que retorna o valor numérico absoluto de um valor numérico base. Sintaxe: ABS(<expressão>)Exemplo: '''ABS("Preço" / "Quantidade")''' – Retorna o valor absoluto do ''Preço'' divido pela ''Quantidade'' ==== Função AVG ==== Retorna a média dos valores de uma sequência de valores. Pode ser utilizado para retornar a média de diferentes valores de uma mesma linha das tabelas. Sintaxe: AVG(<expressão 1>; <expressão 2>; ...)Exemplo: '''AVG("Impostos"; "Lucro"; "Custo")''' – Retorna a média entre a soma das colunas ''Impostos'', ''Lucro'' e ''Custo'' ==== Função BETWEEN (Entre) ==== Verifica se um valor está estre os limites dos parâmetros utilizados. Sintaxe: BETWEEN(<expressão a ser testada>; <limite inicial>; <limite final>)Exemplo: '''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...) ==== Testa uma expressão booleana e aplica uma condição em caso verdadeiro (true) ou outra condição nos casos de retornar falso (false). Precisa de três parâmetros, separados por ponto e virgula (;). O primeiro parâmetro é a expressão a ser testada, o segundo o valor a ser aplicado no caso de verdadeiro e o terceiro para ser aplicado no caso de falso. Sintaxe: IF(<expressão a ser testada>; <expressão no caso de verdadeiro>; <expressão no caso de falso>)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 ''Lucro'' igual a ''0'' retorna ''0'', senão retorna a soma de ''Lucro'' e ''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 na base 10. Caso seja utilizado dois parâmetros, o segundo serve para informar a base a ser utilizada pelo logaritmo. Sintaxe: LOG(<expressão>; <base>)Exemplos: '''LOG("Lucro")''' – Retorna o logaritmo do campo ''Lucro'' '''LOG("Preço";2)''' - Retorna o logaritmo do campo ''Preço'' na base ''2'' ==== Função MAX ==== Retorna o maior valor entre dois valores. Sintaxe: MAX(<expressão 1>; <expressão 2>)Exemplo: '''"Valor" / MAX("Quantidade"; 1)''' – Divide o ''Valor'' pelo maior valor entre a ''Quantidade'' e ''1'' ==== Função MIN ==== Retorna o menor valor entre dois valores. Sintaxe: MIN(<expressão 1>; <expressão 2>)Exemplo: '''"Valor" / MIN("Custo"; 100)''' – Divide o ''Valor'' pelo menor valor entre ''Custo'' e ''100'' ==== Função POTENCIA ==== Retorna a potência de um valor em um expoente definido. Pode ser utilizada com apenas um parâmetro, neste caso considera o expoente padrão 2. Se um segundo parâmetro for passado, esse será o expoente. Sintaxe: POW(<expressão>; <expoente>)Exemplos: '''POW("Lucro")''' – Retorna a potência do valor ''Lucro'' '''POW("Custo"; 3)''' - Retorna a potência do calor ''Custo'' elevado na terceira ==== Função RANDOM ==== Retorna um número aleatório dentro dos limites dos valores passados como argumentos. Sintaxe: RANDOM(<limite inicial>; <limite final>)Exemplo: '''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) ====
=== Arithmetic Expressions = Função LIKE (Contém) ====
==Funções de Data == Subtraction (-) ====Subtract two operands. Represented by the subtract or hyphen (-) character. Syntax: ''<operand/expression> - <operand/expression>''. '''Examples''': "Gross Sale" - "Taxes";
=== Relational Expressions = Função DATE_PART (Parte da data) ====
==== Greater than Função DAY_FROM_TODAY (>Dias a partir de hoje) ====Return ''true'' if the the first expression is greater than the second expression and ''false'' otherwise. Represented by the greater operator (>). Syntax: ''<expression> > <expression>''. '''Examples''': "Order Date" > '01/01/2011';
==== Função FIRST_DAY_OF (Primeiro dia de) ====
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 Problema")''' - retorna o primeiro dia baseado na coluna ''Data Problema''
==== Função LAST_DAY_OF (Último dia de) ====
==== If then else ====Tests a boolean expression and returns a value in case it is ''true'' and another in case it is ''false''. Syntax: ''IFFunção NEW_DATE (<expression_test>;<expression_for_true>;<expression_for_false>Nova data)''. Need three parameters, a boolean for test and returns any data type, provided that both are from the same type. Useful for logic tests where two different executions expressions are needed. '''Examples''': IF("Branch"=='SOUTH';'South';'Other Branch') IF("Profit"==0;0;Profit+Taxes);
==== Pow Função NUM_OF_DAYS (Número de dias) ====Returns the power value of a number on a set exponent. Syntax: ''POW(<expression_number>[;<expression_exponent>])''. Minimum one parameter and maximum two. If the exponent value is not given, use two (2) by default. '''Examples''': POW(Value1)+POW(Value1-Value2;3);
=== Date Functions = Função NUM_OF_MONTHS (Número de Meses) ====
==== Date part Função PREVIOUS_DATE (Data anterior) ====Return a part of a date. Syntax: ''DATE_PART(<expression_date>;<constant>)''. Need two parameters, the first is the reference date and the second the constant representing the desired part date: 0, 1, 2, 3 or 5 (see above constants list). '''Examples''': DATE_PART("Order Date";0) - returns the year part of the "Order Date";
==Variáveis Especiais == New date ====Create an object from a day, month and year. Syntax: ''NEW_DATE(<expression_day>;<expression_month>;<expression_year>)''. Need three parameters, the first is a valid day number (1 to 31), the second for a month (1 to 12) and the third is a year. The date is created from year to day, therefore, the day must be valid for the month and the year (considering 29/02, year must be bissextile). '''Examples''': NEW_DATE(1;4;DATE_PART("Order Date";0)) - create the first day of april from the year determined by the current row "Order Date" column;