- Criado por Carlos Philippe de Farias Marques, última alteração por Samuel Rener Santos Silva_ em 14 set, 2021
Índice:
Expressão (Entendendo as Propriedades)
O componente expressão tem várias propriedades, e o entendimento das mesmas é necessário para uma correta configuração do componente.
Propriedades Presentes na Smart Tag
Ao adicionar um componente Expressão, o usuário observará uma pequena seta do lado direito superior do componente. A clicar na seta, uma pequena janela será mostrada com algumas propriedades, essas propriedades são muito importantes para a correta configuração do componente.
Essas propriedades são:
N° | Nome | Versão | Descrição |
---|---|---|---|
1 | Expressão | 12.1.x | Define a expressão que será validada e executada pelo "motor" do relatório, afim de apresentar um valor. |
2 | Formato | 12.1.x | Formata o valor final gerado pelo componente expressão. |
3 | Arredondar Valor | 12.1.15 (ou superiores) | Arredondamento facultativo do valor após a aplicação da formatação. (Valor Padrão: Campo Marcado) |
Propriedade Expressão
Ao clicar no botão [...] do lado direito da caixa de texto, vinculados a propriedade Expressão, uma tela será apresentada:
Nela temos duas funcionalidades:
N° | Nome | Versão | Descrição |
---|---|---|---|
1 | Funções | 12.1.x | Dispõe de diversas funções, que varia de Lógicas a Estatísticas, para facilitar a construção de uma expressão. |
2 | Parâmetros | 12.1.x | Dispõe de componentes do relatório, campos da base e campos de consultas SQL, para tornar a expressão mais dinâmica. |
Funcionalidade Funções
As funções disponíveis são:
- Comandos lógicos;
- Apresentação de resultado conforme condições.
Funções Disponíveis:
N° | Nome | Parâmetros | Descrição | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | If |
|
Promove resultado condicional, ou seja, pode ser apresentado um resultado definido como verdadeiro, ou pode ser apresentado um resultado definido como falso. Assinaturas Possíveis:
|
- Comandos de conversão;
- Realiza a conversão de tipos;
- Necessário para o bom funcionamento caso se utilize como parâmetro de outras funções.
Funções Disponíveis:
N° | Nome | Parâmetros | Descrição | ||||||
---|---|---|---|---|---|---|---|---|---|
1 | Boolean |
|
Converte um objeto em um valor lógico. Assinaturas Possíveis:
|
||||||
2 | DateTime |
|
Converte um objeto em um valor Data/Hora. Assinaturas Possíveis:
|
||||||
3 | Decimal |
|
Converte um objeto em um valor numérico decimal (fracionário ou não). Assinaturas Possíveis:
|
||||||
4 | Enum |
|
Converte um objeto em um valor Enumerado . Assinaturas Possíveis:
|
||||||
5 | Integer |
|
Converte um objeto em um valor inteiro. Assinaturas Possíveis:
|
||||||
6 | Object |
|
Converte qualquer outro tipo em um objeto. Assinaturas Possíveis:
|
||||||
7 | String |
|
Converte um objeto em um valor alfanumérico . Assinaturas Possíveis:
|
- Comandos matemáticos;
- Permite arredondamentos, truncamentos, calculo com ângulos, etc...
Funções Disponíveis:
Nº | Nome | Parâmetro | Descrição | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | Trunc |
|
Retorna o numero informado truncado, ou seja, retorna a parte inteira de um numero, a parte fracionária é descartada. Assinaturas Possíveis:
|
|||||||||
2 | Round |
|
Retorna o valor informado arredondado. Assinaturas Possíveis:
|
|||||||||
3 | ArcTan |
|
Retorna o valor do ângulo para o valor da tangente informado. Assinaturas Possíveis:
|
|||||||||
4 | Cos |
|
Retorna o cosseno do ângulo informado. Assinaturas Possíveis:
|
|||||||||
5 | Exp |
|
Retorna o valor de e elevado a potência informada. Assinaturas Possíveis:
|
|||||||||
6 | Frac |
|
Retorna a parte fracionária de um numero informado. Assinaturas Possíveis:
|
|||||||||
7 | Int |
|
Retorna a parte inteira de um numero informado. Assinaturas Possíveis:
|
|||||||||
8 | Log |
|
Retorna o logaritmo do número informado. Assinaturas Possíveis:
|
|||||||||
9 | Sin |
|
Retorna o seno do ângulo informado. Assinaturas Possíveis:
|
|||||||||
10 | Sqr |
|
Retorna o número informado elevado ao quadrado. Assinaturas Possíveis:
|
|||||||||
11 | Sqrt |
|
Retorna a raiz quadrada do numero informado Assinaturas Possíveis:
|
|||||||||
12 | Abs |
|
Retorna o valor absoluto do número informado. Assinaturas Possíveis:
|
|||||||||
13 | Power |
|
Retorna um valor elevado a potência informada. Assinaturas Possíveis:
|
|||||||||
14 | Random |
|
Retorna um valor aleatório. Assinaturas Possíveis:
|
- Comandos de Texto;
- Permite transformar os caracteres de uma cadeia de caracteres em maiúsculo, minusculo;
- Permite remover os espaços em branco tanto na frente quanto atrás da cadeia de caracteres;
- Permite remover caracteres da cadeia de caracteres, etc...
Funções Disponíveis:
N° | Nome | Parâmetros | Descrição | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | Upper |
|
Transforma o texto informado em maiúsculo. Assinaturas Possíveis:
|
||||||||||||||||||
2 | Lower |
|
Transforma o texto informado em minusculo. Assinaturas Possíveis:
|
||||||||||||||||||
3 | Length |
|
Retorna o tamanho do texto informado. Assinaturas Possíveis:
|
||||||||||||||||||
4 | Trim |
|
Retira os espaços em branco do inicio e fim do texto informado. Assinaturas Possíveis:
|
||||||||||||||||||
5 | TrimEnd |
|
Retira os espaços em branco do fim do texto informado. Assinaturas Possíveis:
|
||||||||||||||||||
6 | TrimStart |
|
Retira os espaços em branco do inicio do texto informado. Assinaturas Possíveis:
|
||||||||||||||||||
7 | IndexOf |
|
Retorna a primeira posição do texto 2 dentro do texto 1. Assinaturas Possíveis:
|
||||||||||||||||||
8 | LastIndexOf |
|
Retorna a ultima posição do texto 2 dentro do texto 1. Assinaturas Possíveis:
|
||||||||||||||||||
9 | PadLeft |
|
Alinha o texto informado a esquerda de acordo com o tamanho informado. Assinaturas Possíveis:
|
||||||||||||||||||
10 | PadRight |
|
Alinha o texto informado a direita de acordo com o tamanho informado. Assinaturas Possíveis:
|
||||||||||||||||||
11 | Remove |
|
Remove os caracteres do texto informado a partir da posição informada. Assinaturas Possíveis:
|
||||||||||||||||||
12 | SubString |
|
Retorna o sub-texto do texto informado a partir da posição informada. Assinaturas Possíveis:
|
||||||||||||||||||
13 | Replace |
|
Substitui a ocorrência de um texto por outro, dentro do texto informado. Assinaturas Possíveis:
|
||||||||||||||||||
14 | ReplaceAll |
|
Substitui todas as ocorrências de um texto por outro, dentro do texto informado. Assinaturas Possíveis:
|
||||||||||||||||||
15 | StringBetween |
|
Retorna o texto que está após o valor informado. Assinaturas Possíveis:
|
||||||||||||||||||
16 | Format |
|
Aplica a máscara de formatação em um objeto. Assinaturas Possíveis:
|
||||||||||||||||||
17 | Split |
|
Quebra um texto separado pelo separador informado e retorna um item do índice. Assinaturas Possíveis:
|
||||||||||||||||||
18 | Join |
|
Faz a união de dois valores usando o separador informado. Assinaturas Possíveis:
|
- Comandos de Data/Hora;
- Retorna data e hora de hoje, retorna dia da semana entre outros...
Funções Disponíveis:
N° | Nome | Parâmetros | Descrição | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | Today | Nenhum |
Data do Sistema Assinaturas Possíveis:
|
|||||||||
2 | Now | Nenhum |
Data/Hora do Sistema Assinaturas Possíveis:
|
|||||||||
3 | Day |
|
Retorna o dia da Data/Hora informada. Assinaturas Possíveis:
|
|||||||||
4 | Month |
|
Retorna o mês da Data/Hora informada. Assinaturas Possíveis:
|
|||||||||
5 | Year |
|
Retorna o ano da Data/Hora informada. Assinaturas Possíveis:
|
|||||||||
6 | Hour |
|
Retorna a hora da Data/Hora informada. Assinaturas Possíveis:
|
|||||||||
7 | Minute |
|
Retorna os minutos da Data/Hora informada. Assinaturas Possíveis:
|
|||||||||
8 | Second |
|
Retorna os segundos da Data/Hora informada. Assinaturas Possíveis:
|
|||||||||
9 | Millisecond |
|
Retorna os milissegundos da Data/Hora informada. Assinaturas Possíveis:
|
|||||||||
10 | DayOfWeek |
|
Retorna o dia da semana da Data/Hora informada. Assinaturas Possíveis:
|
|||||||||
11 | DayOfYear |
|
Retorna o dia do ano da Data/Hora informada. Assinaturas Possíveis:
|
|||||||||
12 | DaysBetween |
|
Retorna o número de dias entre as duas datas informadas. Assinaturas Possíveis:
|
|||||||||
13 | MonthsBetween |
|
Retorna o número de meses entre as duas datas informadas. Assinaturas Possíveis:
|
|||||||||
14 | AddDays |
|
Adiciona o número de dias especificados na data informada. Assinaturas Possíveis:
|
|||||||||
15 | AddMonths |
|
Adiciona o número de meses especificados na data informada. Assinaturas Possíveis:
|
|||||||||
16 | AddYears |
|
Adiciona o número de anos especificados na data informada. Assinaturas Possíveis:
|
|||||||||
17 | AddHours |
|
Adiciona o número de horas especificados na data informada. Assinaturas Possíveis:
|
|||||||||
18 | AddMinutes |
|
Adiciona o número de minutos especificados na data informada. Assinaturas Possíveis:
|
|||||||||
19 | AddSeconds |
|
Adiciona o número de segundos especificados na data informada. Assinaturas Possíveis:
|
|||||||||
20 | AddMilliseconds |
|
Adiciona o número de milisegundos especificados na data informada. Assinaturas Possíveis:
|
- Comandos Financeiros;
- Retorna Períodos de uma Anuidade, bem como valores futuros e juros incidentes sobre a mesma.
- Retorna Taxa de Retorno, VPL e Tempo de Payback de Lançamentos, entre outros...
Funções Disponíveis:
N° | Nome | Parâmetros | Descrição | |||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | FV |
|
Retorna o valor futuro de uma anuidade com pagamentos periódicos fixos. Assinaturas Possíveis:
|
|||||||||||||||||||||
2 | IPmt |
|
Retorna os juros pagos em uma anuidade com pagamentos periódicos fixos. Assinaturas Possíveis:
|
|||||||||||||||||||||
3 | NPer |
|
Retorna o número de períodos de uma anuidade com pagamentos periódicos fixos. Assinaturas Possíveis:
|
|||||||||||||||||||||
4 | Pmt |
|
Retorna o valor do pagamento por período de uma anuidade com pagamentos periódicos fixos. Assinaturas Possíveis:
|
|||||||||||||||||||||
5 | PPmt |
|
Retorna o valor do pagamento principal de uma anuidade com pagamentos periódicos fixos. Assinaturas Possíveis:
|
|||||||||||||||||||||
6 | PV |
|
Retorna o valor presente de uma anuidade com pagamentos periódicos fixos a ser paga no futuro. Assinaturas Possíveis:
|
|||||||||||||||||||||
7 | Rate |
|
Retorna a taxa de juros de uma anuidade com pagamentos periódicos fixos. Assinaturas Possíveis:
|
|||||||||||||||||||||
8 | ConvertRate |
|
Retorna a taxa de juros anual convertida para mensal. Assinaturas Possíveis:
|
|||||||||||||||||||||
9 | IRR |
|
Retorna a taxa interna de retorno para uma série de lançamentos. Assinaturas Possíveis:
|
|||||||||||||||||||||
10 | MIRR |
|
Retorna a taxa interna de retorno modificada para uma série de lançamentos. Assinaturas Possíveis:
|
|||||||||||||||||||||
11 | NPV |
|
Retorna o VPL para uma série de lançamentos. Assinaturas Possíveis:
|
|||||||||||||||||||||
12 | Payback |
|
Calcula o tempo de payback para uma série de lançamentos. Assinaturas Possíveis:
|
- Comandos Estatísticos;
- A partir de uma lista de objetos os comandos estatísticos retornam a quantidade de itens, a soma, a média, o mínimo e o máximo, entre outras operações com listas.
Funções Disponíveis:
N° | Nome | Parâmetros | Descrição | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | Sum |
|
Soma os valores de uma lista. Assinaturas Possíveis:
|
||||||||||||||||||
2 | Min |
|
Retorna o menor valor de um campo da lista. Assinaturas Possíveis:
|
||||||||||||||||||
3 | Max |
|
Retorna o maior valor de um campo da lista. Assinaturas Possíveis:
|
||||||||||||||||||
4 | Select |
|
Retorna um subconjunto filtrado dos dados de uma lista. Assinaturas Possíveis:
|
||||||||||||||||||
5 | Lookup |
|
Retorna o valor de uma coluna da lista baseado no valor de outra. Assinaturas Possíveis:
|
||||||||||||||||||
6 | isEmpty |
|
Retorna se a lista está vazia. Assinaturas Possíveis:
|
Os tipos de parâmetros possíveis não devem ser colocados entre os parênteses. Informe apenas o valor desejado conforme o exemplo:
Funcionalidade Parâmetros
Os parâmetros disponíveis são:
N° | Nome | Descrição | Imagem |
---|---|---|---|
1 | Base | Os parâmetros Base (Campos da Base), poderão ser:
| |
2 | Relatório | Os parâmetros Relatório (Campos do Relatório), poderão ser:
|
Propriedades Formato e Arredondar Valor
- Para melhor compreender a propriedade Formato, veja Formatação (Passo a Passo).
- Para melhor compreender a propriedade Arredondar Valor, veja Propriedade Arredondar Valor.
Como Utilizar a Expressão em um Relatório.
PASSO 1 - Verifique se o detalhe, onde a expressão será adicionada, contém um membro de dados.
OBSERVACAO
O membro de dados pode ser tanto uma tabela do banco como uma consulta SQL.
Se uma expressão é adicionada em um detalhe cujo membro de dados não foi definido, o valor da expressão poderá aparecer zerado.
PASSO 2 - Arraste o componente expressão para dentro do relatório:
PASSO 3 - Preencha as propriedades da Expressão:
PASSO 3 - A) Escreve a expressão utilizando toda a funcionalidade explicada acima. (OBRIGATORIO)
PASSO 3 - B) Escolha a formatação para o resultado da expressão. (FACULTATIVO)
PASSO 3 - C) Escolha se quer que o resultado seja arredondado ou não. (FACULTATIVO)
OBSERVACAO
Caso queira configurar mais propriedades do componente Expressão aperte F4 para que o menu Grade de Propriedades seja apresentado.
Formatação de Dados - XLSX
É possível formatar os dados de uma expressão para a exportação de relatórios nos formatos "XSLX" e "XLS", utilizando o parâmetro "XLSX Formato String" no RM Reports:
Exemplos:
Abaixo está demonstrado um exemplo de formatação com unidades de milhar e decimais, utilizando a máscara 0,000.00:
- Quando o campo "XLSX Formato String" NÃO é preenchido:
Ao realizar a geração de um relatório, onde contem uma expressão, perceba que o relatório gerado apresenta a unidade de milhar
- Quando realizado a exportação do relatório para um arquivo "XSLX" e "XLS", perceba que o campo perde a formatação ao abrir
- Quando o campo "XSLX" e "XLS" é preenchido CORRETAMENTE:
- Na grade de propriedades da expressão, Aba "Dados", perceba que existe um campo com o nome "XLSX Formato String". Para impedir que a formatação da expressão não seja perdida ao exportar para XLSX/XLS, iremos adicionar a máscara citada no campo:
- Agora, ao gerar o relatório e exportar para para um arquivo "XSLX" e "XLS", perceba que o formato não foi perdido, é o mesmo de quando o relatório foi gerado.
Considerações Importantes acerca da Formatação de Dados - XLSX
A formatação de dados segue o padrão utilizado nativamente pelo Microsoft Excel. Dessa forma, para alcançar o resultado desejado, deve se atentar à máscara tal qual o Excel utiliza.
Decimais e Milhares
É importante frisar que a ferramenta de exportação para XLSX/XLS determina que a vírgula/comma ( , ) deve ser utilizada para separar unidades de milhar e o ponto/period ( . ) deve ser utilizado para separar unidades decimais, o que pode ocasionar resultados indesejados caso não seja seguido a risca:
Dado (Deve seguir o formato padrão, com vírgula para separar decimais):
Formatação do campo (Seguindo as determinações corretas):
Resultado:
Abaixo estão as principais máscaras, no padrão do Excel. Para mais informações, consulte a documentação do Microsoft Excel: Criar um formato de número personalizado
- 0
- 0.00
- 0,000.00
- #,##0
- #,##0.00
- 0%
- 0.00%
- 0.00E+00
- ##0.0E+0
- # ?/?
- # ??/??
- m/d/yyyy
- d-mmm-yy
- d-mmm
- mmm-yy
- h:mm AM/PM
- h:mm:ss AM/PM
- h:mm
- h:mm:ss
- m/d/yyyy h:mm
- mm:ss
- mm:ss.0
Exceções Mais Comuns
Algumas exceções são bastante comuns de ocorrer, quando se executa um relatório contendo expressões, são elas:
N° | Nome | Descrição | Solução |
---|---|---|---|
1 | Operador Multiplicação | O operador Mult é incompatível com o tipo String. | A solução é simples:
Exemplo:
Caso haja a possibilidade do campo ser nulo ou branco, utilizar o operador condicional If Exemplo:
|
2 | Operador Divisão | O operador Div é incompatível com o tipo String. | |
3 | Operador Soma | O operador Plus é incompatível com o tipo String. | |
4 | Operador Subtração | O operador Minus é incompatível com o tipo String. | |
... |
Produto: Framework
Versão: 12.01.XX
Processo: Expressão (Geral)
Status: Finalizado
Data: 10/10/2017
- Sem rótulos