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. |