Campos calculados em relatórios personalizados
Estas são todas as funções que você pode usar para criar campos e medidas calculados.
Absoluto
Absolute(NumericExpression)
Retorna o valor absoluto de um número ou campo, ou seja, o valor não negativo do número.
Exemplo
Absolute("Transaction Amount")
Mostra a magnitude de cada transação, independentemente da transação ser positiva ou negativa.
"Taxa de Comissão" * Absolute("Transaction Amount")
Calcula uma comissão positiva em todas as transações, independentemente de a transação ser positiva ou negativa.
Atributo
Attribute('StringExpression1', ['StringExpression2' ])
Dado o nome de um atributo como o primeiro argumento e uma categoria opcional como o segundo argumento, retorna o valor atual do atributo como uma String. Se uma categoria for especificada (USUÁRIO, LOCATÁRIO ou SERVIDOR), ele vai retornar um atributo categórico; caso contrário, vai retornar um atributo hierárquico.
Esse valor pode ser convertido para um tipo de dados diferente usando uma das funções de conversão disponíveis em Relatórios personalizados: Booleano(), Data(), Decimal(), Inteiro(), Hora() ou Carimbo de data/hora().
É sua responsabilidade garantir que o formato e os valores do atributo funcionem corretamente com sua exibição.
Exemplo
Attribute('my_attribute')
Arredondar
Round(NumericExpression[,Integer])
Arredonda um número para um número especificado de dígitos; o padrão é zero (0) dígitos. Valores decimais maiores que 0,5 são arredondados para o próximo maior número inteiro e valores menores que 0,5 são arredondados para baixo.
Exemplos
Round("Sales")
Kit
Case(Expression, ValueExpression1, ReturnExpression1, ValueExpression2, ReturnExpression2[,...,ValueExpressionN, ReturnExpressionN][,DefaultReturnExpression])
Utiliza argumentos 2N+1 ou 2N+2: uma expressão seguida por um ou mais pares de expressão/retorno de valor, com uma expressão de retorno final opcional. Compara a expressão no primeiro argumento com cada expressão de valor em ordem de exibição. Retorna o valor da expressão imediatamente após a primeira expressão de valor que corresponde. Se nenhuma expressão corresponder, ele retornará a DefaultReturnExpression final, se houver, caso contrário, nulo.
Os tipos de todas as expressões de retorno devem ser compatíveis. Por exemplo, não é possível misturar tipos de valores numéricos e de retorno de texto.
Exemplos
Case("Shipped by", 1, 'FedEx', 2, 'UPS', 3, 'USPS', 'Unknown')
CountDistinct
CountDistinct(Expression[,'Level'])
Retorna a contagem distinta de itens não nulos na entrada. Sempre retorna um número inteiro não negativo. O nível pode ser um dos seguintes: Current (default), ColumnGroup, ColumnTotal, RowGroup, RowTotal, Total.
Exemplos
CountDistinct("Customer Name", 'Total')— Conta o número de clientes distintos.
Booleano
Boolean('StringExpression')
Função de fundição que pega uma expressão de string e a converte em um tipo de dado booleano. A String pode ser qualquer expressão que retorne uma string suportada, incluindo um valor de campo ou um atributo recuperado com a função Attribute(). A função Boolean() requer uma das seguintes Strings: true, false, True, False, TRUE, or FALSE. Outras strings retornarão um erro.
Exemplos
Boolean('true')
Boolean(Attribute('my_boolean_attribute'))
Data
Date('StringExpression')
Função de fundição que pega uma expressão de string e a converte em um tipo de dado de data. A String pode ser qualquer expressão que retorne uma string suportada, incluindo um valor de campo ou um atributo recuperado com a função Attribute(). A função Data() requer um valor String formatado como 'AAAA/MM/DD'. Outras strings retornarão um erro.
Exemplos
Date('2015-07-17')
Data(Attribute('my__date_attribute'))
CaseRange
CaseRange(NumericExpressionInput, NumericExpression1, ReturnExpression1, NumericExpression2,ReturnExpression2[,..., NumericExpressionN, ReturnExpressionN][,DefaultReturnExpression])
Utiliza argumentos 2N+1 ou 2N+2: uma expressão seguida por um ou mais pares de expressão/retorno numérico, com uma expressão de retorno final opcional. Encontra a primeira expressão numérica que é maior do que a expressão de entrada e retorna o valor da expressão de retorno correspondente. Se nenhuma expressão for maior, ele retornará a DefaultReturnExpression final, se houver, caso contrário, nulo.
Os tipos de todas as expressões de retorno devem ser compatíveis. Por exemplo, não é possível misturar tipos de valores numéricos e de retorno de texto.
Exemplos
Case("Temperature", 60, 'too cold', 80, 'just right', 'too hot')
CaseRange(CountAll("Shipping charge") % CountAll("Shipping charge", 'Total'), 2.0, 'Less than 2%', 5.0, '2% - 5%', 'More than 5%')
CountAll
CountAll(Expression[,'Level')]
Retorna a contagem de itens não nulos em um campo ou medida; observe que CountAll sempre retorna um número inteiro não negativo. O nível pode ser um dos seguintes: Current (default), ColumnGroup, ColumnTotal, RowGroup, RowTotal, Total. Consulte Níveis em Funções Agregadas para obter mais informações.
Exemplos
CountAll("Transaction Amount", 'RowGroup') — Conta o número total de transações não nulas no grupo especificado.
IF
IF(BooleanExpression,ExpressionWhenTrue[ExpressionWhenFalse])
Dado um campo ou cálculo booleano como o primeiro argumento, retorna o segundo argumento se verdadeiro; opcionalmente, retorna o terceiro argumento se falso. Retorna nulo se o primeiro argumento for nulo.
ExpressionWhenFalse deve ser do mesmo tipo que ExpressionWhenTrue. Por exemplo, se ExpressionWhenTrue for uma data, ExpressionWhenFalse deve ser uma data no mesmo formato. Se ExpressionWhenFalse não estiver definido, um resultado falso retornará um valor nulo.
- Você pode criar uma BooleanExpression usando os operadores de comparação (“==”, “!=”, “>”, “>=”, “<”, “<=”); quaisquer funções que retornem valores Booleanos (StartsWith, EndsWith, IsNull, Contains) e operadores lógicos (and, or, not).
- Quando as datas são usadas em comparações ou na função IF, elas devem ser do mesmo tipo de dado (apenas data, data/hora ou apenas hora). Certifique-se de usar o modificador correto (d, ts, t) ao usar constantes de data em comparações.
Exemplos
IF(Contains("Product Name", 'Soda'), 'Yes', 'No')— Usa a função Contains para ver se o nome do produto contém a string "Soda"; se isso acontecer, define o valor do campo como Yes.
StartsWith
StartsWith(TextExpression1, TextExpression2)
Booleano que retorna verdadeiro se a primeira entrada de texto começar com a string especificada na segunda entrada; caso contrário, falso.
Exemplos
StartsWith("Product Name", 'Q')
Média
Average(NumericExpression[,'Level'])
Retorna o valor médio de uma medida ou campo numérico, com base em um nível opcional. Valores nulos não estão incluídos.
Exemplos
Average("Salary", 'RowGroup')
CaseWhen
CaseWhen(BooleanExpression1, ReturnExpression1, BooleanExpression2, ReturnExpression2[,...,BooleanExpressionN, ReturnExpressionN][, DefaultReturnExpression])
Utiliza argumentos 2N ou 2N+1: um ou mais pares de expressões booleanas seguidas por expressões de retorno, com uma expressão de retorno final opcional. Retorna a expressão imediatamente após a primeira expressão booleana verdadeira. Se nenhuma expressão for verdadeira, ele retornará a DefaultReturnExpression final, se houver, caso contrário, nulo. Esta é a construção mais flexível.
Os tipos de todas as expressões de retorno devem ser compatíveis. Por exemplo, não é possível misturar tipos de valores numéricos e de retorno de texto.
Exemplos
CaseWhen("Shipped by" == 1, 'FedEx', "Shipped by" == 2, 'UPS', "Shipped by"== 3, 'USPS', 'Unknown')
CaseWhen("Temperature" <= 60, 'too cold', "Temperature" > 80, 'too hot', 'just right')
Contém
Contains(TextExpression1 ,TextExpression2])
Booleano que retorna verdadeiro se a primeira string contiver a segunda, caso contrário, falso.
Exemplos
Contains("Product Name", 'Soda')
Concatenar
Concatenate(TextExpression1[ ,TextExpression2,...,TextExpressionN])
Combina várias sequências de texto e/ou campos em um único campo de texto. As sequências de texto estão entre aspas simples; os rótulos para campos ou medidas em Ad Hoc estão entre aspas simples.
Exemplos
Concatenate("Last Name", ' , ', "First Name")
Concatenate("Product Category", ' -- ', "Product Name")
Meio
Mid(TextExpression,Integer1,Integer2)
Dada uma string de texto, retorna a substring começando em Integer1 com o comprimento Integer2.
Exemplos
Mid("Phone", 1, 3) — Dado um número de telefone americano que começa com um código de área de 3 dígitos, o extrai o código de área.
Soma
Sum(NumericExpression[,'Level'])
A soma de todos os valores no intervalo. Valores nulos são excluídos. O nível pode ser um dos seguintes: Current(default), ColumnGroup, ColumnTotal, RowGroup, RowTotal, Total.
Exemplos
Sum("Sales",'RowGroup')
Taxa
Range(NumericExpression[,'Level'])
A diferença entre os maiores e menores valores da entrada fornecida.
Exemplos
Range("Salary",'ColumnGroup')
Tempo
Time('StringExpression')
Função de transmissão que pega uma expressão de String no formato 'HH:MM:SS:SSS' e a converte em um tipo de dados de Hora. A String pode ser qualquer expressão que retorne uma string válida, incluindo um valor de campo ou um atributo recuperado com a função Attribute().
Exemplos
Time('17:12:33:147')
Time(Attribute('my_time_attribute'))
Máx
Max(NumericExpression|DateExpression[,'Level'])
Retorna o valor máximo atingido pelo campo ou cálculo especificado. O nível pode ser um dos seguintes:
- Current (default)
- ColumnGroup
- ColumnTotal
- RowGroup
- RowTotal
- Total
Exemplos
Max("Salary")
Decimal
Decimal('StringExpression')
Função de fundição que pega uma expressão de string e a converte em um tipo de dado decimal. A String pode ser qualquer expressão que retorne uma string suportada, incluindo um valor de campo ou um atributo recuperado com a função Attribute(). A função Decimal() requer um valor de String no formato decimal, por exemplo, '123.45'. Outras strings retornarão um erro.
Exemplos
Decimal('1234.567')
Número Inteiro
Integer('StringExpression')
Função de fundição que pega uma expressão de string e a converte em um tipo de dado inteiro. A String pode ser qualquer expressão que retorne uma string suportada, incluindo um valor de campo ou um atributo recuperado com a função Attribute(). A função Integer() requer um valor de String que pode ser lido como um número inteiro, como '123'. Outras strings retornarão um erro.
Exemplos
Integer('123')
Integer(Attribute('my_integer_attribute'))
StdevP
StdevP(NumericExpression[,'Level'])
Desvio padrão baseado em toda a população, assumindo os valores no nível especificado (opcional). Valores nulos são excluídos. O nível pode ser um dos seguintes: Current (default), ColumnGroup, ColumnTotal, RowGroup, RowTotal, Total.
Exemplos
StdevP("Sales",'RowTotal')
Carimbo de data/hora
Timestamp('StringExpression')
Função de transmissão que pega uma expressão de String no formato ''aaa-MM-dd HH:mm:ss.SSS' e a converte em um tipo de dado de Hora. A String pode ser qualquer expressão que retorne uma string válida, incluindo um valor de campo ou um atributo recuperado com a função Attribute().
Exemplos
Timestamp('2015-07-17 17:12:33:147')
Timestamp(Attribute('my_timestamp_attribute'))
Classificação
Rank(NumericExpression)
Retorna a posição de cada valor em relação aos outros valores depois que todos os valores são listados em ordem. Por exemplo, os dez principais em vendas são os dez principais em classificação. Valores nulos são ignorados.
Exemplos
Rank("Store Sales")
Nulo
IsNull(Expression)
Booleano que retorna verdadeiro se o valor do campo for nulo; caso contrário, falso.
Exemplos
IsNull("First Name")
Número do mês
MonthNumber(DateExpression)
Retorna o número do mês, com janeiro = 1 e dezembro = 12. Valores nulos retornam nulos.
Exemplos
MonthNumber("Order Date")
DayName
DayName(DateExpression)
Dado um campo de data, retorna um campo de texto com o nome do dia da semana.
Exemplos
DayName("Open Date")— Exibe o dia da semana em que uma loja foi aberta.
Mode(DayName("Open Date"), 'Total')— O dia da semana em que a maioria das lojas foi aberta.
DayNumber
DayNumber(DateExpression)
Campo numérico que retorna o dia do mês de um campo de data.
Exemplos
DayName("Open Date")— Exibe o dia do mês em que uma loja foi aberta.
Comprimento
Length(TextExpression)
Dada uma sequência de texto, retorna seu comprimento. Valores nulos retornam nulos.
Exemplos
Length("First Name")
Mediana
Median(NumericExpression|DateExpression[,'Level'])
Para um número ímpar de valores, retorna o valor do meio depois que todos os valores são listados em ordem. Para um número par de valores, retorna a média dos dois valores do meio. Por exemplo, se um campo tiver apenas cinco instâncias, com valores {1,1,3,10,20}, a mediana será 3. O nível pode ser um dos seguintes:
- Current (default)
- ColumnGroup
- ColumnTotal
- RowGroup
- RowTotal
- Total
Exemplos
Median("Salary")
Mín.
Min(NumericExpression|DateExpression[,'Level'])
Retorna o valor mínimo atingido pelo campo ou cálculo especificado com base em um nível opcional. O nível pode ser um dos seguintes:
- Current (default)
- ColumnGroup
- ColumnTotal
- RowGroup
- RowTotal
- Total
Exemplos
Min("Salary")
MonthName
MonthName(DateExpression)
Retorna um campo de texto com o nome do mês.
Exemplos
MonthName("Order Date" )
PercentOf
PercentOf(NumericExpression[,'Level'])
Retorna o valor como uma porcentagem do total para o nível especificado. Valores nulos são ignorados. Observe que os valores possíveis para Nível são ColumnGroup, ColumnTotal, RowGroup, RowTotal, Total (default).
Campos calculados usando a função PercentOf não devem ser usados como filtros; se PercentOf for usado como filtro, então o percentual total pode não ser 100.
Exemplos
PercentOf("")
Modo
Mode(Expression[,'Level'])
Retorna o valor mais frequente alcançado pela entrada especificada, com base em um nível opcional. Por exemplo, se um campo tiver apenas cinco instâncias com valores {1,2,2,4,5}, o modo será 2. O nível pode ser um dos seguintes:
- Current (default)
- ColumnGroup
- ColumnTotal
- RowGroup
- RowTotal
- Total
Exemplos
Mode(DayName("Order Date",RowGroup)) — Para cada grupo de linhas, retorna o dia da semana em que a maioria dos pedidos foi feita.
Ano
Year(DateExpression)
Dado um campo de data, retorna o ano.
Exemplos
Year("Order Date" )
WeightedAverage
WeightedAverage(NumericExpression1,NumericExpression2,'Level')
Retorna a média ponderada para a primeira entrada ponderada em relação à segunda entrada, calculada em um nível opcional. Valores nulos são excluídos. O nível pode ser um dos seguintes: Current (default), ColumnGroup, ColumnTotal, RowGroup, RowTotal, Total.
Exemplos
WeightedAverage("Price","Units", 'Current') — O preço estendido com base no número de unidades.
WeightedAverage("Price","Units", ‘RowGroup') — A soma do preço estendido para todas as unidades no grupo de linhas.
Carimbo de data/hora
Timestamp('StringExpression')
Função de transmissão que pega uma expressão de String no formato ''aaa-MM-dd HH:mm:ss.SSS' e a converte em um tipo de dado de Hora. A String pode ser qualquer expressão que retorne uma string válida, incluindo um valor de campo ou um atributo recuperado com a função Attribute().
Exemplos
Timestamp('2015-07-17 17:12:33:147')
Timestamp(Attribute('my_timestamp_attribute'))
Desvio padrão
StdevS(NumericExpression[,'Level'])
Desvio padrão baseado em uma amostra, calculado sobre os valores no nível especificado. Valores nulos são excluídos. O nível pode ser um dos seguintes: Current (default), ColumnGroup, ColumnTotal, RowGroup, RowTotal, Total.
Exemplos
StdevS("Sales",'RowTotal')
Termina com
EndsWith(TextExpression1, TextExpression2)
Booleano que retorna verdadeiro se a primeira entrada de texto terminar com a string especificada na segunda entrada; caso contrário, falso.
Exemplos
EndsWith("Product Name", 's')