Índice


Introdução


Esta página lista e detalha todas as funções que podem ser utilizadas nas expressões no design de um relatório.

Funções de Agregação


Avg(Valor)

Retorna a média dos valores da coleção de dados.

Exemplo: [Produtos].Avg([PrecoUnitario])

Count(Valor)

Retorna o número de objetos em uma coleção de dados.

Exemplo: [Products].Count() → Retorna a quantidade de produtos em uma coleção de dados

Exists()

Determina se o objeto (Valor Especifico) existe na coleção de dados.

Exemplo: [Categories][[CategoryID] == 7].Exists()

Join()

Concatena todos os valores de Expressão na Coleção com base na Condição especificada (opcional) em uma única string (texto) separada pelo Separador especificado (opcional). Se você não especificar um Separador , a função usará uma vírgula.

A função tem as seguintes sobrecargas (2 formas de usar):

[Coleção][Condição].Join(Expressão)

[Coleção][Condição].Join(Expressão, Separador)

Exemplo: A expressão a seguir concatena os valores do campo CompanyName em um relatório agrupado pelo campo CategoryID em uma única string (texto) separada por ponto e vírgula:

[][[CategoryID] == [^.CategoryID]].Join([CompanyName], ';') → Concatena o valor do Id e o Nome da categoria separado por virgula:  41,Cereais


Max(Valor)

Retorna o valor máximo da expressão em uma coleção de dados.

Exemplo: [Products].Max([UnitPrice]) →  Retorna o maior valor de preço unitário de uma coleção de produtos.


Min(Valor)

Retorna o valor mínimo da expressão em uma coleção de dados.

Exemplo: [Products].Min([UnitPrice]) → Retorna o menor valor de preço unitário de uma coleção de produtos.


Single()

Retorna um objeto (Dado procurado) se for o único elemento de uma coleção de dado.

Exemplo: [Accounts].Single() is not null


Single(Expressão)

Você pode passar uma expressão como parâmetro: [Coleção][Condição].Single(Expressão) .

Esta função retorna a Expressão se a Coleção contiver apenas um objeto que atenda à Condição especificada (opcional).

Exemplo: [Coleção].Single([Propriedade]) → Retorna o valor da propriedade do objeto encontrado.


Sum(Valor)

Retorna a soma de todos os valores de expressão na coleção.

Exemplo: [Products].Sum([UnitsInStock]) → Soma os valores Unidade em estoque da coleção produtos


Funções de data e hora


AddDays(DateTime, DaysCount)

Retorna um valor de uma Data que é o número especificado de dias antes (Numero negativos) ou depois (Numero positivo) de uma data especificada.

Os operandos são:

1 - o valor Data é a data de início especificada com ou sem horas.

2 - o valor decimal de número de dias será o valor de avanço ou retrocesso da data especificada. Este número pode ser negativo ou positivo. Sua parte decimal é uma fração de dia.

Exemplo: AddDays([OrderDate], 30) → Adiciona 30 dias a partir da data de compra (OrderDate).


AddHours(DateTime, HoursCount)

Retorna um valor Data e Hora que é o número especificado de dias  antes (Numero negativos) ou depois (Numero positivo) de uma data especificada.

Os operandos são:

1 - o valor Data é a data de início especificada com ou sem horas.

2 - o valor decimal de número de horas será o valor de avanço ou retrocesso da data especificada. Este número pode ser negativo ou positivo. Sua parte decimal é uma fração de hora.

Exemplo: AddHours([FinishTime], -2) → Reduz 2 horas a partir do tempo final (FinishTime).


AddMilliSeconds(DateTime, MilliSecondsCount)

Retorna um valor Data e hora que é o número especificado de milissegundos antes (Numero negativos) ou depois (Numero positivo) de uma data especificada.

Os operandos são:

1 - o valor Data é a data de início especificada com ou sem horas.

2 - o valor decimal de número de milissegundos  será o valor de avanço ou retrocesso da data especificada. Este número pode ser negativo ou positivo. Sua parte decimal é uma fração de milissegundo.

Exemplo: AddMilliSeconds(([StartTime], 5000)) → Aumenta em 5000 milissegundos o tempo de inicio (StartTime)


AddMinutes(DateTime, MinutesCount)

Retorna um valor Data e hora que é o número especificado de minutos antes (Numero negativos) ou depois (Numero positivo) de uma data especificada.

Os operandos são:

1 - o valor Data é a data de início especificada com ou sem horas.

2 - o valor decimal de número de minutos será o valor de avanço ou retrocesso da data especificada. Este número pode ser negativo ou positivo. Sua parte decimal é uma fração de milissegundo.

Exemplo: AddMinutes([StartTime], -30) → Reduz em 30 minutos o tempo de inicio (StartTime)


AddMonths(DateTime, MonthsCount)

Retorna um valor Data e hora que é o número especificado de meses antes (Numero negativos) ou depois (Numero positivo) de uma data especificada.

Os operandos são:

1 - o valor Data é a data de início.

2 - o valor inteiro de número de meses será o valor de avanço ou retrocesso da data especificada. Este número pode ser negativo ou positivo.

Exemplo: AddMonths([OrderDate], 1) → Aumenta em 1 mês a data da ordem (OrdemDate)


AddSeconds(DateTime, SegundosCount)

Retorna um valor Data e hora que é o número especificado de segundos antes (Numero negativos) ou depois (Numero positivo) de uma data especificada.

Os operandos são:

1 - o valor Data é a data de início.

2 - o valor decimal de número de segundos será o valor de avanço ou retrocesso da data especificada. Este número pode ser negativo ou positivo. Sua parte decimal é uma fração de segundos.

Exemplo: AddSeconds([StartTime], -60) → Reduz em 60 segundos o tempo de inicio (StartTime)

AddTicks(DateTime, TicksCount)

Retorna um valor Data e Hora  que é o número especificado de ticks antes (Numero negativos) ou depois (Numero positivo) de uma data especificada.

Os operandos são:

1 - o valor Data é a data de início.

2 - o valor inteiro de número de ticks de 100 nanossegundos será o valor de avanço ou retrocesso da data especificada. Este número pode ser negativo ou positivo.

Exemplo: AddTicks([StartTime], 5000) → Aumenta em 5000 ticks (500.000 nanossegundos) o tempo de inicio (StartTime)


AddTimeSpan(DateTime, TimeSpan)

Retorna um valor Data e hora que difere por um período de tempo especificado de uma data especificada.

Os operandos são:

1 - o valor Data é a data de início.

2 - o objeto duração que é o período  será o valor de avanço ou retrocesso da data especificada. 

Exemplo: AddTimeSpan([StartTime], [Duration])Testar e colocar descrição melhor, tentei de varias forma e não consegui.


AddYears(DateTime, YearsCount)

Retorna um valor Data e Hora  que é o número especificado de anos antes (Numero negativos) ou depois (Numero positivo) de uma data especificada.

Os operandos são:

1 - o valor DateTime que é a data de início.

2 -o valor inteiro de número de anos será o valor de avanço ou retrocesso da data especificada. Este número pode ser negativo ou positivo.

Exemplo: AddYears([EndDate], -1) → Reduz em 1 ano a data final (EndDate)


DateDiffDay(startDate, endDate)

Retorna o número de dias entre as datas especificadas.

Os operandos são:

1 - o valor Datainicial é a data de início.

2 - o valor Datafim é a data final.

Exemplo: DateDiffDay([StartDate], [FinishDate]) → Retorna o numero de dias entre a data de inicio (StartDate) e data final (FinishDate)


DateDiffHour(startDate, endDate)

Retorna o número de horas entre as datas especificadas.

Os operandos são:

1 - o valor Datainicial é a data de início.

2 - o valor Datafim é a data final.

Exemplo: DateDiffHour([StartTime], [FinishTime]) → Retorna o numero de horas entre a data de inicio (StartTime) e data final (FinishTime)


DateDiffMilliSecond(startDate, endDate)

Retorna o número de milissegundos entre as datas especificadas.

Os operandos são:

1 - o valor Datainicial é a data de início.

2 - o valor Datafim é a data final.

Exemplo: DateDiffMilliSecond([StartTime], [FinishTime]) → Retorna o numero de milissegundos entre a data de inicio (StartTime) e data final (FinishTime)


DateDiffMinute(startDate, endDate)

Retorna o número de minutos entre as datas especificadas.

Os operandos são:

1 - o valor Datainicial é a data de início.

2 - o valor Datafim é a data final.

Exemplo: DateDiffMinute([StartTime], [FinishTime]) → Retorna o numero de minutos entre a data de inicio (StartTime) e data final (FinishTime)


DateDiffMonth(startDate, endDate)

Retorna o número de meses entre as datas especificadas.

Os operandos são:

1 - o valor Datainicial é a data de início.

2 - o valor Datafim é a data final.

Exemplo: DateDiffMonth([StartTime], [FinishTime]) → Retorna o numero de meses entre a data de inicio (StartTime) e data final (FinishTime)


DateDiffMonth(startDate, endDate)

Retorna o número de segundos entre as datas especificadas.

Os operandos são:

1 - o valor Datainicial é a data de início.

2 - o valor Datafim é a data final.

Exemplo: DateDiffSecond([StartTime], [FinishTime]) → Retorna o numero de segundos entre a data de inicio (StartTime) e data final (FinishTime)


DateDiffTick(startDate, endDate)

Retorna o número de limites de ticks entre as datas especificadas.

Os operandos são:

1 - o valor Datainicial é a data de início.

2 - o valor Datafim é a data final.

Exemplo: DateDiffTick([StartTime], [FinishTime]) → Retorna o numero de ticks (Grupo de 100 nanossegundos) entre a data de inicio (StartTime) e data final (FinishTime)

DateDiffYear(startDate, endDate)

Retorna o número de limites de anos entre as datas especificadas.

Os operandos são:

1 - o valor Datainicial é a data de início.

2 - o valor Datafim é a data final.

Exemplo: DateDiffYear([StartDate], [FinishDate]) → Retorna o numero de anos entre a data de inicio (StartDate) e data final (FinishDate)


DateTimeFromParts(Ano, Mês, Dia, Hora, Minuto, Segundo, Milissegundo)

Retorna um valor de data construído a partir do Ano, Mês, Dia, Hora, Minuto, Segundo e Milissegundo especificados.

Os operandos são:

1 - (Obrigatório) - um valor inteiro que é o valor do ano completo (quatro dígitos, século incluído).

2 - (Obrigatório) - um valor inteiro que é o número do mês (1-12).

3 - (Obrigatório) - um valor inteiro que é o dia do mês (1-31).

4 - (Opcional) - um valor de hora no formato de 24 horas (0-23).

5 - (Opcional) - um valor de minuto (0-59).

6 - (Opcional) - um segundo valor (0-59).

7 - (Opcional) - um valor em milissegundos.

Exemplo: DateTimeFromParts(2018, 5, 5, 20) → Retorna a data 05/05/2018 20:00:00


GetDate(DateTime)


Retorna a parte da data desconsiderando os horas, minutos, segundos de uma data especificada.

O operando deve ser do tipo DateTime .

O valor de retorno é um objeto DateTime com a mesma parte de data. O horário é 00:00:00.

Exemplo: GetDate(01-05-2024 08:33:21) → Retorna a data 01-05-2024 00:00:00


GetDay(DateTime)

Obtém o dia do mês na data especificada.

O operando deve ser do tipo DateTime .

O valor de retorno é um número inteiro no intervalo entre 1 e 31.

Exemplo: GetDay([OrderDate]) → Retornará o dia da Ordem, ex.: 28


GetDayOfWeek(DateTime)

Obtém o dia da semana na data especificada.

O operando deve ser do tipo DateTime .

O valor de retorno é um valor inteiro da enumeração Dia da Semana (0 a 6) . Não depende da cultura atual.

Exemplo: GetDayOfWeek([OrderDate])


GetDayOfYear(DateTime)

Obtém o dia do ano na data especificada.

O operando deve ser do tipo DateTime .

O valor de retorno é um número inteiro no intervalo entre 1 e 366.

Exemplo: GetDayOfYear([OrderDate])


GetHour(DateTime)

Retorna o valor das horas na data especificada.

O operando deve ser do tipo DateTime .

O valor de retorno é um número inteiro no intervalo entre 0 e 23.

Exemplo: GetHour([StartTime])


GetMilliSecond(DateTime)

Retorna o valor em milissegundos na data especificada.

O operando deve ser do tipo DateTime .

O valor de retorno é um número inteiro no intervalo entre 0 e 999.

Exemplo: GetMilliSecond([StartTime])


GetMinute(DateTime)

Retorna o valor dos minutos na data especificada.

O operando deve ser do tipo DateTime .

O valor de retorno é um número inteiro no intervalo entre 0 e 59.

Exemplo: GetMinute([StartTime])


GetMonth(DateTime)

Obtém o mês na data especificada.

O operando deve ser do tipo DateTime .

O valor de retorno é um número inteiro e depende do calendário atual.

Exemplo: GetMonth([StartTime])


GetSecond(DateTime)

Retorna o valor dos segundos na data especificada.

O operando deve ser do tipo DateTime .

O valor de retorno é um número inteiro no intervalo entre 0 e 59.

Exemplo: GetSecond([StartTime])


GetTimeOfDay(DateTime)

Obtém a parte da hora da data especificada.

O operando deve ser do tipo DateTime .

O valor de retorno é o objeto Int64 que é o número de ticks de 100 nanossegundos decorridos desde a meia-noite.

Exemplo: GetTimeOfDay([StartTime])


GetYear(DateTime)

Obtém o ano na data especificada.

O operando deve ser do tipo DateTime .

O valor de retorno é um número inteiro no intervalo entre 1 e 9999.

Exemplo: GetYear([StartTime])


InDateRange(DataHora1, DataHora2, DataHora3)

Exemplo: InDateRange([OrderDate], #2022-01-01 00:00:00#, #2022-12-31 23:59:59#)


IsApril(DateTime)

Retorna True se a data especificada estiver dentro de abril.

Exemplo: IsApril([OrderDate])


IsAugust(DateTime)

Retorna True se a data especificada estiver dentro de agosto.

Exemplo: IsAugust([OrderDate])


IsDecember(DateTime)

Retorna True se a data especificada estiver dentro de dezembro.

Exemplo: IsDecember([OrderDate])


IsFebruary(DateTime)

Retorna True se a data especificada estiver dentro de fevereiro.

Exemplo: IsFebruary([OrderDate])


IsJanuary(DateTime)

Retorna True se a data especificada estiver dentro de janeiro.

Exemplo: IsJanuary([OrderDate])


IsJuly(DateTime)

Retorna True se a data especificada estiver dentro de julho.

Exemplo: IsJuly([OrderDate])


IsJune(DateTime)

Retorna True se a data especificada estiver dentro de junho.

Exemplo: IsJune([OrderDate])


IsLastMonth(DateTime)

Retorna True se a data especificada estiver no mês anterior.

Exemplo: IsLastMonth([OrderDate])


IsLastYear(DateTime)

Retorna True se a data especificada estiver no ano anterior.

Exemplo: IsLastYear([OrderDate])


IsMarch(DateTime)

Retorna True se a data especificada estiver dentro de março.

Exemplo: IsMarch([OrderDate])


IsMay(DateTime)

Retorna True se a data especificada estiver dentro de maio.

Exemplo: IsMay([OrderDate])


IsNextMonth(DateTime)

Retorna True se a data especificada estiver no próximo mês.

Exemplo: IsNextMonth([OrderDate])


IsNextYear(DateTime)

Retorna True se a data especificada estiver no próximo ano.

Exemplo: IsNextYear([OrderDate])


IsNovember(DateTime)

Retorna True se a data especificada estiver dentro de novembro.

Exemplo: IsNovember([OrderDate])


IsOctober(DateTime)

Retorna True se a data especificada estiver dentro de outubro.

Exemplo: IsOctober([OrderDate])


IsSameDay(DateTime)

Retorna True se os valores de data/hora especificados estiverem no mesmo dia.

Exemplo: IsSameDay([OrderDate])


IsSeptember(DateTime)

Retorna True se a data especificada estiver dentro de setembro.

Exemplo: IsSeptember([OrderDate])


IsThisMonth(DateTime)

Retorna True se a data especificada estiver dentro do mês atual.

Para criar o operador IsThisMonth usando o método CriteriaOperator.Parse, use a seguinte sintaxe: CriteriaOperator.Parse(“IsThisMonth(StartDate)”) .

Exemplo: IsThisMonth([OrderDate])


IsThisWeek(DateTime)

Retorna True se a data especificada estiver na semana atual.

Exemplo: IsThisWeek([OrderDate])


IsYearToDate(DateTime)

Retorna True se a data especificada estiver dentro do período que começa no primeiro dia do ano atual e continua até a data atual (incluindo a data atual).

Exemplo: IsYearToDate([OrderDate])


IsThisYear(DateTime)

Retorna True se a data especificada estiver no ano atual.

Exemplo: IsThisYear([OrderDate])


LocalDateTimeDayAfterTomorrow()

Retorna o valor DateTime que possui a parte da data dois dias após a data atual e a parte da hora 00:00:00.

Exemplo: AddDays(LocalDateTimeDayAfterTomorrow(), 5)


LocalDateTimeLastMonth()

Retorna o valor DateTime que possui a parte da data um mês antes da data atual e a parte da hora 00:00:00.

Exemplo: AddMonths(LocalDateTimeLastMonth(), 5)


LocalDateTimeLastWeek()

Retorna o valor DateTime que possui a parte da data 7 dias antes do início da semana atual e a parte da hora 00:00:00.

Exemplo: AddDays(LocalDateTimeLastWeek(), 5)


LocalDateTimeLastYear()

Retorna o valor DateTime que possui a parte da data que é o primeiro dia do ano anterior e a parte da hora 00:00:00.

Exemplo: AddYears(LocalDateTimeLastYear(), 5)


LocalDateTimeNextMonth()

Retorna o valor DateTime que possui a parte da data que é o primeiro dia do próximo mês e a parte da hora 00:00:00.

Exemplo: AddMonths(LocalDateTimeNextMonth(), 5)


LocalDateTimeNextWeek()

Retorna o valor DateTime que possui a parte da data 7 dias após o início da semana atual e a parte da hora 00:00:00.

Exemplo: AddDays(LocalDateTimeNextWeek(), 5)


LocalDateTimeNextYear()

Retorna o valor DateTime com a parte da data que corresponde ao primeiro dia do próximo ano e a parte da hora 00:00:00.

Exemplo: AddYears(LocalDateTimeNextYear(), 5)


LocalDateTimeNow()

Retorna o valor DateTime que é o momento atual.

Exemplo: AddDays(LocalDateTimeNow(), 5)


LocalDateTimeThisMonth()

Retorna o valor DateTime com a parte da data que é o primeiro dia do mês atual e a parte da hora 00:00:00.

Exemplo: AddMonths(LocalDateTimeThisMonth(), 5)


LocalDateTimeThisWeek()

Retorna o valor DateTime com a parte da data que é o primeiro dia da semana atual e a parte da hora 00:00:00.

Exemplo: AddDays(LocalDateTimeThisWeek(), 5)


LocalDateTimeThisYear()

Retorna o valor DateTime com a parte da data que é o primeiro dia do ano atual e a parte da hora 00:00:00.

Exemplo: AddYears(LocalDateTimeThisYear(), 5)


LocalDateTimeToday()

Retorna o valor DateTime com a parte da data que é o início do dia atual e a parte da hora 00:00:00.

Exemplo: AddDays(LocalDateTimeToday(), 5)


LocalDateTimeTomorrow()

Retorna o valor DateTime com a parte da data que é o dia seguinte e a parte da hora 00:00:00.

Exemplo: AddDays(LocalDateTimeTomorrow(), 5)


LocalDateTimeTwoMonthsAway()

Retorna o valor DateTime com a parte da data que é o primeiro dia do mês após o mês seguinte e a parte da hora 00:00:00.

Exemplo: AddMonths(LocalDateTimeTwoMonthAway(), 5)


LocalDateTimeTwoWeeksAway()

Retorna o valor DateTime com a parte da data que é o primeiro dia da semana após a semana seguinte e a parte da hora 00:00:00.

Exemplo: AddDays(LocalDateTimeTwoWeeksAway(), 5)


LocalDateTimeTwoYearsAway()

Retorna o valor DateTime com a parte da data que é o primeiro dia do ano após o ano seguinte e a parte da hora 00:00:00.

Exemplo: AddYears(LocalDateTimeTwoYearsAway(), 5)


LocalDateTimeYearBeforeToday()

Retorna o valor DateTime com a parte da data que é a data de um ano atrás e a parte da hora de 00:00:00.

Exemplo: AddYears(LocalDateTimeYearBeforeToday(), 5)


LocalDateTimeYesterday()

Retorna o valor DateTime com a parte da data que é o dia anterior e a parte da hora 00:00:00.

Exemplo: AddDays(LocalDateTimeYesterday(), 5)


Now()

Retorna o valor DateTime que é a data e hora atuais.

Exemplo: AddDays(Now(), 5)


Today()

Retorna um valor DateTime que é a data atual. A parte horária está definida como 00:00:00.

Exemplo: AddMonths(Today(), 1)


UtcNow()

Retorna um objeto DateTime que é a data e hora atuais no Tempo Universal Coordenado (UTC).

Exemplo: AddDays(UtcNow(), 7)


Lógico


Iif(Expressão1, True_Value1,…, ExpressãoN, True_ValueN, False_Value)

Retorna um dos valores especificados dependendo dos valores das expressões lógicas.

A função pode receber 2N+1 argumentos (onde N é o número de expressões lógicas especificadas):

  • Cada argumento ímpar especifica uma expressão lógica.

  • Cada argumento par especifica o valor retornado se a expressão anterior for avaliada como True.

  • O último argumento especifica o valor que será retornado se as expressões lógicas avaliadas anteriormente produzirem False.

  • Se você passar apenas um argumento, o argumento passado será retornado.

  • Se você comparar 0 (zero) com um valor Nulo, a expressão será avaliada como True.

Exemplos:

Iif(Name = 'Bob', 1, 0)

Iif(Name = 'Bob', 1, Name = 'Dan', 2, Name = 'Sam', 3, 0)


InRange(Valor1, Valor2, Valor3)

Exemplo: InRange([ProductPrice], 10.00, 50.00)


IsNull(Value)

Compara o primeiro operando com o valor NULL.

Esta função requer um ou dois operandos da classe CriteriaOperator. O valor retornado depende do número de argumentos.

Se um único operando for passado, a função retornará True se o operando for nulo; caso contrário, nulo.

Se dois operandos forem passados, a função retornará o segundo operando se o primeiro operando for nulo. Caso contrário, a função retorna o primeiro operando.

Exemplo: IsNull([OrderDate])


IsNullOrEmpty(String)

Retorna True se o valor especificado for nulo ou uma string vazia. Caso contrário, retorna False.

Exemplo: IsNullOrEmpty([ProductName])


Matemática



String



Reporting



Resumo



TOTVS