> For the complete documentation index, see [llms.txt](https://wedocs.gitbook.io/wedocs-5.1/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wedocs.gitbook.io/wedocs-5.1/wedocs-4.5-es_es/cliente-desktop/recursos-extras-de-dashboards/formulas/funcoes.md).

# Funciones

{% hint style="warning" %}
**abs**

Devuelve el valor absoluto de Valor.

***

**Sintaxis:**

abs(Valor)

***

**Parámetros:**

Valor: Número

***

**Devuelve:**

Número

***

**Ejemplo:**

abs(-32) ›› 32
{% endhint %}

{% hint style="warning" %}
**aggAvg**

Devuelve el promedio de Campo.

***

**Sintaxis:**

aggAvg(Campo)

***

**Parámetros:**

Campo: Texto

***

**Devuelve:**

Número

***

**Nota:**

El uso de esta función solo tiene sentido con un metadato.

***

**Ejemplo:**

aggAvg("campo") ›› @null
{% endhint %}

{% hint style="warning" %}
**aggCnt**

Devuelve el conteo de Campo.

***

**Sintaxis:**

aggCnt(Campo)

***

**Parámetros:**

Campo: Texto

***

**Devuelve:**

Número

***

**Nota:**

El uso de esta función solo tiene sentido con un metadato.

***

**Ejemplo:**

aggCnt("campo") ›› @null
{% endhint %}

{% hint style="warning" %}
**aggDAvg**

Devuelve el promedio de Campo haciendo distinción en CampoDistinto.

***

**Sintaxis:**

aggDAvg(Campo, CampoDistinto = @null)

***

**Parámetros:**

Campo: Texto

CampoDistinto: Texto \[= @null]

***

**Devuelve:**

Número

***

Nota:

El uso de esta función solo tiene sentido con un metadato. Si CampoDistinto no se informa, la distinción se realiza en Campo.

***

**Ejemplo:**

aggDAvg("campo") ›› @null
{% endhint %}

{% hint style="warning" %}
**aggDCnt**

Devuelve el conteo de Campo haciendo distinción en CampoDistinto.

***

**Sintaxis:**

aggDCnt(Campo, CampoDistinto = @null)

***

**Parámetros:**

Campo: Texto

CampoDistinto: Texto \[= @null]

***

**Devuelve:**

Número

***

**Nota:**

El uso de esta función solo tiene sentido con un metadato. Si CampoDistinto no se informa, la distinción se realiza en Campo.

***

**Ejemplo:**

aggDCnt("campo") ›› @null
{% endhint %}

{% hint style="warning" %}
**aggDList**:

Devuelve la lista de valores de Campo haciendo distinción en CampoDistinto.

***

**Sintaxis:**

aggDList(Campo, CampoDistinto = @null)

***

**Parámetros:**

Campo: Texto

CampoDistinto: Texto \[= @null]

***

**Devuelve:**

Texto

***

**Nota:**

El uso de esta función solo tiene sentido con un metadato. Si CampoDistinto no se informa, la distinción se realiza en Campo.

***

**Ejemplo:**

aggDList("campo") ›› @null
{% endhint %}

{% hint style="warning" %}
**aggDSum**

Devuelve la suma de Campo haciendo distinción en CampoDistinto.

***

**Sintaxis:**

aggDSum(Campo, CampoDistinto = @null)

***

**Parámetros:**

Campo: Texto

CampoDistinto: Texto \[= @null]

***

**Devuelve:**

Número

***

**Nota:**

El uso de esta función solo tiene sentido con un metadato. Si CampoDistinto no se informa, la distinción se realiza en Campo.

***

**Ejemplo:**

aggDSum("campo") ›› @null
{% endhint %}

{% hint style="warning" %}
**aggMax**

Devuelve el máximo de Campo.

***

**Sintaxis:**

aggMax(Campo)

***

**Parámetros:**

Campo: Texto

***

**Devuelve:**

Cualquier tipo

***

**Nota:**

El uso de esta función solo tiene sentido con un metadato.

***

**Ejemplo:**

aggMax("campo") ›› @null
{% endhint %}

{% hint style="warning" %}
**aggMin**

Devuelve el mínimo de Campo.

***

**Sintaxis:**

aggMin(Campo)

***

**Parámetros:**

Campo: Texto

***

**Devuelve:**

Cualquier tipo

***

**Nota:**

El uso de esta función solo tiene sentido con un metadato.

***

**Ejemplo:**

aggMin("campo") ›› @null
{% endhint %}

{% hint style="warning" %}
**aggSum**

Devuelve la suma de Campo.

***

**Sintaxis:**

aggSum(Campo)

***

**Parámetros:**

Campo: Texto

***

**Devuelve:**

Número

***

**Nota:**

El uso de esta función solo tiene sentido con un metadato.

***

**Ejemplo:**

aggSum("campo") ›› @null
{% endhint %}

{% hint style="warning" %}
**aggList**:

Devuelve la lista de valores de Campo.

***

**Sintaxis**:

aggList(Campo)

***

**Parámetros**:

Campo: Texto

***

**Devuelve:**

Texto

***

**Nota:**

El uso de esta función solo tiene sentido con un metadato.

***

**Ejemplo:**

aggList("campo") ›› @null
{% endhint %}

{% hint style="warning" %}
**and**

Verifica los valores booleanos pasados. Devuelve verdadero si todos son verdaderos. Devuelve falso si al menos uno es falso.

***

**Sintaxis:**

and(Valor 1, Valor 2, ...)

***

**Parámetros:**

Valor 1: Booleano Primer valor a ser probado.

Valor 2: Booleano Segundo valor a ser probado.

***

**Devuelve:**

Booleano

***

**Ejemplo:**

and(2<3,3>2) ›› 1
{% endhint %}

{% hint style="warning" %}
**arrayAt**

Devuelve la posición Índice de la Lista.

***

**Sintaxis:**

arrayAt(Lista, Índice)

***

**Parámetros:**

Lista: Lista

Índice: Lista

***

**Devuelve:**

Cualquier tipo

***

**Ejemplo:**

arrayAt(\["a","b","c"],\[2]) ›› "c"
{% endhint %}

{% hint style="warning" %}
**calc**

Ejecuta una fórmula.

***

**Sintaxis:**

calc(Fórmula)

***

**Parámetros:**

Fórmula: Texto Fórmula a ser ejecutada.

***

**Devuelve:**

Cualquier tipo

***

**Ejemplo:**

calc("2 + 3") ›› 5
{% endhint %}

{% hint style="warning" %}
**case**

Devuelve el resultado correspondiente a la condición atendida.

***

**Sintaxis:**

case(ValorTestado 1, Retorno 1, ...)

***

Parámetros:

ValorTestado 1: Booleano

Retorno 1: Cualquier tipo

...

***

**Devuelve:**

Cualquier tipo

***

**Nota:**

Si ValorTestado 1 es verdadero, devuelve Retorno 1. De lo contrario, si ValorTestado 2 es verdadero, devuelve Retorno 2. Hace la misma prueba para todos los pares hasta encontrar una condición verdadera. Si no encuentra ninguna, devuelve el último parámetro que no forma parte de un par.

***

Ejemplo:

case(2>13,">13",2>4,"5-13","<5") ›› "<5"
{% endhint %}

{% hint style="warning" %}
**caseEx**

Compara el Valor con los valores recibidos y devuelve el resultado correspondiente a la condición atendida.

***

**Sintaxis:**

caseEx(Valor, ValorTestado 1, Retorno 1, ...)

***

**Parámetros:**

Valor: Cualquier tipo

ValorTestado 1: Cualquier tipo

Retorno 1: Cualquier tipo

...

***

**Devuelve:**

Cualquier tipo

***

**Nota:**

Si Valor es igual a ValorTestado 1, devuelve Retorno 1. De lo contrario, si Valor es igual a ValorTestado 2, devuelve Retorno 2. Hace la misma prueba para todos los pares hasta encontrar una condición verdadera. Si no encuentra ninguna, devuelve el último parámetro que no forma parte de un par.

***

**Ejemplo:**

caseEx(2,1,"Um",2,"Dois","Outro") ›› "Dois"
{% endhint %}

{% hint style="warning" %}
**cast**

Convierte Valor para el Tipo pasado.

***

**Sintaxis:**

cast(Valor, Tipo)

***

**Parámetros:**

Valor: Cualquier tipo

Tipo: Texto number: Número text: Texto boolean: Booleano array: Lista

***

**Devuelve:**

Cualquier tipo

***

**Ejemplo:**

cast("12","number") ›› 12
{% endhint %}

{% hint style="warning" %}
**ceil**

Redondea un Valor para el mayor valor.

***

Sintaxis:

ceil(Valor, Decimales = 0)

***

Parámetros:

Valor: Número

Decimales: Número \[= 0] Decimales a exibir após o arredondamento.

***

Retorna:

Número

***

Exemplos:

ceil(2.392,1) ›› 2.4

ceil(-2.392,1) ›› -2.3
{% endhint %}

{% hint style="warning" %}
**char**

Devuelve el carácter correspondiente al Código.

***

**Sintaxis:**

char(Código)

***

**Parámetros:**

Código: Número

***

**Devuelve:**

Texto

***

**Ejemplo:**

char(67) ›› "C"
{% endhint %}

{% hint style="warning" %}
**colorScale**

Devuelve un color con base en una escala/valor.

***

**Sintaxis:**

colorScale(Valor, Cor 1 = 0, Valor 1 = 0, Cor 2 = 100, Valor 2 = 16777215, ...)

***

**Parámetros:**

Valor: Número Valor a buscar na escala

Cor 1: Número \[= 0] Primera cor da escala

Valor 1: Número \[= 0] Primeiro valor da escala

Cor 2: Número \[= 100] Segunda cor da escala

Valor 2: Número \[= 16777215] Segundo valor da escala

***

**Devuelve:**

Número

***

**Nota:**

A escala es formada por pares Cor/Valor.

***

**Exemplos:**

Escala cinza: preto (0%) a branco (100%), obtém o valor que corresponde a 25% colorScale(25,0,0x0,100,0xffffff) ›› 4210752
{% endhint %}

{% hint style="warning" %}
**cumul\_sum**

Devuelve la suma acumulada de Campo.

***

**Sintaxis:**

cumul\_sum(Campo, Opcoes = @null)

***

**Parámetros:**

Campo: Texto

Opcoes: Texto \[= @null]

***

**Devuelve:**

Cualquier tipo

***

**Nota:**

El uso de esta función solo tiene sentido con un metadato.

***

**Ejemplo:**

cumul\_sum("campo") ›› @null
{% endhint %}

{% hint style="warning" %}
**datePart**

Devuelve una Parte de una FechaHora.

***

**Sintaxis:**

datePart(DataHora, Parte)

***

**Parámetros:**

DataHora: Número

Parte: Texto

millisecond Milissegundo (0-999)

second Segundo (0-59)

minute Minuto (0-59)

hour Hora (0-23)

week Semana (1-6)

day Dia (1-31)

month Mes (1-12)

month2 Bimestre (1-6)

month3 Trimestre (1-4)

month4 Quadrimestre (1-3)

month6 Semestre (1-2)

year Año (1-?)

decade Década (1-?)

decade0 Década (base 0) (1-?)

century Siglo (1-?)

millennium Milênio (1-?)

***

**Devuelve:**

Número

***

**Ejemplo:**

datePart(@currDT,"year") ›› 2022
{% endhint %}

{% hint style="warning" %}
**daysBetween**

Devuelve la cantidad de días entre la FechaInicial (inclusive) y la FechaFinal (inclusive). Opcionalmente, ignora algunos días de la semana.

***

**Sintaxis:**

daysBetween(Data inicial, Data final, Ignorar = @null)

***

**Parámetros:**

Data inicial: Número

Data final: Número

Ignorar: Lista \[= @null] Ignora los días de la semana especificados en esta lista: 1 Domingo 2 Lunes 3 Martes 4 Miércoles 5 Jueves 6 Viernes 7 Sábado

***

**Devuelve:**

Número

***

**Ejemplo:**

daysBetween(@currDT-10,@currDT+10,\[1,7]) ›› 15
{% endhint %}

{% hint style="warning" %}
**decDayDT**

Decrementa una Cantidad de días en una FechaHora.

***

**Sintaxis:**

decDayDT(DataHora, Quantidade = 1)

***

**Parámetros:**

DataHora: Número

Cantidad: Número \[= 1] Cantidad a decrementar.

***

**Devuelve:**

Número

***

**Ejemplo:**

formatD(decDayDT(@currDT)) ›› "07/08/2022"
{% endhint %}

{% hint style="warning" %}
**decHourDT**

Decrementa una Cantidad de horas en una FechaHora.

***

**Sintaxis:**

decHourDT(DataHora, Quantidade = 1)

***

**Parámetros:**

DataHora: Número

Cantidad: Número \[= 1] Cantidad a decrementar.

***

**Devuelve:**

Número

***

**Ejemplo:**

formatT(decHourDT(@currDT)) ›› "08:48:21"
{% endhint %}

{% hint style="warning" %}
**decMinuteDT**

Decrementa una Cantidad de minutos en una FechaHora.

***

**Sintaxis:**

decMinuteDT(DataHora, Quantidade = 1)

***

**Parámetros:**

DataHora: Número

Cantidad: Número \[= 1] Cantidad a decrementar.

***

**Devuelve:**

Número

***

**Ejemplo:**

formatT(decMinuteDT(@currDT)) ›› "09:48:04"
{% endhint %}

{% hint style="warning" %}
**decMonthDT**

Decrementa una Cantidad de meses en una FechaHora.

***

**Sintaxis:**

decMonthDT(DataHora, Quantidade = 1)

***

**Parámetros:**

DataHora: Número

Cantidad: Número \[= 1] Cantidad a decrementar.

***

**Devuelve:**

Número

***

**Ejemplo:**

formatD(decMonthDT(@currDT)) ›› "08/07/2022"
{% endhint %}

{% hint style="warning" %}
**decMonthYM**

Decrementa una Cantidad de meses en un AñoMes.

***

**Sintaxis:**

decMonthYM(AnoMês, Quantidade = 1)

***

**Parámetros:**

AnoMês: Número

Cantidad: Número \[= 1] Cantidad a decrementar.

***

**Devuelve:**

Número

***

**Ejemplo:**

formatYM(decMonthYM(@currYM)) ›› "07/2022"
{% endhint %}

{% hint style="warning" %}
**decSecondDT**

Decrementa una Cantidad de segundos en una FechaHora.

***

**Sintaxis:**

decSecondDT(DataHora, Quantidade = 1)

***

**Parámetros:**

DataHora: Número

Cantidad: Número \[= 1] Cantidad a decrementar.

***

**Devuelve:**

Número

***

**Ejemplo:**

formatT(decSecondDT(@currDT)) ›› "09:50:44"
{% endhint %}

{% hint style="warning" %}
**decYearDT**

Decrementa una Cantidad de años en una FechaHora.

***

**Sintaxis:**

decYearDT(DataHora, Quantidade = 1)

***

**Parámetros:**

DataHora: Número

Cantidad: Número \[= 1] Cantidad a decrementar.

***

**Devuelve:**

Número

***

**Ejemplo:**

formatD(decYearDT(@currDT)) ›› "08/08/2021"
{% endhint %}

{% hint style="warning" %}
**decYearYM**

Decrementa una Cantidad de años en un AñoMes.

***

**Sintaxis:**

decYearYM(AnoMês, Quantidade = 1)

***

**Parámetros:**

AnoMês: Número

Cantidad: Número \[= 1] Cantidad a decrementar.

***

**Devuelve:**

Número

***

**Ejemplo:**

formatYM(decYearYM(@currYM)) ›› "08/2021"
{% endhint %}

{% hint style="warning" %}
**div:**

División del Dividendo por el Divisor y, opcionalmente, devuelve Fallo si la división falla.

***

**Sintaxis:**

div(Dividendo, Divisor, Falha = @null)

***

**Parámetros:**

Dividendo: Número

Divisor: Número

Fallo: Cualquier tipo \[= @null] Valor devuelto si la división falla. Ejemplo: una división por cero.

***

**Devuelve:**

Número

***

**Ejemplo:**

div(5,2) ›› 2.5
{% endhint %}

{% hint style="warning" %}
**divR:**

Resto de la división entera del Dividendo por el Divisor y, opcionalmente, devuelve Fallo si la división falla.

***

**Sintaxis:**

divR(Dividendo, Divisor, Falha = @null)

***

**Parámetros:**

Dividendo: Número

Divisor: Número

Fallo: Cualquier tipo \[= @null] Valor devuelto si la división falla. Ejemplo: una división por cero.

***

**Devuelve:**

Número

***

**Ejemplo:**

divR(5,2) ›› 1
{% endhint %}

{% hint style="warning" %}
**divT:**

División entera del Dividendo por el Divisor y, opcionalmente, devuelve Fallo si la división falla.

***

**Sintaxis:**

divT(Dividendo, Divisor, Falha = @null)

***

**Parámetros:**

Dividendo: Número

Divisor: Número

Fallo: Cualquier tipo \[= @null] Valor devuelto si la división falla. Ejemplo: una división por cero.

***

**Devuelve:**

Número

***

**Ejemplo:**

divT(5,2) ›› 2
{% endhint %}

{% hint style="warning" %}
**dtTrunc**

Trunca una FechaHora.

***

**Sintaxis:**

dtTrunc(DataHora, Opção)

***

**Parámetros:**

DataHora: Número

Opção: Texto

second Segundo

minute Minuto

hour Hora

week Semana

day Dia

month Mes

month2 Bimestre

month3 Trimestre

month4 Quadrimestre

month6 Semestre

year Año

decade Década

decade0 Década (base 0)

century Siglo

millennium Milênio

***

**Devuelve:**

Número

***

**Ejemplo:**

formatDT(dtTrunc(@currDT,"day")) ›› "08/08/2022 00:00:00"
{% endhint %}

{% hint style="warning" %}
**dtTruncUp**

Trunca una FechaHora hacia arriba.

***

**Sintaxis**

dtTruncUp(DataHora, Opção)

***

**Parámetros:**

DataHora: Número

Opção: Texto

second Segundo

minute Minuto

hour Hora

week Semana

day Dia

month Mes

month2 Bimestre

month3 Trimestre

month4 Quadrimestre

month6 Semestre

year Año

decade Década

decade0 Década (base 0)

century Siglo

millennium Milênio

***

**Devuelve:**

Número

***

**Ejemplo:**

formatDT(dtTruncUp(@currDT,"day")) ›› "08/08/2022 23:59:59"
{% endhint %}

{% hint style="warning" %}
**exp**

Devuelve el resultado de la expresión e\*\*Valor.

***

**Sintaxis:**

exp(Valor)

***

**Parámetros:**

Valor: Número

***

**Devuelve:**

Número

***

**Ejemplo:**

exp(10) ›› 22026.4657948067
{% endhint %}

{% hint style="warning" %}
**floor**

Redondea un Valor para el menor valor.

***

**Sintaxis:**

floor(Valor, Decimales = 0)

***

**Parámetros:**

Valor: Número

Decimales: Número \[= 0] Decimales a exibir após o arredondamento.

***

**Devuelve:**

Número

***

**Ejemplos:**

floor(2.392,1) ›› 2.3

floor(-2.392,1) ›› -2.4
{% endhint %}

{% hint style="warning" %}
**formatD**

Formatea la Fecha con la Máscara pasada.

***

**Sintaxis:**

formatD(Data, Máscara = "dd/mm/yyyy")

***

**Parámetros:**

Data: Número

Máscara: Texto \[= "dd/mm/yyyy"]

dd Día (con 2 casas decimales)

mm Mes (con 2 casas decimales)

yyyy Año (con 4 casas decimales)

d Día m

Mes yy Año

***

**Devuelve:**

Texto

***

**Ejemplo:**

formatD(@currD,"dd-mm") ›› "08-08"
{% endhint %}

{% hint style="warning" %}
**formatDT**

Formatea la FechaHora con la Máscara pasada.

***

**Sintaxis:**

formatDT(DataHora, Máscara = "dd/mm/yyyy hh:nn:ss")

***

**Parámetros:**

DataHora: Número

Máscara: Texto \[= "dd/mm/yyyy hh:nn:ss"]

dd Día (con 2 casas decimales)

mm Mes (con 2 casas decimales)

yyyy Año (con 4 casas decimales)

hh Hora (con 2 casas decimales)

nn Minuto (con 2 casas decimales)

ss Segundo (con 2 casas decimales)

zzz Milissegundo (con 3 casas decimales)

d Día

m Mes

yy Año

h Hora

n Minuto

s Segundo

z Milissegundo

***

**Devuelve:**

Texto

***

**Ejemplo:**

formatDT(@currDT,"dd-mm hh:nn") ›› "08-08 10:07"
{% endhint %}

{% hint style="warning" %}
**formatT**

Formata la Hora con la Máscara pasada.

***

**Sintaxis:**

formatT(Hora, Máscara = "hh:nn:ss")

***

**Parámetros:**

Hora: Número

Máscara: Texto \[= "hh:nn:ss"]

hh Hora (con 2 casas decimales)

nn Minuto (con 2 casas decimales)

ss Segundo (con 2 casas decimales)

zzz Milissegundo (con 3 casas decimales)

h Hora

n Minuto

s Segundo

z Milissegundo

***

**Devuelve:**

Texto

***

**Ejemplo:**

formatT(@currT,"hh:nn") ›› "10:10"
{% endhint %}

{% hint style="warning" %}
**formatYM**

Formatea el AñoMes con la Máscara pasada.

***

**Sintaxis:**

formatYM(AnoMês, Máscara = "mm/yyyy")

***

**Parámetros:**

AnoMês: Número

Máscara: Texto \[= "mm/yyyy"]

mm Mes (con 2 casas decimales)

yyyy Año (con 4 casas decimales)

m Mes

yy Año

***

**Devuelve:**

Texto

***

**Ejemplo:**

formatYM(@currYM,"mm-yyyy") ›› "08-2022"
{% endhint %}

{% hint style="warning" %}
**getDayDT**

Obtiene los días de una FechaHora.

***

**Sintaxis:**

getDayDT(DataHora)

***

**Parámetros:**

DataHora: Número

***

**Devuelve:**

Número

***

**Ejemplo:**

getDayDT(@currDT) ›› 8
{% endhint %}

{% hint style="warning" %}
**getFinMonthDT**

Devuelve la fecha final del mes de una FechaHora.

***

**Sintaxis:**

getFinMonthDT(DataHora)

***

**Parámetros**

DataHora: Número

***

**Devuelve:**

Número

***

**Ejemplo:**

formatD(getFinMonthDT(@currDT)) ›› "31/08/2022"
{% endhint %}

{% hint style="warning" %}
**getFinMonthYM**

Devuelve la fecha final del mes de un AñoMes.

***

**Sintaxis:**

getFinMonthYM(AnoMês)

***

**Parámetros:**

AnoMês: Número

***

**Devuelve:**

Número

***

**Ejemplo:**

formatD(getFinMonthYM(@currYM)) ›› "31/08/2022"
{% endhint %}

{% hint style="warning" %}
**getFinYearDT**

Devuelve la fecha final del año de una FechaHora.

***

**Sintaxis:**

getFinYearDT(DataHora)

***

**Parámetros:**

DataHora: Número

***

**Devuelve:**

Número

***

**Ejemplo:**

formatD(getFinYearDT(@currDT)) ›› "31/12/2022"
{% endhint %}

{% hint style="warning" %}
**getFinYearYM**

Devuelve la fecha final del año de un AñoMes.

***

**Sintaxis:**

getFinYearYM(AnoMês)

***

**Parámetros:**

AnoMês: Número

***

**Devuelve:**

Número

***

**Ejemplo:**

formatD(getFinYearYM(@currYM)) ›› "31/12/2022"
{% endhint %}

{% hint style="warning" %}
**getHourDT**

Obtiene las horas de una FechaHora.

***

**Sintaxis:**

getHourDT(DataHora)

***

**Parámetros:**

DataHora: Número

***

**Devuelve:**

Número

***

**Ejemplo:**

getHourDT(@currDT) ›› 10
{% endhint %}

{% hint style="warning" %}
**getIniMonthDT**

Devuelve la fecha inicial del mes de una FechaHora.

***

**Sintaxis:**

getIniMonthDT(DataHora)

***

**Parámetros:**

DataHora: Número

***

**Devuelve:**

Número

***

**Ejemplo:**

formatD(getIniMonthDT(@currDT)) ›› "01/08/2022"
{% endhint %}

{% hint style="warning" %}
**getIniMonthYM**

Devuelve la fecha inicial del mes de un AñoMes.

***

**Sintaxis:**

getIniMonthYM(AnoMês)

***

**Parámetros:**

AnoMês: Número

***

**Devuelve:**

Número

***

**Ejemplo:**

formatD(getIniMonthYM(@currYM)) ›› "01/08/2022"
{% endhint %}

{% hint style="warning" %}
**getIniYearDT**

Devuelve la fecha inicial del año de una FechaHora.

***

**Sintaxis:**

getIniYearDT(DataHora)

***

**Parámetros:**

DataHora: Número

***

**Devuelve:**

Número

***

**Ejemplo:**

formatD(getIniYearDT(@currDT)) ›› "01/01/2022"
{% endhint %}

{% hint style="warning" %}
**getIniYearYM**

Devuelve la fecha inicial del año de un AñoMes.

***

**Sintaxis:**

getIniYearYM(AnoMês)

***

**Parámetros:**

AnoMês: Número

***

**Devuelve:**

Número

***

**Ejemplo:**

formatD(getIniYearYM(@currYM)) ›› "01/01/2022"
{% endhint %}

{% hint style="warning" %}
**getMinuteDT**

Obtiene los minutos de una FechaHora.

***

**Sintaxis:**

getMinuteDT(DataHora)

***

**Parámetros:**

DataHora: Número

***

**Devuelve:**

Número

***

**Ejemplo:**

getMinuteDT(@currDT) ›› 29
{% endhint %}

{% hint style="warning" %}
**getMonthDT**

Obtiene los meses de una FechaHora.

***

**Sintaxis:**

getMonthDT(DataHora)

***

**Parámetros:**

DataHora: Número

***

**Devuelve:**

Número

***

**Ejemplo:**

getMonthDT(@currDT) ›› 8
{% endhint %}

{% hint style="warning" %}
**getMonthYM**

Obtiene los meses de un AñoMes.

***

**Sintaxis:**

getMonthYM(AnoMês)

***

**Parámetros:**

AnoMês: Número

***

**Devuelve:**

Número

***

**Ejemplo:**

getMonthYM(@currYM) ›› 8
{% endhint %}

{% hint style="warning" %}
**getSecondDT**

Obtiene los segundos de una FechaHora.

***

**Sintaxis:**

getSecondDT(DataHora)

***

**Parámetros:**

DataHora: Número

***

**Devuelve:**

Número

***

**Ejemplo:**

getSecondDT(@currDT) ›› 3
{% endhint %}

{% hint style="warning" %}
**getVar**

Obtiene el valor de una variable.

***

**Sintaxis:**

getVar(Nome, ValorPadrão = @null)

***

**Parámetros:**

Nome: Texto Nombre de la variable.

ValorPadrão: Cualquier tipo \[= @null] Valor devuelto en caso de que la variable sea nula.

***

**Devuelve:**

Cualquier tipo

***

**Ejemplo:**

getVar("minhaVariavel") ›› @null
{% endhint %}

{% hint style="warning" %}
**getYearDT**

Obtiene los años de una FechaHora.

***

**Sintaxis:**

getYearDT(DataHora)

***

**Parámetros:**

DataHora: Número

***

**Devuelve:**

Número

***

**Ejemplo:**

getYearDT(@currDT) ›› 2022
{% endhint %}

{% hint style="warning" %}
**getYearMonthDT**

Obtiene el año/mes de una FechaHora.

***

**Sintaxis:**

getYearMonthDT(DataHora)

***

**Parámetros:**

DataHora: Número

***

**Devuelve:**

Número

***

**Ejemplo:**

formatYM(getYearMonthDT(@currDT)) ›› "08/2022"
{% endhint %}

{% hint style="warning" %}
**getYearYM**

Obtiene los años de un AñoMes.

***

**Sintaxis:**

getYearYM(AnoMês)

***

**Parámetros:**

AnoMês: Número

***

**Devuelve:**

Número

***

**Ejemplo:**

getYearYM(@currYM) ›› 2022
{% endhint %}

{% hint style="warning" %}
**if**

Verifica un valor booleano. Si este valor es verdadero, devuelve el valor del segundo parámetro ValorSeVerdadeiro. De lo contrario, devuelve el valor del tercer parámetro ValorSeFalso.

***

**Sintaxis:**

if(ValorTestado, ValorSeVerdadeiro, ValorSeFalso = @null)

***

**Parámetros:**

ValorTestado: Booleano Valor booleano a ser verificado.

ValorSeVerdadeiro: Cualquier tipo Valor devuelto si el primer parámetro es verdadero.

ValorSeFalso: Cualquier tipo \[= @null] Valor devuelto si el primer parámetro es falso.

***

**Devuelve:**

Cualquier tipo

***

**Ejemplo:**

if(2>3,"verdadeiro","falso") ›› "falso"
{% endhint %}

{% hint style="warning" %}
**ifNull**

Verifica la expresión. Si existe al menos una variable nula en la expresión, devuelve el segundo parámetro ValorSeNulo. Si no, devuelve el resultado de la expresión.

***

**Sintaxis:**

ifNull(ExpressãoTestada, ValorSeNulo = @null)

***

**Parámetros:**

ExpressãoTestada: Cualquier tipo Expresión a ser verificada.

ValorSeNulo: Cualquier tipo \[= @null] Valor devuelto si el primer parámetro contiene una variable nula.

***

**Devuelve:**

Cualquier tipo

***

**Ejemplo:**

ifNull(:abc,"vazio") ›› "vazio"
{% endhint %}

{% hint style="warning" %}
**ifNullEx**

Verifica si la expresión contiene variables nulas. Si el segundo parámetro es falso y existe al menos una variable nula en la expresión, devuelve el tercer parámetro ValorSeNulo. Si el segundo parámetro es verdadero y todas las variables existentes son nulas en la expresión, devuelve el tercer parámetro ValorSeNulo. Si no, devuelve el resultado de la expresión.

***

**Sintaxis:**

ifNullEx(ExpressãoTestada, TestarTodas = 0, ValorSeNulo = @null)

***

**Parámetros:**

ExpressãoTestada: Cualquier tipo Expresión a ser verificada.

TestarTodas: Cualquier tipo \[= 0] Si verdadero, todas las variables deben ser nulas.

ValorSeNulo: Cualquier tipo \[= @null] Valor devuelto si el primer parámetro contiene una variable nula.

***

**Devuelve:**

Cualquier tipo

***

**Ejemplo:**

ifNullEx(:abc,@true,"vazio") ›› "vazio"
{% endhint %}

{% hint style="warning" %}
**incDayDT**

Incrementa una Cantidad de días en una FechaHora.

***

**Sintaxis:**

incDayDT(DataHora, Quantidade = 1)

***

**Parámetros:**

DataHora: Número

Cantidad: Número \[= 1] Cantidad a incrementar.

***

**Devuelve:**

Número

***

**Ejemplo:**

formatD(incDayDT(@currDT)) ›› "09/08/2022"
{% endhint %}

{% hint style="warning" %}
**incHourDT**

Incrementa una Cantidad de horas en una FechaHora.

***

**Sintaxis:**

incHourDT(DataHora, Quantidade = 1)

***

**Parámetros:**

DataHora: Número

Cantidad: Número \[= 1] Cantidad a incrementar.

***

**Devuelve:**

Número

***

**Ejemplo:**

formatT(incHourDT(@currDT)) ›› "11:48:07"
{% endhint %}

{% hint style="warning" %}
**incMinuteDT**

Incrementa una Cantidad de minutos en una FechaHora.

***

**Sintaxis:**

incMinuteDT(DataHora, Quantidade = 1)

***

**Parámetros:**

DataHora: Número

Cantidad: Número \[= 1] Cantidad a incrementar.

***

**Devuelve:**

Número

***

**Ejemplo:**

formatT(incMinuteDT(@currDT)) ›› "10:50:04"
{% endhint %}

{% hint style="warning" %}
**incMonthDT**

Incrementa una Cantidad de meses en una FechaHora.

***

**Sintaxis:**

incMonthDT(DataHora, Quantidade = 1)

***

**Parámetros:**

DataHora: Número

Cantidad: Número \[= 1] Cantidad a incrementar.

***

**Devuelve:**

Número

***

**Ejemplo:**

formatD(incMonthDT(@currDT)) ›› "08/09/2022"
{% endhint %}

{% hint style="warning" %}
**incMonthYM**

Incrementa una Cantidad de meses en un AñoMes.

***

**Sintaxis:**

incMonthYM(AnoMês, Quantidade = 1)

***

**Parámetros:**

AnoMês: Número

Cantidad: Número \[= 1] Cantidad a incrementar.

***

**Devuelve:**

Número

***

**Ejemplo:**

formatYM(incMonthYM(@currYM)) ›› "09/2022"
{% endhint %}

{% hint style="warning" %}
**incSecondDT**

Incrementa una Cantidad de segundos en una FechaHora.

***

**Sintaxis:**

incSecondDT(DataHora, Quantidade = 1)

***

**Parámetros:**

DataHora: Número

Cantidad: Número \[= 1] Cantidad a incrementar.

***

**Devuelve:**

Número

***

**Ejemplo:**

formatT(incSecondDT(@currDT)) ›› "10:51:13"
{% endhint %}

{% hint style="warning" %}
**incYearDT**

Incrementa una Cantidad de años en una FechaHora.

***

**Sintaxis:**

incYearDT(DataHora, Quantidade = 1)

***

**Parámetros:**

DataHora: Número

Cantidad: Número \[= 1] Cantidad a incrementar.

***

**Devuelve:**

Número

***

**Ejemplo:**

formatD(incYearDT(@currDT)) ›› "08/08/2023"
{% endhint %}

{% hint style="warning" %}
**incYearYM**

Incrementa una Cantidad de años en un AñoMes.

***

**Sintaxis:**

incYearYM(AnoMês, Quantidade = 1)

***

**Parámetros:**

AnoMês: Número

Cantidad: Número \[= 1] Cantidad a incrementar.

***

**Devuelve:**

Número

***

**Ejemplo:**

formatYM(incYearYM(@currYM)) ›› "08/2023"
{% endhint %}

{% hint style="warning" %}
**isNull**

Devuelve de Valor es nulo.

***

**Sintaxis:**

isNull(Valor)

***

**Parámetros:**

Valor: Cualquier tipo Valor a ser testado.

***

**Devuelve:**

Número

***

**Ejemplo:**

isNull(@null) ›› 1
{% endhint %}

{% hint style="warning" %}
**join**

Concatena los textos de una Lista usando un Separador.

***

**Sintaxis**:

join(Lista, Separador = @null)

***

**Parámetros**:

Lista: Lista

Separador: Texto \[= @null]

***

**Devuelve**:

Texto

***

**Ejemplo:**

join(\["abacaxi","laranja","framboesa"],";") ›› "abacaxi;laranja;framboesa"
{% endhint %}

{% hint style="warning" %}
**jsonGet**

Obtiene el valor de la Propiedad del JSON pasado.

***

**Sintaxis:**

jsonGet(JSON, Caminho, ValorPadrão = @null)

***

**Parámetros:**

JSON: Texto

Caminho: Texto

ValorPadrão: Cualquier tipo \[= @null] Valor devuelto si no encontrar el camino pasado.

***

**Devuelve:**

Cualquier tipo

***

**Ejemplo:**

jsonGet("{""a"":{""b"":\[1,\[2.1,2.2],3]}}","a.b\[1]") ›› "\[2.1,2.2]"
{% endhint %}

{% hint style="warning" %}
**lag**

Devuelve el valor anterior de Campo.

***

**Sintaxis:**

lag(Campo, Deslocamento = @null, Opcoes = @null)

***

**Parámetros:**

Campo: Texto

Deslocamento: Número \[= @null]

Opcoes: Texto \[= @null]

***

**Devuelve:**

Cualquier tipo

***

**Nota:**

El uso de esta función solo tiene sentido con un metadato.

***

**Ejemplo:**

lag("campo") ›› @null
{% endhint %}

{% hint style="warning" %}
**lead**

Devuelve el valor siguiente de Campo.

***

**Sintaxis**:

lead(Campo, Deslocamento = @null, Opcoes = @null)

***

**Parámetros:**

Campo: Texto

Deslocamento: Número \[= @null]

Opcoes: Texto \[= @null]

***

**Devuelve:**

Cualquier tipo

***

**Nota:**

El uso de esta función solo tiene sentido con un metadato.

***

**Ejemplo**:

lead("campo") ›› @null
{% endhint %}

{% hint style="warning" %}
**length**

Devuelve el tamaño del Texto.

***

**Sintaxis:**

length(Texto)

***

**Parámetro:**

Texto: Texto

***

**Devuelve:**

Número

***

**Ejemplo:**

length("abc
{% endhint %}

{% hint style="warning" %}
**log**

Devuelve el log de Valor en la Base informada.

***

**Sintaxis:**

log(Valor, Base)

***

**Parámetros:**

Valor: Número

Base: Número

***

**Devuelve:**

Número

***

**Ejemplo:**

log(100,10) ›› 2
{% endhint %}

{% hint style="warning" %}
**log10**

Devuelve el log de Valor en la base 10.

***

**Sintaxis:**

log10(Valor)

***

**Parámetros:**

Valor: Número

***

**Devuelve:**

Número

***

**Ejemplo:**

log10(100) ›› 2
{% endhint %}

{% hint style="warning" %}
**logE**

Devuelve el log de Valor en la base e.

***

**Sintaxis:**

logE(Valor)

***

**Parámetros:**

Valor: Número

***

**Devuelve:**

Número

***

**Ejemplo:**

logE(100) ›› 4.60517018598809
{% endhint %}

{% hint style="warning" %}
**lowerCase**

Convierte un Texto para caixa baixa.

***

**Sintaxis:**

lowerCase(Texto, Opções = 0)

***

**Parámetros:**

Texto: Texto Texto a ser convertido.

Opções: Número \[= 0] 0. Todo o texto é convertido.

1. Apenas a primeira letra do texto é convertida.
2. A primeira letra de cada palavra é convertida.

***

**Devuelve:**

Texto

***

**Nota:**

Os seguintes caracteres delimitam palavras: {espaço} ! " # $ % & ' ( ) \* + , - . / : ; < = > ? @ \[ \ ] ^ \_ \` { | } \~ ¨ ´

***

**Exemplos:**

lowerCase("SANTA CATARINA",0) ›› "santa catarina"

lowerCase("SANTA CATARINA",1) ›› "sANTA CATARINA"

lowerCase("SANTA CATARINA",2) ›› "sANTA cATARINA"
{% endhint %}

{% hint style="warning" %}
**median\_cont**

Devuelve la mediana de Campo.

***

**Sintaxis:**

median\_cont(Campo)

***

**Parámetros:**

Campo: Texto

***

**Devuelve:**

Número

***

**Nota:**

El uso de esta función solo tiene sentido con un metadato.

***

**Ejemplo:**

median\_cont("campo") ›› @null
{% endhint %}

{% hint style="warning" %}
**not**

Invierte un valor booleano.

***

**Sintaxis:**

not(Valor)

***

**Parámetros:**

Valor: Booleano Valor a ser invertido.

***

**Devuelve:**

Booleano

***

**Ejemplo:**

not(@false) ›› 1
{% endhint %}

{% hint style="warning" %}
**or**

Verifica los valores booleanos pasados. Devuelve verdadero si al menos uno es verdadero. Devuelve falso si todos son falsos.

***

**Sintaxis:**

or(Valor 1, Valor 2, ...)

***

**Parámetros:**

Valor 1: Booleano Primer valor a ser testado.

Valor 2: Booleano Segundo valor a ser testado.

***

**Devuelve:**

Booleano

***

**Ejemplo:**

or(2<3,3<2) ›› 1
{% endhint %}

{% hint style="warning" %}
**padStr**

Rellena un Texto hasta un Tamaño usando Txt1 y, opcionalmente, Txt2, de acuerdo con el Modo.

***

**Sintaxis:**

padStr(Texto, Tamanho, Txt1 = @null, Modo = @null, Txt2 = @null)

***

**Parámetros:**

Texto: Texto

Tamaño: Número

Txt1: Texto \[= @null]

Modo: Número \[= @null] 0. Derecha.

1. Izquierda.
2. Derecha e izquierda.
3. Izquierda y derecha.

Txt2: Texto \[= @null]

***

**Devuelve:**

Texto

***

**Exemplos:**

padStr("abc",5,"=+",2) ›› "=abc="

padStr(:cpf,11,"0",1) ›› "00000000000"

padStr("abc",7,"=+",2) ›› "=+abc=+"

padStr("abc",7,"+=",2,"=+") ›› "=+abc+="

padStr("abc",7,"+=",3,"=+") ›› "+=abc=+"
{% endhint %}

{% hint style="warning" %}
**parseDT**

Intenta interpretar un Texto como fecha de acuerdo con la Mascara definida y, opcionalmente, devuelve el valor Padrao si la interpretación falla.

***

**Sintaxis:**

parseDT(Texto, Mascara = "d/m/y h:n", Padrao = @null, UTC = @null)

***

**Parámetros:**

Texto: Texto Valor a ser interpretado como fecha.

Mascara: Texto \[= "d/m/y h:n"] Máscara a ser utilizada na interpretação. d Dia (com 1-2 casas decimais) dd Dia (com 2 casas decimais) m Mês (com 1-2 casas decimais) mm Mês (com 2 casas decimais) y Ano (com 1-2 casas decimais) yyyy Ano (com 4 casas decimais) h Hora (com 1-2 casas decimais) hh Hora (com 2 casas decimais) n Minuto (com 1-2 casas decimais) nn Minuto (com 2 casas decimais) s Segundo (com 1-2 casas decimais) ss Segundo (com 2 casas decimais) z Milissegundo (com 1-3 casas decimais) zzz Milissegundo (com 3 casas decimais) t Timezone

Padrao: Número \[= @null] Valor retornado se a interpretação falhar.

UTC: Booleano \[= @null] Se verdadeiro, retorna a data/hora UTC. Se falso, retorna a data/hora local (do servidor).

***

**Devuelve:**

Número

***

**Ejemplo:**

formatD(parseDT("1969-12-15","y-m-d")) ›› "30/12/1899"
{% endhint %}

{% hint style="warning" %}
**percent**

Devuelve el percentual de Campo en relación con el total.

***

**Sintaxis**:

percent(Campo, Opcoes = @null)

***

**Parámetros**:

Campo: Texto

Opcoes: Texto \[= @null]

***

**Devuelve**:

Número

***

**Nota:**

El uso de esta función solo tiene sentido con un metadato.

***

**Ejemplo**:

percent("campo") ›› @null
{% endhint %}

{% hint style="warning" %}
**percentile\_cont**

Devuelve el percentil de Campo.

***

**Sintaxis**:

percentile\_cont(Campo, Valor = 0.5)

***

**Parámetros**:

Campo: Texto

Valor: Número \[= 0.5]

***

**Devuelve**:

Número

***

**Nota**:

El uso de esta función solo tiene sentido con un metadato.

***

**Ejemplo**:

percentile\_cont("campo") ›› @null
{% endhint %}

{% hint style="warning" %}
**piece**

Devuelve el n-ésimo trozo de un Texto particionado por Separador.

***

**Sintaxis:**

piece(Texto, Separador, Índice = 1)

***

**Parámetros:**

Texto: Texto

Separador: Texto Particionador del texto.

Índice: Número \[= 1] Índice del trozo a devolver.

***

**Devuelve:**

Texto

***

**Ejemplo:**

piece("01/01/2001","/",3) ›› "2001"
{% endhint %}

{% hint style="warning" %}
**pieceCount**

Devuelve la cantidad de trozos de un Texto particionado por Separador.

***

**Sintaxis:**

pieceCount(Texto, Separador)

***

**Parámetros:**

Texto: Texto

Separador: Texto Particionador del texto.

***

**Devuelve:**

Número

***

**Nota:**

Incluso un texto vacío contiene al menos un trozo.

***

**Ejemplos:**

pieceCount("01/01/2001","/") ›› 3

pieceCount("","/") ›› 1
{% endhint %}

{% hint style="warning" %}
**pieceCountN**

Devuelve la cantidad de trozos de un Texto particionado por Separador pero devuelve cero si el texto está vacío.

***

**Sintaxis:**

pieceCountN(Texto, Separador)

***

**Parámetros:**

Texto: Texto

Separador: Texto Particionador del texto.

***

**Devuelve:**

Número

***

**Nota:**

Un texto vacío devuelve cero.

***

**Ejemplos:**

pieceCountN("01/01/2001","/") ›› 3

pieceCountN("","/") ›› 0
{% endhint %}

{% hint style="warning" %}
**rank\*\***

Devuelve el ranking de Campo.

***

**Sintaxis**:

rank(Campo, Opcoes = @null)

***

**Parámetros**:

Campo: Texto

Opcoes: Texto \[= @null]

***

**Devuelve**:

Cualquier tipo

***

**Nota**:

El uso de esta función solo tiene sentido con un metadato.

***

**Ejemplo**:

rank("campo") ›› @null
{% endhint %}

{% hint style="warning" %}
**replace**

Busca en el Texto las ocurrencias de Remover y sustituye por Insertar.

***

**Sintaxis:**

replace(Texto, Remover, Inserir = @null, Opções = \[1, 2])

***

**Parámetros:**

Texto: Texto

Remover: Texto Valor a ser removido

Inserir: Texto \[= @null] Valor a ser inserido

Opções: Lista \[= \[1, 2]]

1. Ignora la caja del texto procurado.
2. Sustituye todas las ocurrencias.

***

**Devuelve:**

Texto

***

**Exemplos:**

replace("Abacate","a","*",\[]) ›› "Ab\_cate"*

*replace("Abacate","a","*",\[1]) ›› "*bacate"*

*replace("Abacate","a","*",\[2]) ›› "Ab\_c\_te"

replace("Abacate","a","\_",\[1,2]) ›› "\_b\_c\_te"
{% endhint %}

{% hint style="warning" %}
**round**

Arredonda um Valor com os Decimais especificados.

***

**Sintaxe*****:***

round(Valor, Decimais = 0)

***

**Parámetros:**

Valor: Número

Decimais: Número \[= 0] Decimais a exibir após o arredondamento.

***

Retorna:

Número

***

**Exemplo:**

round(2.392,1) ›› 2.4
{% endhint %}

{% hint style="warning" %}
**script**

Permite a execução sequencial de expressões.

***

**Sintaxe:**

script(Expressão 1, Expressão 2, ...)

***

**Parámetros:**

Expressão 1: Qualquer tipo Primeira expressão a ser executada.

Expressão 2: Qualquer tipo Segunda expressão a ser executada.

***

**Retorna:**

Qualquer tipo

***

**Observação:**

O retorno da função é o retorno da última expressão passada. A constante @currValue contém o valor da expressão anterior. Também é possível usar a função setVar para armazenar um valor para uso em expressões subsequentes.

***

**Exemplo:**

script(setVar("a",2+5),3-1,@currValue\*:a) ›› 14
{% endhint %}

{% hint style="warning" %}
**setVar**

Atribuiu um valor à uma variável.

***

**Sintaxe:**

setVar(Nome, Valor)

***

**Parâmetros:**

Nome: Texto Nome da varável que receberá o valor.

Valor: Qualquer tipo Valor a ser atribuído à variável.

***

**Retorna:**

Qualquer tipo

***

**Observação:**

O valor retornado pela função é o valor atribuído à variável.

***

**Exemplo:**

setVar("minhaVariavel",3-5) ›› -2
{% endhint %}

{% hint style="warning" %}
**sort**

Ordena uma Lista.

***

**Sintaxe**:

sort(Lista, Direção = 1)

***

**Parâmetros**:

Lista: Lista

Direção: Número \[= 1] 1 Ascendente -1 Decrescente

***

**Retorna**:

Lista

***

**Exemplos**:

sort(\["abacaxi","laranja","framboesa"]) ›› \["abacaxi", "framboesa", "laranja"]

sort(\[1,7,0,2.3],-1) ›› \[7, 2.3, 1, 0]
{% endhint %}

{% hint style="warning" %}
**split**

Divide Texto usando o Separadores.

***

**Sintaxe**:

split(Texto, Separadores)

***

**Parâmetros**:

Texto: Texto

Separadores: Texto ou Lista

***

**Retorna**:

Lista

***

**Exemplos**:

split("abacaxi,laranja,framboesa", ",") ›› \["abacaxi", "laranja", "framboesa"] split("abacaxi,laranja;framboesa", \[",", ";"]) ›› \["abacaxi", "laranja", "framboesa"]
{% endhint %}

{% hint style="warning" %}
**sqlLike**

Verifica se Texto atende à Máscara.

***

**Sintaxe:**

sqlLike(Texto, Máscara)

***

**Parâmetros:**

Texto: Texto

Máscara: Texto Coringas: \_ 1 caractere % 1 sequência de caracteres

***

**Retorna:**

Booleano

***

**Observação:**

O teste não ignora a caixa ou caracteres especiais, assim como o operador like em um comando SQL.

***

**Exemplo:**

sqlLike("Salvador","%alva%") ›› 1
{% endhint %}

{% hint style="warning" %}
**sqrt**

Retorna a n-ésima raiz de um valor.

***

**Sintaxe:**

sqrt(Valor, Raiz = 2)

***

**Parâmetros:**

Valor: Número

Raiz: Número \[= 2]

***

Retorna:

Número

***

**Exemplo:**

sqrt(81,3) ›› 4.32674871092223
{% endhint %}

{% hint style="warning" %}
**subStr**

Retorna um pedaço de Texto.

***

**Sintaxe:**

subStr(Texto, Posição = 1, Tamanho = 1)

***

**Parâmetros:**

Texto: Texto

Posição: Número \[= 1] Posição do pedaço a retornar (base 1)

Tamanho: Número \[= 1] Tamanho do pedaço a retornar (base 1)

***

**Retorna:**

Texto

***

**Exemplo:**

subStr("Santa Maria/RS",7,3) ›› "Mar"
{% endhint %}

{% hint style="warning" %}
**translate**

Procura no Texto as ocorrências de Remover e substitui pelo caracter correspondente contido em Inserir.

***

**Sintaxe:**

translate(Texto, Remover, Inserir = @null, Opções = \[1, 2])

***

**Parâmetros:**

Texto: Texto

Remover: Texto Valor a ser removido

Inserir: Texto \[= @null] Valor a ser inserido

Opções: Lista \[= \[1, 2]]

1. Ignora a caixa do texto procurado.
2. Substitui todas as ocorrências.

***

Retorna:

Texto

***

**Observação:**

Se houver mais caracteres em Remover do que em Inserir, estes caracteres são removidos mas nada é inserido no lugar. Se houver mais caracteres em Inserir do que em Remover, estes caracteres são simplesmente ignorados.

***

**Exemplos:**

translate("mãçã","ãÇ","ac",\[]) ›› "maçã"

translate("mãçã","ãÇ","ac",\[1]) ›› "macã"

translate("mãçã","ãÇ","ac",\[2]) ›› "maça"

translate("mãçã","ãÇ","ac",\[1,2]) ›› "maca"
{% endhint %}

{% hint style="warning" %}
**trunc**

Trunca um Valor com os Decimais especificados.

***

**Sintaxe:**

trunc(Valor, Decimais = 0)

***

**Parâmetros:**

Valor: Número

Decimais: Número \[= 0] Decimais a exibir após o truncamento.

***

**Retorna:**

Número

***

**Exemplos:**

trunc(2.392,1) ›› 2.3

trunc(-2.392,1) ›› -2.3
{% endhint %}

{% hint style="warning" %}
**upperCase**

Converte um Texto para caixa alta.

***

**Sintaxe:**

upperCase(Texto, Opções = 0)

***

**Parâmetros:**

Texto: Texto Texto a ser convertido.

Opções: Número \[= 0] 0. Todo o texto é convertido.

1. Apenas a primeira letra do texto é convertida.
2. A primeira letra de cada palavra é convertida.

***

**Retorna:**

Texto

***

**Observação:**

Os seguintes caracteres delimitam palavras: {espaço} ! " # $ % & ' ( ) \* + , - . / : ; < = > ? @ \[ \ ] ^ \_ \` { | } \~ ¨ ´

***

**Exemplos:**

upperCase("santa catarina",0) ›› "SANTA CATARINA"

upperCase("santa catarina",1) ›› "Santa catarina"

upperCase("santa catarina",2) ›› "Santa Catarina"
{% endhint %}

{% hint style="warning" %}
**var**

Retorna a variação de Campo.

***

**Sintaxe**:

var(Campo, Deslocamento = @null, Opcoes = @null)

***

**Parâmetros**:

Campo: Texto

Deslocamento: Número \[= @null]

Opcoes: Texto \[= @null]

***

**Retorna**:

Número

***

**Observação**:

O uso desta função só faz sentido com um metadato.

***

**Exemplo**:

var("campo") ›› @null
{% endhint %}

{% hint style="warning" %}
**Exemplos:**

upperCase("santa catarina",0) ›› "SANTA CATARINA"

upperCase("santa catarina",1) ›› "Santa catarina"

upperCase("santa catarina",2) ›› "Santa Catarina"
{% endhint %}

{% hint style="warning" %}
**varPer**

Retorna a variação percentual de Campo.

***

**Sintaxe**:

varPer(Campo, Deslocamento = @null, Opcoes = @null)

***

**Parâmetros**:

Campo: Texto

Deslocamento: Número \[= @null]

Opcoes: Texto \[= @null]

***

**Retorna**:

Número

***

**Observação**:

O uso desta função só faz sentido com um metadato.

***

**Exemplo**:

varPer("campo") ›› @null
{% endhint %}

{% hint style="warning" %}
**xor**

Verifica os valores booleanos passados. Retorna verdadeiro se um, e somente um, for verdadeiro. Retorna falso se todos forem falsos ou houver mais de um verdadeiro.

***

**Sintaxe:**

xor(Valor 1, Valor 2, ...)

***

**Parâmetros:**

Valor 1: Booleano Primeiro valor a ser testado.

Valor 2: Booleano Segundo valor a ser testado.

***

**Retorna:**

Booleano

***

**Exemplo:**

xor(2<3,3>2) ›› 0
{% endhint %}
