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''': 'André 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 ====
==== Parênteses ====
* 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 variável ''"#null"'' está disponível e indica conteúdos nulos. * Exemplo: IF("Produto" == "#null";0;20) == Expressões Aritméticas == As relações expressões aritméticas relacionam dois operandos (valor 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 operandosde valor. Representado pelo caractere de soma ('''+)'''. Sintaxe: '' <operando/ou expressão> + <operando/ou expressão>''.Exemplo: '''Exemplos''': "Impostos" + "Comissões";''' – Soma os valores dos campos ''Impostos'' e ''Comissões''
==== Subtração (-) ====
Subtrai dois operandosde valor ou o resultado de outra expressão. Representado pelo caractere de soma ou hífen ('''-)'''. Sintaxe: '' <operando/ou expressão> - <operando/ou expressão>''.Exemplo: '''Exemplos''': "Preço" - "Impostos";''' – Subtrai os valores dos campos ''Preço'' e ''Impostos''
==== Multiplicação (*) ====
Multiplica dois operandosde valor ou resultados de outra expressão. Representado pelo caractere de multiplicação ou asterisco ('''*)'''. Sintaxe: '' <operando/ou expressão> * <operando/ou expressão>''.Exemplo: '''Exemplos''': "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 '''/'''.
==Expressões Relacionais == Igual 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 (==) ====Executa a a comparação de igualdade entre Compara se dois operandossã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: '''Exemplos''': IF("Preço UnitárioProduto" == "Preço Total#null";0;20)''' – Se o produto for nulo, considera o valor ''0''. Caso contrário considera o valor ''20''
==== Diferente (!=) ====
==== 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'', retorna o valor ''1'', se não o valor ''0'' ==== Maior ou igual que a (>=) ====Retorna ''true'' Compara se o primeiro operador (da esquerda) é maior ou igual ao segundo operador (verdadeiroda direita) , retornando true se a primeira expressão é for maior ou igual que a segunda expressão e ''false''(falsa) caso contráriose for menor. Representado pelo operador maior ou igual ('''>=)'''. Sintaxe: '' <operando ou expressão> >= <operando ou expressão>''.Exemplo: '''Exemplos''': IF("Data de PedidoValor Bruto" >= '01/01/2011'2500;"Data de Pedido"100;0);''' – Se o ''Valor Bruto'' for maior ou igual a ''2500'' retorna ''100'', caso contrário retorna ''0''
==== Menor que (<) ====
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''
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 '''<='''.
Sintaxe: <operando ou expressão> <==== E (&&) ====<operando ou expressão>Exemplo:Executa a operação lógica ''E'' entre dois valores booleanos. Ambos operadores devem ser ''true''IF(verdadeiro"Valor Bruto" <= 500;100;0) para que o resultado da operação seja ''true'– Se o '. Representado pelo operador 'Valor Bruto'E'for menor ou igual a ' (&&). Sintaxe: '500'<expressão> && <expressão>''. retorna ''100'Exemplos', se não retorna '': IF((Preço > '0') && (Vendedor == 'André Moraes');'Vendido';'Não Vendido'), IF((Cidade!="#null") && (Date<DAY_FROM_TODAY(0));1;0);
==Expressões Lógicas == Não 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. ==== 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" != "#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 de negação ''OU'' entre dois valores booleanos. Um dois dois valores deve ser verdadeiro (true) para um valor booleanoque 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 operando ''Preço'' for maior que ''true1000'' '''OU''' o ''NÃOLucro'' for maior ou igual a ''50'' retorna ''75'', se não retorna '' converte ela para 55'' '''IF(("Cidade" != "#null") || ("Produto" != 'Lasanha');1;0)''' - Se ''Cidade'' não for null '''OU''' ''Produto'' deferente de ''Lasanha'' returna ''1'' senão retorna ''false0'' ==== 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 ''NÃO'!''' ("). Sintaxe: '' ! <expressão>''.Exemplo: '''Exemplos''': IF(!BETWEEN("DataEntrega", ; '01/01/20132015', ; '31/12/20132015');2016; 2015)''' – Se a ''Data Entrega'' não tiver entre ''01/01/2015'' e ''31/12/2015'' retorna 'Não é 2013';2016'É 2013').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ções Básicas =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.
==== Avg Função COUNT_DISTINCT ====Retorna a média dos valores de uma sequência de valores. Sintaxe: ''AVG(<expressão1>;<expressão2>[<expressão3>;...;<expressãoN>])''. Aceita múltiplos parâmetros e processa dados do tipo numérico.Pode ser utilizado para retornar a média de diferentes colunas de uma mesma linha da tabela. '''Exemplos''': AVG(Impostos;Lucro; Custos);
==== Max Função IF ELSE (Se.... Senão...) ====Retorna o maior valor entre dois números. Sintaxe: ''MAX(<expressão_de_valor1>;<expressão_de_valor2>)''. Precisa de dois parâmetros de valor e retorna dados do tipo valor. '''Exemplos''': "Valor"/MAX("Quantidade";"1");
==== Random 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 valorespassados 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(<expressão_limite_inicialvalor>;<expressão_limite_finalprecisão>)Exemplo: '''ROUND("Lucro")''' - Se lucro for 10. Precisa de dois parâmetros, os limites iniciais e finais do número aleatório a ser gerado38 retorna 10.00 '''ExemplosROUND(15.65)''' - Retorna 16.00 ''': RANDOMROUND(01.0777;1)''' - Retorna 1.08 ==== Função SQRT (Raiz Quadrada);====
Retorna a raiz quadrada de um valor.
Sintaxe:
SQRT(<valor ou expressão>)
Exemplos:
'''SQRT("Lucro")''' – Retorna a raiz quadrada do valor ''Lucro''
'''SQRT(81)''' - Retorna a raiz quadrada de ''81''
==== Função LIKE (Contém) ====
Retorna verdadeiro (true) se o conteúdo desejado for encontrado na lista e falso (false) caso contrário. Precisa de dois parâmetros, o primeiro são os dados que serão consultados e o segundo é o termo a ser encontrado. Lembrando que é necessário utilizar o operador de curinga ''%'' e circundar o termo por aspa simples.
Sintaxe:
LIKE(<dados>; <termo>)
Exemplo:
'''LIKE("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
As funções de data são operações que usam como parâmetro uma data e retornam resultados do [[Date/pt-br|tipo Data]]também uma data. Existem algumas constantes para auxiliar na utilização das funções de data, são elas:
==== Função DATE_PART (Parte da Data data) ====Retorna parte de uma data. Sintaxe: ''DATE_PART(<expressão_de_data>;<constante>)''. Precisa de dois parâmetros, o primeiro é a data de referência e o segundo é uma constante representando a parte desejada da data: 0, 1, 2, 3, 4 ou 5 (veja a lista de constantes acima). '''Exemplos''': DATE_PART("Data de Pedido";0) - retorna a parte do ano da "Data de Pedido";
Retorna parte de uma data. Precisa de dois parâmetros, o primeiro é a data de referência e o segundo é a constante que representa qual parte da data queremos obter. 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'' ==== Função DAY_FROM_TODAY (Dias a partir de hoje ) ==== Retorna uma contagem de dias para trás (negativa) ou para frente (positiva) contando a partir de hoje. Sintaxe: ''DAY_FROM_TODAY(<expressão_de_número_de_dias>)''. Precisa de um parâmetro, que indica o número de dias para adicionar ou subtrair. Sintaxe: DAY_FROM_TODAY(<número de dias>)Exemplo: '''Exemplos''': DAY_FROM_TODAY(-1) ''' - retorna a data de ontem; ==== Função FIRST_DAY_OF (Primeiro dia de) ====
Retorna o primeiro dia de um agrupamento. Esta função possui duas variações:
* Com dois parâmetros, o primeiro é a constante do agrupamento da qual queremos obter a primeira data (vide lista acima), e o segundo é a data base. 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'' * 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: FIRST_DAY_OF(<parte da data>; <modificador da data>; <valor modificador da data>)Exemplo: '''FIRST_DAY_OF(1; 0; -1)''' – primeiro dia do mês atual do último ano ==== Função LAST_DAY_OF (Último dia de ) ==== Retorna o último dia de um agrupamentode data. Esta função possuí possui duas variações:. * '''Primeira Maneira''': Sintaxe: ''LAST_DAY_OF(<agrupamento_constante>;<expressão_de_data>)''. Precisa de Com dois parâmetros, o primeiro é uma a constante de do agrupamento da qual você quer queremos obter a última data: 0, 1, 2, 3 ou 5 (veja vide lista de constantesacima) , e o segundo é o valor ancora de a data base. Sintaxe: '''LAST_DAY_OF(<parte da data>; < data base>)Exemplos: ''': LAST_DAY_OF(0;DAY_FROM_TODAY(0)) - ''' – retorna o último dia do ano (0) a partir de hoje; (DAY_FROM_TODAY(0)); '''LAST_DAY_OF(1;"Order DateProblema") ''' - retorna o último dia do mês (1) baseado na "Ordem do Pedido";* coluna ''Data Problema'Segunda maneira''': Sintaxe: ''LAST_DAY_OF(<agrupamento_constante>;<modificador_constante_de_data>;<valor_do_modificador_de_data>)''. Precisa de * Com três parâmetros, o primeiro é a constante de do agrupamento da qual você quer queremos obter a última data: 0, 1, 2, 3 ou 5 (veja vide lista de constantesacima), a segunda o segundo é o modificador da base da data a partir de hojee o terceiro é a quantidade para alterar o modificador. Sintaxe: LAST_DAY_OF(<parte da data>; <modificador da data>; <valor modificador da data>)Exemplo: '''LAST_DAY_OF(1; 0; -1)''' – último dia do mês atual do último ano ==== Função NEW_DATE (Nova data) ==== Cria uma nova data. Precisa de três parâmetros, o primeiro corresponde ao dia (entre 1e 31), 2, 3 ou 5 o segundo mês (veja lista de constantesentre 1 e 12) e o terceiro o ano. A data é a quantidade criada do ano para o dia, ou seja, o dia deve ser válido para alterar o modificadormês e ano (considerando 29/02, o ano deve ser bissexto). Sintaxe: NEW_DATE(<dia>; <mês>; <ano>)Exemplo: '''ExemplosNEW_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'' ==== Função NUM_OF_DAYS (Número de dias) ==== Retorna o número de dias entre duas datas. Portanto necessita de duas datas. Sintaxe: LAST_DAY_OF 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 Pedido");LAST_DAY_OF(1;"Data Pedido"))''' -retorna o número de dias do mês baseado na coluna ''Data Pedido''. ==== Função NUM_OF_MONTHS (Número de Meses) ==== Retorna o número de meses entre duas datas. Logo, dois parâmetros data são exigidos. Sintaxe: NUM_OF_MONTHS(< data 1>; < data 2>)Exemplo: '''NUM_OF_MONTHS(FIRST_DAY_OF(0; "Data") - último ; "Data")''' – Retorna o número de meses entre o primeiro dia do ano e o mês atual, com base na coluna ''Data'' ==== Função PREVIOUS_DATE (Data anterior) ==== Dado um dia e um mês , retorna a última ocorrência dessa data. Ou seja, se a data atual (1hoje) for menor do que a data passada por parâmetro (dia/mês), o retorno será a data (passada por parâmetro) do último ano anterior. Se não o retorno será a data do ano atual. Sintaxe: PREVIOUS_DATE(0<dia>;-1<mês>)Exemplos: '''PREVIOUS_DATE(15;12)''' – Considerando que a data de hoje seja 14/11/2019, a última vez que 15/Dezembro ocorreu em relação a data de hoje foi 15/12/2018, logo esse será o retorno.
==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;