Partilhar via


Funções do Designer de Modelo

Você pode usar as funções do Designer de Modelo de Relatórios para calcular novos atributos. Por exemplo, suponhamos que você queira saber as Vendas Totais por pedido de vendas. Este número consiste no valor das vendas acrescido pelos impostos pagos sobre o pedido. Usando a função Adicionar, é possível adicionar cada total das vendas ao imposto pago para cada pedido. A lista a seguir descreve as funções disponíveis, suas exigências e seus comportamentos.

Funções Escalares

Usando as funções escalares, é possível realizar cálculos em um único argumento para retornar um único valor no campo.

Nome da função

Argumento

DataType

Cardinalidade

Descrição

Adicionar

Item1

Numérico

1

Primeiro item a adicionar.

Item2

Numérico

1

Segundo item a adicionar.

Retorno

O tipo é Flutuante se o item for Flutuante, caso contrário, Decimal se um item for Decimal; caso contrário, Inteiro.

Subtrair

Item1

Numérico

1

Item do qual subtrair.

Item2

Numérico

1

Item a subtrair.

Retorno

O tipo é Flutuante se o item for Flutuante, caso contrário, Decimal se um item for Decimal; caso contrário, Inteiro.

Multiplicar

Item1

Numérico

1

Primeiro item a multiplicar.

Item2

Numérico

1

Segundo item a multiplicar.

Retorno

O tipo é Flutuante se o item for Flutuante, caso contrário, Decimal se um item for Decimal; caso contrário, Inteiro.

Dividir

Item1

Numérico

1

Item para ser dividido.

Item2

Numérico

1

Item pelo qual dividir.

Retorno

O tipo é Flutuante se um item for Flutuante, caso contrário Decimal.

Potência

Base

Numérico

1

Base para levar a uma potência.

Expoente

Numérico

1

O expoente.

Retorno

O tipo é Flutuante se o item for Flutuante, caso contrário, Decimal se um item for Decimal; caso contrário, Inteiro.

Negar

Item

Numérico

1

Item para negar.

Retorno

O tipo é igual ao Item.

Mod

Item1

Inteiro

1

Item para ser dividido.

Item2

Inteiro

1

Item pelo qual dividir.

Retorno

Número inteiro

O resto da divisão

Igual a

Item1

Booleano, DateTime, Inteiro, Decimal, Flutuante, Cadeia de Caracteres ou EntityKey

1

Primeiro item a comparar.

Item2

1

Segundo item a comparar. Os itens 1 e 2 devem ter o mesmo tipo de dados.

Retorno

Booleano

Indica se os itens são os mesmos.

NotEquals

Item1

Booleano, DateTime, Inteiro, Decimal, Flutuante, Cadeia de Caracteres ou EntityKey

1

Primeiro item a comparar.

Item2

1

Segundo item a comparar. Os itens 1 e 2 devem ser do mesmo tipo de dados.

Retorno

Booleano

Indica se os itens não são os mesmos.

GreaterThan

Item1

DateTime, Inteiro, Decimal, Flutuante ou Cadeia de Caracteres

1

Primeiro item a comparar.

Item2

1

Segundo item a comparar. Os itens 1 e 2 devem ser do mesmo tipo de dados.

Retorno

Booleano

Indica se o primeiro item é maior que o segundo item.

GreaterThanOrEquals

Item1

DateTime, Inteiro, Decimal, Flutuante ou Cadeia de Caracteres

1

Primeiro item a comparar.

Item2

1

Segundo item a comparar. Os itens 1 e 2 devem ser do mesmo tipo de dados.

Retorno

Booleano

Indica se o primeiro item é maior que ou igual ao segundo item.

LessThan

Item1

DateTime, Inteiro, Decimal, Flutuante ou Cadeia de Caracteres

1

Primeiro item a comparar.

Item2

1

Segundo item a comparar. Os Item1 e Item2 devem ser do mesmo tipo de dados.

Retorno

Booleano

Indica se o primeiro item é menor que o segundo item.

LessThanOrEquals

Item1

DateTime, Inteiro, Decimal, Flutuante ou Cadeia de Caracteres

1

Primeiro item a comparar.

Item2

1

Segundo item a comparar. Os Item1 e Item2 devem ser do mesmo tipo de dados.

Retorno

Booleano

Indica se o primeiro item é menor que ou igual ao segundo item.

e

Item1

Booleano

1

Primeira condição.

Item2

Booleano

1

Segunda condição. Se Item1 for falso, Item2 não será avaliado.

Retorno

Booleano

Se Item1 e Item2 forem true, o valor do Retorno será true.

ou

Item1

Booleano

1

Primeira condição.

Item2

Booleano

1

Segunda condição. Se Item1 for true, Item2 não será avaliado.

Retorno

Booleano

Se Item1 ou Item2 forem true, o valor do Retorno será true.

Não

Item

Booleano

1

Condição para negar.

Retorno

Booleano

Se Item for false, o valor do Retorno será true.

Truncamento

Item

Decimal ou Flutuante

1

Item a truncar.

Dígitos

Inteiro

1

Número de dígitos decimais para os quais o item deverá ser truncado. Por exemplo, especifique três para truncar o item após o terceiro dígito à direita do decimal.

Retorno

O tipo de valor do Retorno é igual ao item sendo truncado.

Arredondamento

Item

Decimal ou Flutuante

1

Item a arredondar.

Dígitos

Inteiro

1

Número de dígitos decimais para os quais o item deverá ser arredondado. Por exemplo, especifique três para arredondar o item ao terceiro dígito à direita do decimal.

Retorno

O tipo de valor do Retorno é igual ao item sendo arredondado.

Inteiro

Item

Numérico ou Cadeia de Caracteres

1

Item a converter. No Construtor de Relatórios, o Inteiro está listado na guia de Função como INT.

Retorno

Inteiro

O item convertido como um inteiro. Se o item for um valor numérico, ele será truncado. Observe que a localidade invariável é usada para converter cadeias de caracteres numéricas. Um ponto é o separador decimal. A vírgula usada para separar os milhares não é permitida.

Decimal

Item

Numérico ou Cadeia de Caracteres

1

Item a converter.

Retorno

Decimal

O item convertido como um decimal.

Valor Flutuante

Item

Numérico ou Cadeia de Caracteres

1

Item a converter.

Retorno

Valor Flutuante

O item convertido como um valor flutuante.

Cadeia de Caracteres

Item

Numérico

1

Item a converter. No Construtor de Relatórios, a Cadeia de Caracteres está listada na guia de Função como TEXT.

Retorno

Cadeia de caracteres

Item a converter como cadeia de caracteres.

Comprimento

Cadeia de caracteres

Cadeia de caracteres

1

Cadeia de Caracteres usada para determinar o comprimento.

Retorno

Inteiro

Comprimento da cadeia de caracteres, especificado como o número de caracteres dentro da cadeia de caracteres.

Localizar

Cadeia de caracteres

Cadeia de caracteres

1

Cadeia de caracteres pesquisada para uma cadeia de caracteres contida.

Subcadeia de caracteres

Cadeia de Caracteres

1

A subcadeia de caracteres a ser pesquisada.

Retorno

Inteiro

Posição da primeira instância de uma subcadeia de caracteres dentro da cadeia de caracteres. Se a subcadeia de caracteres não for localizada, será retornado um zero.

Subcadeia de caracteres

Cadeia de caracteres

Cadeia de caracteres

1

Cadeia de caracteres da qual é extraída uma subcadeia.

Iniciar

Inteiro

1

Posição inicial dentro da cadeia de caracteres (base-1).

Comprimento

Inteiro

1

Número de caracteres.

Retorno

Cadeia de caracteres

A subcadeia de caracteres extraída da cadeia de caracteres que contém os caracteres do Iniciar até Start+Length.

Esquerda

Cadeia de Caracteres

Cadeia de caracteres

1

Cadeia de caracteres da qual serão obtidos os caracteres mais à esquerda.

Comprimento

Inteiro

1

Número de caracteres.

Retorno

Cadeia de caracteres

A subcadeia da cadeia de caracteres que contém os caracteres de 1 para Comprimento.

Direita

Cadeia de Caracteres

Cadeia de Caracteres

1

Cadeia de caracteres da qual serão obtidos os caracteres mais à direita.

Comprimento

Inteiro

1

Número de caracteres.

Retorno

Cadeia de caracteres

A subcadeia da cadeia de caracteres de Length(String)-Length+1 até Length(String).

Concat

Cadeia de caracteres1

Cadeia de caracteres

1

Primeira cadeia de caracteres a concatenar.

Cadeira de caracteres2

Cadeia de Caracteres

1

Segunda cadeia de caracteres a concatenar.

Retorno

Cadeia de caracteres

A segunda cadeia de caracteres concatenada ao final da primeira cadeia de caracteres.

Minúsculos

Cadeia de Caracteres

Cadeia de caracteres

1

Cadeia de caracteres a converter para minúsculos.

Retorno

Cadeia de caracteres

Cadeia de caracteres com todos os caracteres maiúsculos convertidos em minúsculos.

Maiúsculos

Cadeia de caracteres

Cadeia de caracteres

1

Cadeia de caracteres a converter para maiúsculos.

Retorno

Cadeia de caracteres

Cadeia de caracteres com todos os caracteres minúsculos convertidos em maiúsculos.

LTrim

Cadeia de caracteres

Cadeia de Caracteres

1

Cadeia de caracteres da qual os espaços à esquerda devem ser removidos.

Retorno

Cadeia de caracteres

Cadeia de caracteres com todos os espaços à esquerda removidos.

RTrim

Cadeia de caracteres

Cadeia de caracteres

1

Cadeia de caracteres da qual os espaços à direita devem ser removidos.

Retorno

Cadeia de caracteres

Cadeia de caracteres com todos os espaços à direita removidos.

Substituir

Cadeia de caracteres

Cadeia de caracteres

1

Cadeia de caracteres na qual todas as instâncias de uma subcadeia devem ser substituídas por outras.

Localizar

Cadeia de caracteres

1

A subcadeia de caracteres a ser pesquisada.

Substituir

Cadeia de caracteres

1

A subcadeia de caracteres que substitui a cadeia Localizar.

Retorno

Cadeia de caracteres

Cadeia de caracteres com todas as instância de Localizar substituídas por Substituir.

Data

Ano

Inteiro

1

Ano da data.

Mês

Inteiro

1

Mês (1-12) da data.

Dia

Inteiro

1

Dia (1-31) da data que deve ser um dia válido do mês e ano especificados.

Retorno

DateTime

Uma data e hora com um determinado ano, mês e dia às 00:00:00 AM.

DateTime

Ano

Inteiro

1

Ano da data.

Mês

Inteiro

1

Mês (1-12) da data.

Dia

Inteiro

1

Dia (1-31) da data que deve ser um dia válido do mês e ano especificados.

Hora

Inteiro

1

Hora (0-23) para a hora.

Minuto

Inteiro

1

Minuto (0-59) da hora.

Segundo

Decimal

1

Segundo (0-60) da hora.

Retorno

DateTime

Uma data e hora com o ano, mês, dia, hora, minuto e segundo especificados.

Hora

DateTime

DateTime

1

Datetime do qual extrair a hora. Retorna a hora, minuto e segundo de um valor datetime.

Retorno

Hora

Hora do datetime.

Ano

DateTime

DateTime

1

Data da qual o ano é extraído.

Retorno

Inteiro

Ano do datetime.

Trimestre

DateTime

DateTime

1

Data da qual o trimestre é extraído.

Retorno

Inteiro

Trimestre (1 a 4) do datetime.

Mês

DateTime

DateTime

1

Data da qual o mês é extraído.

Retorno

Inteiro

Mês (1 a 12) do datetime.

Dia

DateTime

DateTime

1

Data da qual o dia é extraído.

Retorno

Inteiro

Dia (1 a 31) do datetime.

Hora

DateTime

DateTime ou Hora

1

Data ou hora de onde a hora é extraída.

Retorno

Inteiro

Hora (0 a 23) do datetime.

Minuto

DateTime

DateTime ou Hora

1

Data ou hora de onde o minuto é extraído.

Retorno

Inteiro

Minuto (0 a 59) do datetime.

Segundo

DateTime

DateTime ou Hora

1

Data ou hora de onde o segundo é extraído.

Retorno

Inteiro

Segundo (0 a 60) do datetime.

DayofYear

DateTime

DateTime

1

Data da qual o dia do ano é extraído.

Retorno

Inteiro

Dia do ano (1-366) do datetime.

Semana

DateTime

DateTime

1

Date da qual a semana é extraída.

Retorno

Inteiro

Semana (1 a 53) do datetime. O primeiro dia da semana é definido por padrão como sendo o primeiro dia da semana associado com a cultura do modelo semântico.

DayofWeek

DateTime

DateTime

1

Data da qual o dia da semana é extraído.

Retorno

Inteiro

Dia da semana (1-7) do datetime. Os valores iniciam-se com Segunda-Feira =1 até Domingo=7.

Data

DateTime

DateTime

1

Data da qual a hora dever ser removida. No Construtor de Relatórios, esta função Data está listada na guia Função como DATEONLY.

Retorno

Inteiro

Datetime com a hora desmarcada (00:00:00).

Agora

Retorno

DateTime

Data e hora atuais Agora é uma função estática.

Hoje

Retorno

DateTime

Data/hora atual com a hora desmarcada (00:00:00). Hoje é uma função estática.

DateDiff

Intervalo

Cadeia de Caracteres

1

As unidades usadas para especificar a diferença de data. Deve ser um do seguinte: Ano, Trimestre, Mês, Dia, Hora, Minuto, Segundo ou Semana. Deve ser um literal. Se a fórmula calcula a diferença entre a hora de início e a hora de término, a unidade do intervalo só pode ser HORA, MINUTO ou SEGUNDO.

Iniciar

DateTime ou Hora

1

A data de início ou hora.

Término

DateTime ou Hora

1

A data de término ou hora. Deve ter o mesmo tipo de dados como a hora de início.

Retorno

Inteiro

A diferença entre o datetime de Início e o datetime de Término, nas mesmas unidades especificadas no Intervalo. Se o datetime de início for após o datetime de término, o resultado será negativo.

DateAdd

Intervalo

Cadeia de caracteres

1

As unidades usadas para especificar a adição de data ou de hora. Deve ser um dos seguintes: Ano, Trimestre, Mês, Dia, Hora, Minuto, Segundo ou Semana. Deve ser um literal. Se a fórmula adiciona um número de unidades de intervalo de hora para uma hora de início, a unidade de intervalo só pode ser HORA, MINUTO ou SEGUNDO.

Número

Inteiro

1

O número de unidades de Intervalo para acrescentar à data ou hora.

DateTime

DateTime ou Hora

1

A data ou hora a ser adicionada.

Retorno

DateTime

A data ou hora é o resultado da adição de um número especificado de unidades de Intervalo à data ou hora originais. Deve ter o mesmo tipo de dados como o datetime de início ou o campo de hora originais.

Funções de agregação

Usando as funções de agregação é possível para realizar cálculos em um valor único ou um conjunto de valores e retornar um valor único para uma fórmula.

Nome da função

Argumento

DataType

Cardinalidade

Descrição

Soma

Itens

Numérico

N

Itens a somar.

Retorno

1

A soma de valores para todos os itens. O valor de retorno é o mesmo tipo de dados que o tipo de dados de itens.

Avg

Itens

Numérico

N

Itens para calcular a média. No Construtor de Relatórios, Avg. está listado na guia de Função como AVERAGE.

Retorno

1

A média de valores não nulos dos Itens. O tipo de dados será Decimal se os itens forem Decimais ou Inteiros, caso contrário, Flutuantes.

Max

Itens

DateTime, Inteiro, Decimal, Flutuante ou Cadeia de Caracteres

N

Itens classificados para determinar o máximo.

Retorno

1

O máximo de valores não nulos do item. O valor de retorno é o mesmo tipo de dados que o tipo de dados de itens.

Min

Itens

DateTime, Inteiro, Decimal, Flutuante ou Cadeia de Caracteres

N

Itens classificados para determinar o mínimo.

Retorno

1

O mínimo de valores não nulos dos Itens. O valor de retorno é o mesmo tipo de dados que o tipo de dados de itens.

Contagem

Itens

Qualquer

N

Itens a serem contados.

Retorno

Inteiro

1

A contagem de valores não nulos dos Itens.

CountDistinct

Itens

Qualquer

N

Itens a serem contados. O tipo de dados dos itens não pode ser EntityKey.

Retorno

Inteiro

1

A contagem de valores não nulos distintos dos Itens.

STDev

Itens

Numérico

N

Itens usados para determinar o desvio padrão.

Retorno

Valor Flutuante

1

O desvio padrão de valores não nulos dos Itens.

STDevP

Itens

Numérico

N

Itens usados para determinar o desvio padrão de população.

Retorno

Valor Flutuante

1

O desvio padrão de população de valores não nulos dos Itens.

Var

Itens

Numérico

N

Itens usados para determinar a variação.

Retorno

Valor Flutuante

1

A variação de valores não nulos dos Itens.

VarP

Itens

Numérico

N

Itens usados para determinar a variação de população.

Retorno

Valor Flutuante

1

A variação de população de valores não nulos dos Itens.

Funções informativas

Usando as funções informativas, você pode adquirir informações básicas sobre seus usuários.

Nome da função

Argumento

DataType

Cardinalidade

Descrição

GetUserID

Retorno

Cadeia de caracteres

1

A Identificação de usuário do usuário. GetUserID é uma função estática.

GetUserCulture

Retorno

Idioma

1

O idioma ou a localidade do usuário. GetUserCulture é uma função estática.

Outras funções

Além das funções discutidas acima, as funções a seguir são usadas na Linguagem SMDL.

Nome da função

Argumento

DataType

Cardinalidade

Descrição

Filtro

Itens de filtragem

Qualquer

N

Os valores a serem filtrados. Use a caixa de diálogo Filtro para filtrar itens.

Condições de filtro

Booleano

1

Indica se a instância correspondente deve ser incluída.

Retorno

N

O tipo de dados do valor de retorno é o mesmo que os Itens do Filtro.

Em

Item

Booleano, DateTime, Inteiro, Decimal, Flutuante, Cadeia de Caracteres ou EntityKey

1

O item a ser verificado para a associação definida.

Definição

N

Este deve ser uma expressão Literal sem Caminho. O Item e a Definição devem ter o mesmo tipo de dados.

Retorno

Booleano

1

Indica se o item está na definição.

Se

Condição

Booleano

1

Condição para testar.

TrueCase

Qualquer

1

Valor a ser retornado se a condição for verdadeira. Se a condição for falsa, TrueCase não será avaliado. Não pode ser um tipo de dados EntityKey.

FalseCase

Qualquer

1

Valor a ser retornado se a condição for falsa. FalseCase deve ter o mesmo tipo de valor que o TrueCase. Se a condição for verdadeira, FalseCase não será avaliado.

Retorno

1

O tipo deve estar igual ao TrueCase.

Alternar

Condição1

Booleano

1

Condição a ser testada. O item Alternar pode ter um zero ou mais pares de condição/valor adicionais.

Valor1

Qualquer

1

Valor a ser retornado se a condição1 for verdadeira.

Condição/N

Booleano

1

Condição a ser testada. Não avaliado se qualquer condição anterior for verdadeira.

Valor/N

Booleano

1

Valor a ser retornado se a Condição/N for verdadeira. Deve ter o mesmo tipo de dados do Valor1. Não avaliado se a Condição/N não for avaliada ou se Condição/N for falsa.

Retorno

Booleano

1

O tipo é o mesmo do Valor1. Retornará Null se todas as condições forem falsas.

Avaliar

Expressão

Qualquer

N

A expressão a ser avaliada. Esta função é usada para controlar o contexto de entidade no qual uma expressão é avaliada. Por exemplo, a expressão a seguir calcula a média dos preços para cada produto distinto que o cliente solicitou:

Avg([o cliente ->ordem ->produto]Preço).

A expressão a seguir calcula a média dos preços (obtidos da entidade de produtos) para cada pedido que o cliente fez:

Avg([o cliente ->ordem]Avaliar([ordem ->produto]Preço)).

Existem vários pontos em um caminho onde o local da avaliação pode controlar a distinção de uma agregação, vários usos independentes do item Avaliar são possíveis. A seguir um exemplo dos vários usos independentes do item Avaliar em um modelo onde cada produto podem ser produzido por vários fabricantes:

Média([o cliente->ordem]Avaliar([ordem->produto]Avaliar ([produto->fabricante ->cidade] população)))

Retorno

N

O tipo é o mesmo da expressão.

Agregar

Expressão

Qualquer

N

A expressão agregar a ser avaliada. Esta função é usada para controlar o contexto de entidade no qual uma agregação é avaliada. Por exemplo, considere um atributo TotalSales definido em uma entidade de ordem. A expressão para mostrar as vendas totais dentro do contexto de uma ordem é simplesmente: TotalSales. A expressão para calcular as vendas totais dentro do contexto de um cliente seria:

Aggregate([customer->order]TotalSales).

O argumento da expressão deve conter uma expressão não ancorada ou uma ou mais funções aninhadas de passagem (que deve aceitar qualquer tipo de dados), onde o argumento de passagem interno tem um ExpressionNode não ancorado. Por exemplo,

Aggregate([customer->order]Filter([order->product]Sum(UnitPrice),=(Shipped, "True")).

Retorno

1

O tipo é o mesmo da expressão.