---
schema_version: "1"
id: 8dadc80c33cef73f334a21cfe71a1b3468aa7c3962d97dd6d824618cfc63efb5
title: Referência de funções do Tableau Prep
collection: tableau
version: current
locale: pt-br
portal_url: https://docs.salesforce.com/tableau/current/pt-br/prep/prep_function_reference.md
canonical_url: https://help.tableau.com/current/prep/pt-br/prep_function_reference.htm
source_site: help.tableau.com
content_type: documentation
content_hash: 25b586d9086a1bed39ae790afedfbf3366cde75fb8a9a756653830964cc19e71
description: Reference for Tableau Prep calculation functions across categories.
---
[Pular para o conteúdo principal](#main-content)

# Referência de funções do Tableau Prep

As funções de cálculo do Tableau Prep permitem usar campos calculados para criar novos dados usando dados que já existem na sua fonte de dados.

### Funções de número

<table style="width: 100%;" class="simple-table"><colgroup><col style="width: 276px;"><col></colgroup><tbody><tr><th>Sintaxe</th><th>Descrição</th></tr><tr><td><code>ABS(number)</code></td><td>Retorna o valor absoluto do número especificado.<p>Exemplos:</p><p><code>ABS(-7) = 7
</code></p><p><code>ABS([Budget Variance])</code></p>Retorna o valor absoluto para todos os números contidos no campo Variação de orçamento.</td></tr><tr><td><code>ACOS(number)</code></td><td>Retorna o arco cosseno do número especificado. O resultado é em radianos.<p>Exemplo:</p><p><code>ACOS(-1) = 3.14159265358979</code></p></td></tr><tr><td><code>ASIN(number)</code></td><td>Retorna o arco seno de um número especificado. O resultado é em radianos.<p>Exemplo:</p><p><code>ASIN(1) = 1.5707963267949</code></p></td></tr><tr><td><code>ATAN(number)</code></td><td>Retorna o arco tangente de um número especificado. O resultado é em radianos.<p>Exemplo:</p><p><code>ATAN(180) = 1.5652408283942</code></p></td></tr><tr><td><code>ATAN2(y number, x number)</code></td><td>Retorna o arco tangente de dois números especificados (<code>x</code> e <code>y</code>). O resultado é em radianos.<p>Exemplo:</p><p><code>ATAN2(2, 1) = 1.10714871779409</code></p></td></tr><tr><td><code>CEILING(number</code>)</td><td>Arredonda um número para o inteiro mais próximo de valor maior ou igual.<p>Exemplo:</p><p><code>CEILING(3.1415) = 4</code></p></td></tr><tr><td><code>COS(number)</code></td><td>Retorna o cosseno de um ângulo. Especifica o ângulo em radianos.<p>Exemplo:</p><p><code>COS(PI( ) /4) = 0.707106781186548</code></p></td></tr><tr><td><code>COT(angle)</code></td><td>Retorna a cotangente de um ângulo. Especifica o ângulo em radianos.<p>Exemplo:</p><p><code>COT(PI( ) /4) = 1
</code></p></td></tr><tr><td><code>DIV(integer1, integer2)</code></td><td>Retorna a parte inteira de uma operação de divisão, na qual o <code> integer1</code> é dividido pelo <code>integer2</code>.<p>Exemplo:</p><p><code>DIV(11,2) = 5
</code></p></td></tr><tr><td><code>EXP(number)</code></td><td>Retorna e elevado à potência do número especificado.<p>Exemplos:</p><p><code>EXP(2) = 7.389
EXP(-[Growth Rate]*[Time])</code></p></td></tr><tr><td><code>FLOOR(number)</code></td><td>Arredonda um número para o inteiro mais próximo de valor menor ou igual.<p>Exemplo:</p><p><code>FLOOR(3.1415) = 3</code></p></td></tr><tr><td><code>HEXBINX(number, number)</code></td><td>Mapeia as coordenadas x, y com a coordenada x do compartimento hexagonal mais próximo. Os compartimentos têm extensão 1, então as entradas podem precisar ser escalonadas corretamente.<p>Exemplo:</p><p><code>HEXBINX([Longitude], [Latitude])</code></p></td></tr><tr><td><code>HEXBINY(number, number)</code></td><td>Mapeia as coordenadas x, y com a coordenada y do compartimento hexagonal mais próximo. Os compartimentos têm extensão 1, então as entradas podem precisar ser escalonadas corretamente.<p>Exemplo:</p><p><code>HEXBINY([Longitude], [Latitude])</code></p></td></tr><tr><td><code>LN(number)</code></td><td><p>Retorna o algoritmo natural de um número. Retorna Null se o número for menor que ou igual a 0.</p><p>Exemplo:</p><p><code>LN(EXP(5)) = 5</code></p></td></tr><tr><td><code>LOG(number [, base]</code>)</td><td><p>Retorna o algoritmo de um número para a base especificada. Se o valor de base for omitido, a base 10 será usada.</p><p>Exemplo:</p><p><code>LOG(256, 2) = 8</code></p></td></tr><tr><td><code>MAX(number, number)</code></td><td>Retorna o máximo de dois argumentos, que devem ser do mesmo tipo. Retorna Null se algum argumento for Null. <code>MAX </code> também pode ser aplicada a um único campo em um cálculo agregado.<p>Exemplos:</p><p><code>MAX(4,7)</code><br><code>MAX(Sales,Profit)</code><br><code>MAX([First Name],[Last Name])</code></p></td></tr><tr><td><code>MIN(number, number)</code></td><td>Retorna o mínimo de dois argumentos, que devem ser do mesmo tipo. Retorna Null se algum argumento for Null. <code>MIN </code> também pode ser aplicada a um único campo em um cálculo agregado.<p>Exemplos:</p><p><code>MIN(4,7)
</code></p><p><code>MIN(Sales,Profit)</code></p><p><code>MIN([First Name],[Last Name])
</code></p></td></tr><tr><td><code>PI( )</code></td><td><p>Retorna o pi da constante numérica: 3.14159.</p><p>Exemplo:</p><p><code>PI() = 3.14159265358979</code></p></td></tr><tr><td><code>POWER(number, power)</code></td><td>Eleva o número à potência especificada.<p>Exemplos:</p><p><code>POWER(5,2) = 52 = 25
POWER(Temperature, 2)</code></p><p>Também é possível usar o símbolo ^:</p><p><code>5^2 = POWER(5,2) = 25</code></p></td></tr><tr><td><code>RADIANS(number)</code></td><td>Converte o número especificado de graus em radianos.<p>Exemplo:</p><p><code>RADIANS(180) = 3.14159</code></p></td></tr><tr><td><code>ROUND(number, [decimals])</code></td><td>Arredonda os números para um número de dígitos especificado. O argumento de decimais especifica quantos pontos decimais de precisão são necessários incluir no resultado final. Se os decimais forem omitidos, o número será arredondado para o inteiro mais próximo.<p>Exemplo:</p><p>Este exemplo arredonda cada valor de Vendas para um número inteiro:</p><p><code>ROUND(Sales)</code></p></td></tr><tr><td><code>SIGN(number)</code></td><td>Retorna o sinal de um número: os valores de retorno possíveis são: -1 se o número for negativo, 0 se o número for zero ou 1 se o número for positivo.<p>Exemplo:</p><p>Se a média do campo de lucro for negativa,</p><p><code>SIGN(AVG(Profit)) = -1</code></p></td></tr><tr><td><code>SIN(number)</code></td><td>Retorna o seno de um ângulo. Especifica o ângulo em radianos.<p>Exemplos:</p><p><code>SIN(0) = 1.0</code></p><p><code>SIN(PI( )/4) = 0.707106781186548</code></p></td></tr><tr><td><code>SQRT(number)</code></td><td>Retorna a raiz quadrada de um número.<p>Exemplo:</p><p><code>SQRT(25) = 5
</code></p></td></tr><tr><td><code>SQUARE(number)</code></td><td>Retorna o quadrado de um número.<p>Exemplo:</p><p><code>SQUARE(5) = 25</code></p></td></tr><tr><td><code>TAN(number</code>)</td><td><p>Retorna a tangente de um ângulo. Especifica o ângulo em radianos.</p><p>Exemplo:</p><p><code>TAN(PI ( )/4) = 1.0</code></p></td></tr><tr><td><code>ZN(expression)</code></td><td><p>Retorna a expressão se não for nulo, caso contrário, retorna zero. Use essa função para utilizar valores de zero, em vez de valores nulos.</p><p>Exemplo:</p><p><code>ZN([Profit]) = [Profit]</code></p></td></tr></tbody></table>

### Funções de cadeia de caracteres

<table style="width: 100%;" class="simple-table"><colgroup><col style="width: 276px;"><col></colgroup><tbody><tr><th>Sintaxe</th><th>Descrição</th></tr><tr><td><code>ASCII(string)</code></td><td>Retorna o código ASCII do primeiro caractere de uma cadeia de caracteres.<p>Exemplo:</p><p><code>ASCII('A') = 65</code></p></td></tr><tr><td><code>CHAR(number)</code></td><td>Retorna o caractere codificado pelo número de código ASCII.<p>Exemplo:</p><p><code>CHAR(65) = 'A'</code></p></td></tr><tr><td><code>CONTAINS(string, substring)</code></td><td>Retornará true se a cadeia de caracteres determinada contiver a subcadeia de caracteres especificada.<p>Exemplo:</p><p><code>CONTAINS(“Calculation”, “alcu”) = true</code></p></td></tr><tr><td><code>ENDSWITH(string, substring)</code></td><td>Retornará true se a cadeia de caracteres determinada terminar com a <code>substring</code> especificada. Espaços em branco à direita são ignorados.<p>Exemplo:</p><p><code>ENDSWITH(“Tableau”, “leau”) = true</code></p></td></tr><tr><td><code>FIND(string, substring, [start])</code></td><td>Retorna a posição de índice de uma <code>substring </code> em uma cadeia de caracteres, ou 0 se a subcadeia de caracteres não for encontrada. Se o argumento de iniciar opcional for adicionado, a função ignora quaisquer instâncias de <code>substring </code> que aparecem antes do início da posição do índice. O primeiro caractere na cadeia de caracteres está na posição 1.<p>Exemplos:</p><p><code>FIND("Calculation", "alcu") = 2</code></p></td></tr><tr><td><code>FINDNTH(string, substring, occurrence)</code></td><td>Retorna a posição da nª ocorrência de substring dentro da string especificada, onde n é definido pelo argumento de ocorrência<p>Exemplo:</p><p><code>FINDNTH("Calculation", "a", 2) =7</code></p></td></tr><tr><td><code>ISDATE(string)</code></td><td><p>Retornará true se uma determinada cadeia de caracteres for uma data válida.</p><p>Exemplo:</p><p><code>ISDATE("2004-04-15") = True
</code></p></td></tr><tr><td><code>LEFT(string, number)</code></td><td>Retorna o número de caracteres na extremidade esquerda na cadeia de caracteres.<p>Exemplo:</p><p><code>LEFT("Matador", 4) = "Mata"
</code></p></td></tr><tr><td><code>LEN(string)</code></td><td>Retorna o comprimento da cadeia de caracteres.<p>Exemplo:</p><p><code>LEN("Matador") = 7
</code></p></td></tr><tr><td><code>LOWER(string)</code></td><td>Retorna cadeia de caracteres, com todos os caracteres maiúsculos.<p>Exemplo:</p><p><code>LOWER("ProductVersion") = "productversion"</code></p></td></tr><tr><td><code>LTRIM(string)</code></td><td>Retorna a cadeia de caracteres com os espaços à esquerda removidos.<p>Exemplo:</p><p><code>Example: LTRIM(" Sales") = "Sales"</code></p></td></tr><tr><td><code>(MID(string, start, [length])</code></td><td>Retorna a cadeia de caracteres que começa no início da posição de índice. O primeiro caractere na cadeia de caracteres está na posição 1. Se o comprimento de argumento opcional for adicionado, a cadeia de caracteres retornada incluirá apenas esse número de caracteres.<p>Exemplos:</p><p><code>MID("Calculation", 2) = "alculation"</code></p><p><code>MID("Calculation", 2, 5) ="alcul"</code></p></td></tr><tr><td><code>PROPER(string)</code></td><td>Converte uma cadeia de caracteres de texto para que a primeira letra de cada palavra seja maiúscula e as letras restantes fiquem em minúsculas. Espaços e caracteres não alfanuméricos, como pontuação, também atuam como separadores.<p>Exemplo:</p><p><code>PROPER("PRODUCT name") = "Product Name"
</code></p></td></tr><tr><td><code>REGEXP_EXTRACT(string, pattern)</code></td><td>Retorna uma subcadeia de caracteres da cadeia de caracteres fornecida que corresponde ao grupo de captura dentro do padrão de expressão regular. O padrão de expressão regular requer exatamente um grupo de captura<p>Exemplo:</p><p><code>REGEXP_EXTRACT('abc 123', '[a-z]+\\s+(\\d+)') = '123'</code></p></td></tr><tr><td><code>REGEXP_EXTRACT_NTH(string, pattern, index)</code></td><td>Retorna uma subcadeia de caracteres da cadeia de caracteres fornecida usando o padrão de expressão regular. A subcadeia é comparada com o grupo de captura nth, onde n é o índice dado.<p>Exemplo:</p><p><code>REGEXP_EXTRACT_NTH('abc 123', '([a-z]+)\\s+(\\d+)', 2) = '123'</code></p></td></tr><tr><td><code>REGEXP_MATCH(string, pattern)</code></td><td>Retorna true se uma subcadeia de caracteres de uma cadeia de caracteres fornecida corresponder ao padrão de expressão regular.<p>Exemplo:</p><p><code>REGEXP_MATCH('-([1234].[ The.Market ])-', '\\[\\s*(\\w*\\.)(\\w*\\s*\\])') = true</code></p></td></tr><tr><td><code>REGEXP_REPLACE(string, pattern, replacement)</code></td><td>Retorna uma cópia da cadeia de caracteres fornecida onde o padrão correspondente é substituído pela cadeia de caracteres de substituição.<p>Exemplo:</p><p><code>REGEXP_REPLACE('abc  123', '\\s', '-') = 'abc--123'
</code></p></td></tr><tr><td><code>REPLACE(string, substring, replacement)</code></td><td>Procura uma cadeia de caracteres para uma subcadeia de caracteres e substitui. Se a subcadeia de caracteres não for encontrada, a string não será alterada.<p>Exemplo:</p><p><code>REPLACE("Calculation", "ion", "ed") = "Calculated"</code></p></td></tr><tr><td><code>RIGHT(string, number)</code></td><td>Retorna o número de caracteres na extremidade direita na cadeia de caracteres.<p>Exemplo:</p><p><code>RIGHT("Calculation", 4) = "tion"</code></p></td></tr><tr><td><code>RTRIM(string)</code></td><td>Retorna cadeia de caracteres com os espaços à direita removidos.<p>Exemplo:</p><p><code>Example: RTRIM("Market ") = "Market"</code></p></td></tr><tr><td><code>SPACE(number)</code></td><td>Retorna uma cadeia de caracteres composta por um número especificado de espaços repetidos.<p>Exemplo:</p><p><code>SPACE(1) = " "</code></p></td></tr><tr><td><code>SPLIT(string, delimiter, token number)	
</code></td><td><p>Retorna uma subcadeia de caracteres de uma cadeia de caracteres, conforme determinado por um delimitador que extrai os caracteres do início ou do fim da cadeia de caracteres.</p><p>Exemplo:</p><p><code>SPLIT('a-b-c-d', '-', 2) = 'b'</code></p></td></tr><tr><td><code>STARTSWITH(string, substring)</code></td><td>Retorna true se a cadeia de caracteres começa com <code>substring</code>. Espaços em branco à esquerda são ignorados.<p>Exemplo:</p><p><code>STARTSWITH(“Joker”, “Jo”) = true
</code></p></td></tr><tr><td><code>TRIM(string)</code></td><td>Retorna a cadeia de caracteres com os espaços à esquerda e à direita removidos.<p>Exemplo:</p><p><code>TRIM(" Calculation ") = "Calculation"</code></p></td></tr><tr><td><code>UPPER(string)</code></td><td>Retorna string, com todos os caracteres maiúsculos.<p>Exemplo:</p><p><code>UPPER("Calculation") = "CALCULATION"
</code></p></td></tr></tbody></table>

### Funções de agregação

<table style="width: 100%;" class="simple-table"><colgroup><col style="width: 276px;"><col></colgroup><tbody><tr><th>Sintaxe</th><th>Descrição</th></tr><tr><td><code>AVG(expression)</code></td><td>Retorna a média de todos os valores na expressão. AVG pode ser usada com campos numéricos apenas. Os valores nulos são ignorados<p>Exemplo;</p><p><code>AVG([Profit])</code></p></td></tr><tr><td><code>COUNT(expression)</code></td><td>Retorna o número de itens em um grupo. Os valores Null não são contados.<p>Exemplo:</p><p><code>COUNT([Customer ID])
</code></p></td></tr><tr><td><code>COUNTD(expression)</code></td><td>Retorna o número de itens distintos em um grupo. Os valores NULL não são contados. Cada valor exclusivo é contado apenas uma vez.<p>Exemplo:</p><p><code>COUNTD([Region])</code></p></td></tr><tr><td><code>MEDIAN(expression)</code></td><td>Retorna a mediana de uma única expressão. MEDIAN pode ser usada com campos numéricos apenas. Os valores nulos são ignorados.<p>Exemplo:</p><p><code>MEDIAN([Profit])
</code></p></td></tr><tr><td><code>PERCENTILE(expression, number)</code></td><td>Cálculo agregado que retorna o valor percentil da expressão fornecida correspondente ao número especificado. Os valores válidos para o número são de 0 a 1. PERCENTILE([expression], 0,50) sempre retornará o valor mediano na expressão.<p>Exemplo:</p><p><code>PERCENTILE([Sales], 0.90)</code></p></td></tr><tr><td><code>STDEV(expression)</code></td><td>Retorna o desvio padrão de exemplo da expressão.<p>Exemplo:</p><p><code>STDEV([Profit])</code></p></td></tr><tr><td><code>STDEVP(expression)</code></td><td><p>Retorna o desvio padrão de exemplo da expressão na janela.</p><p>Exemplo:</p><p><code>STDEVP([Profit])
</code></p></td></tr><tr><td><code>SUM(expression)</code></td><td><p>Retorna a soma de todos os valores na expressão. SUM pode ser usada com campos numéricos apenas. Os valores nulos são ignorados.</p><p>Exemplo:</p><p><code>SUM([Profit])
</code></p></td></tr><tr><td><code>VAR(expression)</code></td><td><p>Retorna a variação estatística de todos os valores na expressão atribuída com base em uma amostra da população.</p><p>Exemplo:</p><p><code>VAR([Height])</code></p></td></tr><tr><td><code>VARP(expression)</code></td><td><p>Retorna a variação estatística de todos os valores na expressão atribuída com base na população inteira.</p><p>Exemplo:</p><p><code>VARP([Test Score])</code></p></td></tr><tr><td><code>ZN(expression)</code></td><td><p>Retorna a expressão se não for nulo, caso contrário, retorna zero. Use essa função para utilizar valores de zero, em vez de valores nulos.</p><p>Exemplo:</p><p><code>ZN([Profit]) = [Profit]</code></p></td></tr></tbody></table>

### Funções de conversão de tipo

<table style="width: 100%;" class="simple-table"><colgroup><col style="width: 276px;"><col></colgroup><tbody><tr><th>Sintaxe</th><th>Descrição</th></tr><tr><td><code>DATE</code></td><td>Retorna uma data de acordo com um número, cadeia de caracteres ou expressão de data.<p>Exemplo:</p><p><code>DATE("2006-06-15 14:52") = 2006-06-15</code></p><p>Observe que as aspas são obrigatórias.</p></td></tr><tr><td><code>DATETIME(expression)</code></td><td>Retorna uma datetime de acordo com um número, cadeia de caracteres ou expressão de data.<p>Exemplo:</p><p><code>DATETIME("April 15, 2004 07:59:00")</code></p><p>Observe que as aspas são obrigatórias.</p></td></tr><tr><td><code>FLOAT(expression)</code></td><td>Retorna um flutuante dada uma expressão de qualquer tipo. Essa função requer números não formatados, o que significa excluir vírgulas e outros símbolos.<p>Exemplo:</p><p><code>FLOAT("3")= 3.000</code></p></td></tr><tr><td><code>INT(expression)</code></td><td>Retorna um número inteiro dada uma expressão. Essa função trunca os resultados para o inteiro mais próximo de zero.<p>Exemplo:</p><p><code>INT(8.0/3.0) = 2 or INT(-9.7) = -9</code></p></td></tr><tr><td><code>MAKEDATE(year, month, day)</code></td><td>Retorna um valor de data composto por um ano mês e um dia do mês.<p>Exemplo:</p><p><code>MAKEDATE(2014, 3, 18)</code></p></td></tr><tr><td><code>MAKEDATETIME(date, time)</code></td><td><p>Retorna um valor de data e hora de acordo com uma expressão de data e uma expressão de hora.</p><p>Exemplo:</p><p><code>MAKEDATETIME(#2012-11-12#, #07:59:00#)</code></p></td></tr><tr><td><code>MAKETIME(hour, minute, second)</code></td><td><p>Retorna um valor de hora composto por minutos e segundos.</p><p>Exemplo:</p><p><code>MAKETIME(14, 52, 40)</code></p></td></tr><tr><td><code>STR(expression)</code></td><td><p>Retorna uma cadeia de caracteres dada uma expressão.</p><p>Exemplo:</p><p><code>STR([Age]) </code></p><p>Retorna todos os valores da medida Idade como cadeia de caracteres.</p></td></tr></tbody></table>

### Funções de data

<table style="width: 100%;" class="simple-table"><colgroup><col style="width: 276px;"><col></colgroup><tbody><tr><th>Sintaxe</th><th>Descrição</th></tr><tr><td><code>DATEADD(date_part, interval, date)</code></td><td>Adiciona um incremento à data especificada e retorna a nova data. O incremento é definido pelo intervalo e pela data_parte.<p>Exemplo:</p><p><code>DATEADD('month', 3, #2004-04-15#) = 2004-07-15 12:00:00 AM</code></p></td></tr><tr><td><code>DATEDIFF(date_part, start_date, end_date, [start_of_week])</code></td><td><p>Retorna a diferença entre duas datas onde data_inicial é subtraída de data_final. A diferença é expressa em unidades de date_part. Se start_of_week for omitido, o dia de início da semana será determinado pelo dia de início configurado para a origem de dados.</p><p>Exemplo:</p><p><code>DATEDIFF('month', #2004-07-15#, #2004-04-03#, 'sunday') = -3</code></p></td></tr><tr><td><code>DATENAME(date_part, date, [start_of_week])</code></td><td>Retorna uma parte da data fornecida como uma cadeia de caracteres, onde a parte é definida por date_part. Se start_of_week for omitido, o dia de início da semana será determinado pelo dia de início configurado para a origem de dados.<p>Exemplo:</p><p><code>DATENAME('month', #2004-04-15#) = "April"
</code></p></td></tr><tr><td><code>DATEPARSE(format, string)</code></td><td>Converte uma cadeia de caracteres em uma data no formato especificado.<p>Exemplo:</p><p><code>DATEPARSE ("dd.MMMM.yyyy", "15.April.2004") = 2004-04-15 12:00:00 AM</code></p></td></tr><tr><td><code>DATEPARTT(date_part, date, [start_of_week])</code></td><td>Retorna uma parte da data fornecida como um inteiro onde a parte é definida por date_part. Se start_of_week for omitido, o dia de início da semana será determinado pelo dia de início configurado para a origem de dados.<p>Exemplo:</p><p><code>DATEPART('month', #2004-04-15#) = 4</code></p></td></tr><tr><td><code>DATETRUNC(date_part, date, [start_of_week])</code></td><td>Trunca a data especificada na precisão definida por date_part e retorna a nova data. Se start_of_week for omitido, o dia de início da semana será determinado pelo dia de início configurado para a origem de dados.<p>Exemplo:</p><p><code>DATETRUNC('quarter', #2004-08-15#) = 2004-07-01 12:00:00 AM
</code></p></td></tr><tr><td><code>DAY(date)</code></td><td>Retorna o dia da data especificada como um inteiro.<p>Exemplo:</p><p><code>DAY(#2004-04-12#) = 12
</code></p></td></tr><tr><td><code>ISDATE(string)</code></td><td>Retornará true se uma determinada cadeia de caracteres for uma data válida.<p>Exemplo:</p><p><code>ISDATE("2004-04-15") = True
</code></p></td></tr><tr><td><code>MONTH(date)</code></td><td><p>Retorna o mês da data especificada como um inteiro.</p><p>Exemplo:</p><p><code>MONTH(#2004-04-12#) = 4</code></p></td></tr><tr><td><code>NOW()</code></td><td>Retorna a data e a hora atuais.<p>Exemplo:</p><p><code>NOW() = 2004-05-12 1:08:21 PM
</code></p></td></tr><tr><td><code>TODAY()</code></td><td>Retorna a data atual.<p>Exemplo:</p><p><code>TODAY() = 2004-05-12</code></p></td></tr><tr><td><code>YEAR(date)</code></td><td>Retorna o ano da data especificada como um inteiro.<p>Exemplo:</p><p><code>YEAR(#2004-04-12#) = 2004
</code></p></td></tr></tbody></table>

### Funções lógicas

<table style="width: 100%;" class="simple-table"><colgroup><col style="width: 276px;"><col></colgroup><tbody><tr><th>Sintaxe</th><th>Descrição</th></tr><tr><td><code>IFNULL(expr1, expr2)</code></td><td>Retorna <code>&lt;expr1&gt;</code> se for não nulo, caso contrário, retorna <code>&lt;expr2&gt;</code>.<p>Exemplo:</p><p><code>IFNULL([Profit], 0)</code></p></td></tr><tr><td><code>IIF(test, then, else, [unknown])</code></td><td>Verifica se uma condição é atendida e retorna um valor se VERDADEIRA, outro valor se FALSA e um terceiro valor opcional ou NULO se desconhecida.<p>Exemplo:</p><p><code>IIF([Profit] &gt; 0, 'Profit', 'Loss')</code></p></td></tr><tr><td><code>ISDATE(string)</code></td><td>Retornará true se uma determinada cadeia de caracteres for uma data válida.<p>Exemplo:</p><p><code>ISDATE("2004-04-15") = True</code></p></td></tr><tr><td><code>ISNULL(expression)</code></td><td>Retorna true se a expressão não contiver dados válidos (<code>Null</code>).<p>Exemplo:</p><p><code>ISNULL([Profit])
</code></p></td></tr><tr><td><code>ZN(expression)</code></td><td><p>Retorna a expressão se não for nulo, caso contrário, retorna zero. Use essa função para utilizar valores de zero, em vez de valores nulos.</p><p>Exemplo:</p><p><code>ZN([Profit]) = [Profit]</code></p></td></tr></tbody></table>

### Funções analíticas

<table style="width: 100%;" class="simple-table"><colgroup><col style="width: 276px;"><col></colgroup><tbody><tr><th>Sintaxe</th><th>Descrição</th></tr><tr><td><code>LAST_VALUE(expression, [return_last_non-null_value])</code></td><td>Retorna o último valor da expressão especificada a partir da primeira linha na partição para a linha atual. Aceita um segundo parâmetro booliano opcional para retornar o último valor não nulo.<p>Exemplo:</p><p><code>{ ORDERBY [Row ID] ASC: LAST_VALUE([Category], true) } = returns the last non-null value of [Category]
</code></p></td></tr><tr><td><code>LOOKUP(expression, [offset])</code></td><td><p>Retorna o valor da expressão especificada em uma linha de destino, especificada como uma compensação relativa da linha atual. Retornará NULL se a linha de destino não puder ser determinada.</p><p>O parâmetro [<code>offset</code>] da função <code>LOOKUP </code> só pode receber um número inteiro literal, como 1.</p><p>Exemplo:</p><p><code>{ORDERBY [DATE] ASC : LOOKUP([SALES], -1)} </code></p><p>Retorna o valor SALES da linha anterior.</p></td></tr><tr><td><code>NTILE(number)</code></td><td>Distribui linhas em uma partição selecionada em um número especificado de grupos ou blocos. Com esta função o conjunto de valores (6,9,9,14) distribuídos por 3 peças seria atribuído às peças (1,2,2,3) em ordem crescente.<p>Exemplo:</p><p><code>{PARTITION [Customer]: {ORDERBY [Sales] ASC: NTILE(3) }}</code></p></td></tr><tr><td><code>RANK()</code></td><td>Retorna a posição na classificação da concorrência padrão para a linha atual da partição. Valores idênticos são colocados em uma posição na classificação idêntica.<p>Exemplo:</p><p><code>{PARTITION [Customer]: {ORDERBY [Sales] ASC: RANK() }}
</code></p></td></tr><tr><td><code>RANK_DENSE()</code></td><td>Retorna a posição na classificação densa para a linha atual na partição. Para valores idênticos, são atribuídos uma mesma posição na classificação, mas nenhuma lacuna é inserida na sequência numérica.<p>Exemplo:</p><p><code>{PARTITION [Customer]: {ORDERBY [Sales] ASC: RANK_DENSE() }}
</code></p></td></tr><tr><td><code>RANK_MODIFIED()</code></td><td>Retorna a posição na classificação da concorrência modificada para a linha atual na partição. Valores idênticos são colocados em uma posição na classificação idêntica.<p>Exemplo:</p><p><code>{PARTITION [Customer]: {ORDERBY [Sales] ASC: RANK_MODIFIED() }}</code></p></td></tr><tr><td><code>RANK_PERCENTILE()</code></td><td>Retorna a posição na classificação percentil para a linha atual na partição.<p>Exemplo:</p><p><code>{PARTITION [Customer]: {ORDERBY [Sales] ASC: RANK_PERCENTILE() }}</code></p></td></tr><tr><td><code>ROW_NUMBER()</code></td><td>Retorna uma ID de linha sequencial exclusivo para cada linha.<p>Exemplo:</p><p><code>{PARTITION [Customer]: {ORDERBY [Sales] ASC: ROW_NUMBER() }}</code></p></td></tr><tr><td><code>RUNNING_AVG(expression)</code></td><td>Retorna a média em execução da expressão especificada a partir da primeira linha na partição para a linha atual.<p>Exemplo:</p><p><code>{ PARTITION [Category] : { ORDERBY [Row ID] ASC : RUNNING_AVG([Sales]) } } = running average of Sales, per Category.
</code></p></td></tr><tr><td><code>RUNNING_SUM(expression)</code></td><td>Retorna a soma em execução da expressão especificada a partir da primeira linha na partição para a linha atual.<p>Exemplo:</p><p><code>{ ORDERBY [Row ID] ASC : RUNNING_SUM([Sales]) } = running sum of all Sales</code></p></td></tr></tbody></table>

### Palavras-chave

<table style="width: 100%;" class="simple-table"><colgroup><col style="width: 276px;"><col></colgroup><tbody><tr><th>Função</th><th>Descrição</th></tr><tr><td><code>AND</code></td><td>Executa uma conjunção lógica em duas expressões <p>Exemplo:</p><p><code>IF (ATTR([Market]) = "New Business" AND SUM([Sales]) &gt; [Emerging Threshold] )THEN "Well Performing"</code></p></td></tr><tr><td><code>ASC</code></td><td>Define a ordem crescente para operações <code>ORDERBY </code>.<p>Exemplo</p><p><code>{ORDERBY [Sales] ASC:RANK()}</code></p></td></tr><tr><td><code>CASE</code></td><td>Encontra o primeiro &lt;<code>value</code>&gt; que corresponde <code>&lt;expr</code>&gt; e retorna ao &lt;<code>return</code>&gt; correspondente.<p>Exemplo:</p><p><code>CASE [RomanNumeral] WHEN "|" THEN 1 WHEN "II" THEN 2 ELSE 3 END</code></p></td></tr><tr><td><code>DESC</code></td><td>Define a ordem decrescente para operações <code>ORDERBY </code>. <p>Exemplo:</p><p><code>{ORDERBY [Sales] DESC:RANK()}</code></p></td></tr><tr><td><code>ELSE</code></td><td>Testa uma série de expressões retornando o valor &lt;<code>then</code>&gt; para o primeiro &lt;<code>expr</code>&gt; true. <p>Exemplo:</p><p><code>IF [Profit] &gt; 0 THEN 'Profitable' ELSE 'Loss' END</code></p></td></tr><tr><td><code>ELSEIF</code></td><td>Testa uma série de expressões retornando o valor &lt;<code>then</code>&gt; para o primeiro &lt;<code>expr</code>&gt; true. Equivale a colocar uma instrução <code>if</code> dentro de uma operação ELSE.<p>Exemplo:</p><p><code>IF [Profit] &gt; 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END</code></p></td></tr><tr><td><code>END</code></td><td>Encerra uma operação introduzida pela diretiva correspondente.<p>Exemplo:</p><p><code>IF [Profit] &gt; 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END</code></p></td></tr><tr><td><code>{ FIXED }</code></td><td>As expressões de nível de detalhe FIXED calculam valores usando as dimensões especificadas sem referência ao nível de detalhe da visualização. <p>Exemplo:</p><p><code>{FIXED[Customer ID]:MIN([Order Date])}</code></p></td></tr><tr><td><code>IF</code></td><td>Criar declaração condicional (instruções <code>IF</code>) e permite que você execute somente se uma condição for True.<p>Exemplo:</p><p><code>IF [Profit] &gt; 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END</code></p></td></tr><tr><td><code>NOT</code></td><td>Executa uma negação lógica em uma expressão. <p>Exemplo:</p><p><code>IF NOT [Profit] &gt; 0 THEN "Unprofitable" END</code></p></td></tr><tr><td><code>OR</code></td><td>Executa uma disjunção lógica em uma expressão. <p>Exemplo:</p><p><code>IF [Profit] &lt; 0 OR [Profit] = 0 THEN "Needs Improvement" END</code></p></td></tr><tr><td><code>{ ORDERBY </code>}</td><td>Define a ordem de aplicação das funções analíticas. Use o argumento asc | desc opcional para especificar a ordem crescente ou decrescente para cada campo. <p>Exemplo:</p><p><code>{ORDERBY [Customer Name] ASC, [Sales] DESC: RANK() }</code></p></td></tr><tr><td><code>{ PARTITION }</code></td><td>Define o grupo para funções analíticas. ORDERBY deve estar dentro da partição. <p>Exemplo:</p><p><code>{PARTITION [Customer]: {ORDERBY [Sales]: RANK()}}</code></p></td></tr><tr><td><code>THEN</code></td><td>Testa uma série de expressões retornando o valor &lt;<code>then</code>&gt; para o primeiro &lt;<code>expr</code>&gt; true. <p>Exemplo:</p><p><code>IF [Profit] &gt; 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Break even' ELSE 'unprofitable' END</code></p></td></tr><tr><td><code>WHEN</code></td><td>Encontra o primeiro &lt;<code>value</code>&gt; que corresponde <code>expr</code>&gt; e retorna ao &lt;<code>return</code>&gt; correspondente. <p>Exemplo:</p><p><code>CASE [RomanNumberal] WHEN 'I' THEN 1 WHEN 'II' THEN 2 ELSE 3 END</code></p></td></tr></tbody></table>