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"
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 ====
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 de do sistema ==== São variáveis pré-definidas no sistema. Para utilizar as variáveis do sistema. Estes valores são alterados em tempo de execução deve-se precede-las por valores pré determinados, delimitado hashtag (#) e delimita-las por aspas duplas (") e precedido por cerquilha (#). Agora somente uma Atualmente apenas a variável ''"#null"'' está disponívele indica conteúdos nulos. * Exemplo: IF("Produto" == "#null", que indica valores ou campos nulos.;0;20)
== Expressões Aritméticas ==
==== 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 '''/'''.
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 '''=== Expressões Relacionais ==='''.
==== 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 (<) ====
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 que a (<=) ====Retorna 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 '''<='''true. Sintaxe: <operando ou expressão> <= <operando ou expressão>Exemplo: ''' IF(verdadeiro"Valor Bruto" <= 500;100;0) se a primeira expressão é ''' – Se o ''Valor Bruto'' for menor ou igual que a segunda ''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. ==== Operador E (&&) ==== Executa a operação lógica ''falseE''entre dois valores booleanos. Ambos os valores devem retornar verdadeiro (true) para que o resultado da operação seja verdadeiro (falsatrue) caso contrário. Representado pelo operador menor ou igual (<=)'''&&'''. 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''Exemplos ''': IF(("Cidade" != "#null") && ("Data de PedidoProduto" <!= '01/01/2011Lasanha');1;"Data 0)''' – Se a ''Cidade'' for diferente de nula '''E''' o ''Produto'' for diferente de Pedido";''Lasanha'' retorna ''1'', se não retorna ''0'' ==== Operador Ou (||);====
Executa a operação lógica ''OU'' entre dois valores booleanos. Um 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" != Expressões Lógicas ==='Lasanha');1;0)''' - Se ''Cidade'' não for null '''OU''' ''Produto'' deferente de ''Lasanha'' returna ''1'' senão retorna ''0''
==== E Operador de Negação (&&!) ====Executa a operação lógica ''E'' entre dois valores booleanos. Ambos operadores devem ser ''true''(verdadeiro) para que o resultado da operação seja ''true''. Representado pelo operador ''E'' (&&). Sintaxe: ''<expressão> && <expressão>''. '''Exemplos''': IF((Preço > '0') && (Vendedor == 'André Moraes');'Vendido';'Não Vendido'), IF((Cidade!="#null") && (Date<DAY_FROM_TODAY(0));1;0);
== 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. 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 ====
==== Entre (Between) Função RANDOM ====Verifica se um valor está entre os limites dos valores de parâmetro. Sintaxe: ''BETWEEN(<expressão_para_testar>;<expressão_limite_inicial>;<expressão_limite_final>)''. São necessários três parâmetros (de qualquer tipo, mas os três devem ser do mesmo tipo) e retorna um valor booleano, ''true'' se os valores estão dentro dos limites definidos ou ''false'' se não estão nos limites. '''Exemplos''': BETWEEN("Data";'01/01/2013';'31/12/2013'), BETWEEN("Preço";'0';'1000.00');
==== Max Função ROUND ====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 SQRT (Raiz Quadrada) ====Retorna um número aleatório dentro dos limites dos valores. Sintaxe: ''RANDOM(<expressão_limite_inicial>;<expressão_limite_final>)''. Precisa de dois parâmetros, os limites iniciais e finais do número aleatório a ser gerado. '''Exemplos''': RANDOM(0.0;1.0);
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 (''LIKE'') ==== Retorna verdadeiro (true ) se o conteúdo desejado for encontrado na lista e falso se o conteúdo não for encontrado. Sintaxe: ''LIKE(<conjunto_dados>;<termo>false)''caso contrário. Precisa de dois parâmetros, o primeiro é o conjunto de são os dados que será consultado. O serão consultados e o segundo é o termo que se deseja encontrar, no conjunto de dadosa ser encontrado. Lembrando que é necessário utilizar o operador de curinga ''%'' no e circundar o termopor aspa simples. Sintaxe: LIKE(<dados>; <termo>)Exemplo: '''ExemplosLIKE("Produto"; '%anh%')''' – Retorna true se o ''Produto'' contém o termo ''anh'' ou false caso contrário ''': LIKE("Produto";'%gueanh%'). ''' - Retorna verdadeiro se no conjunto de dados o ''Produto'' existe algum contendo conter a string ''gueanh'', caso contrário falso == Funções de Data == As funções de data são operações que usam como parâmetro uma data e retornam também uma data. Caso contrárioExistem algumas constantes para auxiliar na utilização das funções de data, são elas: * 0: ''DATE_FIELD_YEAR'' (Parte do ano)* 1: ''DATE_FIELD_MONTH'' (Parte do mês)* 2: ''DATE_FIELD_DAY'' (Parte do dia)* 3: ''DATE_FIELD_FORTNIGHT'' (Parte da quinzena)* 5: ''DATE_FIELD_WEEK'' (Parte da semana) ==== Função DATE_PART (Parte da data) ==== 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 falso.a parte do ano da ''Data Emissão''
Sintaxe:
DAY_FROM_TODAY(<número de dias>)
Exemplo:
'''DAY_FROM_TODAY(-1)''' - retorna a data de ontem
==== Dias a partir Função FIRST_DAY_OF (Primeiro dia 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, o número de dias para adicionar ou subtrair. '''Exemplos''': DAY_FROM_TODAY(-1) - retorna a data de ontem;
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 hoje: 0, 1, 2, 3 ou 5 (veja lista de constantes) e o terceiro é a quantidade para alterar o modificador. Sintaxe: LAST_DAY_OF(<parte da data>; <modificador da data>; <valor modificador da data>)Exemplo: '''Exemplos''': 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) , o segundo mês (entre 1 e 12) e o terceiro o ano. A data é criada do último ano para o dia, ou seja, o dia deve ser válido para o mês e ano (considerando 29/02, o ano deve ser bissexto). Sintaxe: NEW_DATE(0<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'' ==== Função NUM_OF_DAYS (Número de dias);==== Retorna o número de dias entre duas datas. Portanto necessita de duas datas.
==== Função NUM_OF_MONTHS (Número de Meses ) ====Retorna o número de meses entre duas datas. Sintaxe: ''NUM_OF_MONTHS(<expressão_data1>;<expressão_data2>); Precisa de dois parâmetros do tipo data. '''Exemplos''': NUM_OF_MONTHS(FIRST_DAY_OF(0;"Data");"Data") - Retorna o número de meses entre o primeiro dia do ano da coluna "Data" e o mês atual da coluna "Data";
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''
Sintaxe: "@count" - Número total PREVIOUS_DATE(<dia>; <mês>)Exemplos: '''PREVIOUS_DATE(15;12)''' – Considerando que a data de linhas hoje seja 14/11/2019, a última vez que foram retornados para 15/Dezembro ocorreu em relação a data de hoje foi 15/12/2018, logo esse será o componenteretorno.