1,788
edits
Changes
no edit summary
* 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''
'''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 ==
* 0: ''DATE_FIELD_YEAR'' (Part of the yearParte do ano)* 1: ''DATE_FIELD_MONTH'' (Month PartParte do mês)* 2: ''DATE_FIELD_DAY'' (DaypartParte do dia)* 3: ''DATE_FIELD_FORTNIGHT'' (Part of fortnightParte da quinzena)* 5: ''DATE_FIELD_WEEK'' (Part of the WeekParte da semana)
==== Função DATE_PART function (Date PartParte da data) ====
==== Função DAY_FROM_TODAY function (Days from todayDias a partir de hoje) ====
==== Função FIRST_DAY_OF function (First day ofPrimeiro dia de) ====
* With two parametersCom dois parâmetros, the first is the grouping constant from which we want to get the first date o primeiro é a constante do agrupamento da qual queremos obter a primeira data (see list abovevide lista acima), and the second is the e o segundo é a data base date.
==== Função LAST_DAY_OF (Último dia de) ====
Sintaxe: LAST_DAY_OF(<parte da data>; <modificador da data>; <valor modificador da data>)Exemplo: '''LAST_DAY_OF(1;"Date Issued"0; -1)''' - Last day of month based on ''Date Issued'' column– último dia do mês atual do último ano
Cria uma nova data. Precisa de três parâmetros, o primeiro corresponde ao dia (entre 1 e 31), o segundo mês (entre 1 e 12) e o terceiro o ano. A data é criada do 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).
Retorna o número de dias entre duas datas. Portanto necessita de duas datas.
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''
== Special Variables Variáveis Especiais ==
* '''"@countaccumCol[coluna]"''' - Total number of rows that were returned for the component– Valor acumulado da coluna até a linha corrente. Útil para calcular média variável.* * Exemplo: ''"@accumCol[coluna]"'' / ''"@row"''' - Current row number* '''"@sumavg[columncoluna]"''' - Sum of the indicated column.** Example: – Média da coluna, semelhante a ''"@sum[Pricecoluna]"'' - returns the sum of all rows in the / ''Price"@count"'' column.* '''"@avg[column]count"''' - Average column, similar to – Número total de linhas que foram retornadas para o componente* '''"@sumprev[columncoluna]"'' / ' – Valor da linha anterior à linha atual, para essa coluna* '''"@countrow"''' – Número da linha atual* '''"@prevsum[columncoluna]"''' - Row value before current row for this column– Somatório da coluna indicada.* '* Exemplo: ''"@accumColsum[columnPreço]"'' – retorna a soma de todas as linhas da coluna ''Preço'' - Cumulative value from column to current row. Useful for calculating variable mean.** Example: '''"@accumColtotalColumnValue[column]"'' / ' - Valor de Coluna de Total, (se presente) da coluna indicada.* '''"@rowtotalRowValue[coluna]"''' - Valor da Linha de Total, (se presente), da coluna indicada.