Funções

Existem vários tipos de funções que pode utilizar em expressões.

Tópicos:

Funções de Agregação

As funções de agregação efetuam operações em vários valores para criarem resultados de resumo.

A lista seguinte descreve as regras de agregação que estão disponíveis para colunas e colunas de medidas. A lista também inclui as funções que pode utilizar ao criar itens calculados para análises.

  • Valor por Omissão — Aplica a regra de agregação por omissão como no modelo semântico ou do autor original da análise. Não disponível para itens calculados em análises.

  • Determinado pelo Servidor — Aplica a regra de agregação determinada pelo Oracle Analytics (tal como a regra definida no modelo semântico). A agregação é efetuada no Oracle Analytics para regras simples como Soma, Mín. e Máx. Não disponível para colunas de medidas no painel Disposição ou para itens calculados em análises.

  • Soma — Calcula a soma obtida através da adição de todos os valores no conjunto de resultados. Utilize para itens que têm valores numéricos.

  • Mín. — Calcula o valor mínimo (valor numérico mais baixo) das linhas no conjunto de resultados. Utilize para itens que têm valores numéricos.

  • Máx. — Calcula o valor máximo (valor numérico mais alto) das linhas no conjunto de resultados. Utilize para itens que têm valores numéricos.

  • Média — Calcula o valor médio (média) de um item no conjunto de resultados. Utilize para itens que têm valores numéricos. As médias nas tabelas e tabelas dinâmicas são arredondadas para o número inteiro mais próximo.

  • Primeiro — No conjunto de resultados, seleciona a primeira ocorrência do item para medidas. Para itens calculados, seleciona o primeiro membro de acordo com a apresentação na lista Selecionados. Não disponível na caixa de diálogo Editar Fórmula da Coluna.

  • Último — No conjunto de resultados, seleciona a última ocorrência do item. Para itens calculados, seleciona o último membro de acordo com a apresentação na lista Selecionados. Não disponível na caixa de diálogo Editar Fórmula da Coluna.

  • Contagem — Calcula o número de linhas no conjunto de resultados que têm um valor não nulo para o item. Normalmente, o item é um nome de coluna e, nesse caso, é devolvido o número de linhas com valores não nulos para essa coluna.

  • Contar Valores Distintos — Acrescenta processamento distinto à função Contagem, o que significa que cada ocorrência distinta do item é contada apenas uma vez.

  • Nenhuma — Não aplica qualquer agregação. Não disponível para itens calculados em análises.

  • Total Baseado no Relatório (quando aplicável) — Se não estiver selecionado, especifica que o Oracle Analytics deve calcular o total com base no conjunto de resultados completo, antes de aplicar quaisquer filtros às medidas. Não disponível na caixa de diálogo Editar Fórmula da Coluna ou para itens calculados em análises. Apenas disponível para colunas de atributos.

Função Exemplo Descrição Sintaxe

AGGREGATE AT

AGGREGATE(sales AT year)

Agrega as colunas com base no nível ou níveis na hierarquia do modelo de dados que especificar.

  • measure é o nome de uma coluna da medida.
  • level é o nível no qual pretende agregar.

Opcionalmente, pode especificar mais de um nível. Não pode especificar um nível a partir de uma dimensão com níveis que estão a ser utilizados como o nível da medida que especificou no primeiro argumento. Por exemplo, não pode escrever a função como AGGREGATE(yearly_sales AT month) se month for da mesma dimensão de tempo utilizada como nível de medida para yearly_sales.

AGGREGATE(measure AT level [, level1, levelN])

AGGREGATE BY AGGREGATE(sales BY month, region) Agrega uma medida com base numa ou mais colunas de dimensão.
  • measure é o nome de uma coluna da medida a agregar.

  • column é a coluna de dimensão na qual pretende agregar.
Pode agregar medidas com base em mais de uma coluna.
AGGREGATE(measure BY column [, column1, columnN])

AVG

Avg(Sales)

Calcula a média de um conjunto numérico de valores.

AVG(expr)

AVGDISTINCT

 

Calcula o valor médio (média) de todos os valores distintos de uma expressão.

AVG(DISTINCT expr)

BIN

BIN(revenue BY productid, year WHERE productid > 2 INTO 4 BINS RETURNING RANGE_LOW)

Classifica uma determinada expressão numérica num número especificado de intervalos com largura igual. A função pode devolver o número do agrupamento ou um dos dois endpoints do intervalo do agrupamento. numeric_expr é a medida ou atributo numérico para o agrupamento. BY grain_expr1,…, grain_exprN é uma lista de expressões que definem a granularidade em que numeric_expr é calculado. BY é obrigatório para as expressões da medida e é opcional para as expressões do atributo. WHERE um filtro para aplicar a numeric_expr antes de os valores numéricos serem atribuídos aos agrupamentos INTO number_of_bins BINS é o número de agrupamentos a devolver BETWEEN min_value AND max_value são os valores mínimo e máximo utilizados para os endpoints dos agrupamentos mais externos RETURNING NUMBER indica que o valor de retorno deve ser o número do agrupamento (1, 2, 3, 4, etc.). Este é o valor por omissão. RETURNING RANGE_LOW indica o valor inferior do intervalo do agrupamento RETURNING RANGE_HIGH indica o valor superior do intervalo do agrupamento

BIN(numeric_expr [BY grain_expr1, ..., grain_exprN] [WHERE condition] INTO number_of_bins BINS [BETWEEN min_value AND max_value] [RETURNING {NUMBER | RANGE_LOW | RANGE_HIGH}])

BottomN

 

Classifica os valores n mais baixos do argumento de expressão de 1 para n, sendo que 1 corresponde ao valor numérico mais baixo.

expr é qualquer expressão que resulta num valor numérico. integer é qualquer número inteiro positivo. Representa o número inferior de classificações apresentadas no conjunto de resultados, sendo 1 a classificação mais baixa.

BottomN(expr, integer)

COUNT

COUNT(Products)

Determina o número de itens com um valor não nulo.

COUNT(expr)

COUNTDISTINCT

 

Acrescenta processamento distinto à função COUNT.

expr é qualquer expressão.

COUNT(DISTINCT expr)

COUNT*

SELECT COUNT(*) FROM Facts

Conta o número de linhas.

COUNT(*)

Primeiro

First(Sales)

Seleciona o primeiro valor não nulo devolvido do argumento da expressão. A função First opera ao nível mais detalhado especificado na dimensão definida explicitamente.

First([NumericExpression)]

Último

Last(Sales)

Seleciona o último valor não nulo devolvido da expressão.

Last([NumericExpression)]

MAVG

 

Calcula uma média móvel (média) para as últimas n linhas de dados no conjunto de resultados, incluindo a linha atual.

expr é qualquer expressão que resulta num valor numérico. integer é qualquer número inteiro positivo. Representa a média das últimas n linhas de dados.

MAVG(expr, integer)

MAX

MAX(Revenue)

Calcula o valor máximo (valor numérico mais alto) das linhas que satisfazem o argumento da expressão numérica.

MAX(expr)

MEDIAN

MEDIAN(Sales)

Calcula o valor mediano (intermédio) das linhas que satisfazem o argumento da expressão numérica. Quando existe um número par de linhas, o mediano é a média das duas linhas do meio. Esta função devolve sempre um duplo.

MEDIAN(expr)

MIN

MIN(Revenue)

Calcula o valor mínimo (valor numérico mais baixo) das linhas que satisfazem o argumento da expressão numérica.

MIN(expr)

NTILE

 

Determina a classificação de um valor em termos de um intervalo especificado por um utilizador. Devolve números inteiros para representar um intervalo de classificações. NTILE com numTiles=100 devolve o que é normalmente denominado de "percentil" (com números de 1 a 100, em que 100 representa o limite superior da ordenação).

expr é qualquer expressão que resulta num valor numérico. numTiles é um número inteiro positivo não nulo que representa o número de mosaicos.

NTILE(expr, numTiles)

PERCENTILE

 

Calcula uma classificação de percentil para cada valor que satisfaça o argumento da expressão numérica. Os intervalos de classificações de percentil são entre 0 (percentil 0) a 1 (percentil 100).

expr é qualquer expressão que resulta num valor numérico.

PERCENTILE(expr)

RANK

RANK(chronological_key, null, year_key_columns)

Calcula a classificação de cada valor que satisfaz o argumento da expressão numérica. Ao número mais alto é atribuída a classificação de 1 e a cada classificação sucessiva é atribuído o próximo número inteiro consecutivo (2, 3, 4,...). Se determinados valores forem iguais, são atribuídos à mesma classificação (por exemplo, 1, 1, 1, 4, 5, 5, 7...).

expr é qualquer expressão que resulta num valor numérico.

RANK(expr)

STDDEV

STDDEV(Sales) STDDEV(DISTINCT Sales)

Devolve o desvio padrão de um conjunto de valores. O tipo devolvido é sempre um duplo.

STDDEV(expr)

STDDEV_POP

STDDEV_POP(Sales) STDDEV_POP(DISTINCT Sales)

Devolve o desvio padrão de um conjunto de valores através da utilização da fórmula computacional para variância completa e desvio padrão.

STDDEV_POP([NumericExpression])

SUM

SUM(Revenue)

Calcula a soma obtida através da adição de todos os valores que satisfazem o argumento da expressão numérica.

SUM(expr)

SUMDISTINCT

 

Calcula a soma obtida através da adição de todos os valores distintos que satisfazem o argumento da expressão numérica.

expr é qualquer expressão que resulta num valor numérico.

SUM(DISTINCT expr)

TOPN

 

Classifica os valores n mais elevados do argumento de expressão de 1 para n, sendo que 1 corresponde ao valor numérico mais elevado.

expr é qualquer expressão que resulta num valor numérico. integer é qualquer número inteiro positivo. Representa o número superior de classificações apresentadas no conjunto de resultados, sendo 1 a classificação mais alta.

TOPN(expr, integer)

Funções Analíticas

As funções analíticas permitem-lhe explorar dados com modelos, como a linha de tendência e o cluster.

Função Exemplo Descrição Sintaxe

TRENDLINE

TRENDLINE(revenue, (calendar_year, calendar_quarter, calendar_month) BY (product), 'LINEAR', 'VALUE')

A Oracle recomenda que aplique uma Linha de Tendência através da propriedade Acrescentar Estatísticas ao ver uma visualização. Consulte Ajustar Propriedades da Visualização.

Ajusta um modelo linear, polinomial ou exponencial e devolve o modelo ou os valores ajustados. numeric_expr representa o valor Y para a tendência e series (colunas de tempo) representa o valor X.

TRENDLINE(numeric_expr, ([series]) BY ([partitionBy]), model_type, result_type)

CLUSTER

CLUSTER((product, company), (billed_quantity, revenue), 'clusterName', 'algorithm=k-means;numClusters=%1;maxIter=%2;useRandomSeed=FALSE;enablePartitioning=TRUE', 5, 10)

Agrupa um conjunto de registos em grupos com base numa ou mais expressões de entrada de dados através da utilização de K-Means ou Clustering Hierárquico.

CLUSTER((dimension_expr1 , ... dimension_exprN), (expr1, ... exprN), output_column_name, options, [runtime_binded_options])

OUTLIER

OUTLIER((product, company), (billed_quantity, revenue), 'isOutlier', 'algorithm=kmeans')

Classifica um registo como Outlier com base numa ou mais expressões de entrada de dados através da utilização de Algoritmos de deteção K-Means ou Clustering Hierárquico ou outros algoritmos de estatística multivariada.

OUTLIER((dimension_expr1 , ... dimension_exprN), (expr1, ... exprN), output_column_name, options, [runtime_binded_options])

REGR

REGR(revenue, (discount_amount), (product_type, brand), 'fitted', ')

Ajusta um modelo linear e devolve o modelo ou os valores ajustados. Esta função pode ser utilizada para ajustar uma curva linear em duas medidas.

REGR(y_axis_measure_expr, (x_axis_expr), (category_expr1, ..., category_exprN), output_column_name, options, [runtime_binded_options])

Funções de Conversão

As funções de conversão convertem um valor de uma forma para outra.

Função Exemplo Descrição Sintaxe

CAST

CAST(hiredate AS CHAR(40)) FROM employee

Altera o tipo de dados de uma expressão ou um literal nulo para outro tipo de dados. Por exemplo, pode converter um customer_name (um tipo de dados de CHAR ou VARCHAR) ou birthdate (um literal da data/hora).

Utilize CAST para mudar para um tipo de dados Date.

Não utilize TODATE.

CAST(expr AS type)

IFNULL

IFNULL(Sales, 0)

Testa se uma expressão resulta num valor nulo e, se isso se verificar, atribui o valor especificado à expressão.

IFNULL(expr, value)

INDEXCOL

SELECT INDEXCOL(VALUEOF (NQ_SESSION.GEOGRAPHY_LEVEL), Country, State, City), Revenue FROM Sales

Utiliza informação externa para devolver a coluna adequada para que o utilizador com sessão iniciada a possa visualizar.

INDEXCOL([integer literal], [expr1] [, [expr2], ?-])

NULLIF

SELECT e.last_name, NULLIF(e.job_id, j.job_id) "Old Job ID" FROM employees e, job_history j WHERE e.employee_id = j.employee_id ORDER BY last_name, "Old Job ID";

Compara duas expressões. Se forem iguais, a função devolve NULL. Se não forem iguais, a função devolve a primeira expressão. Não pode especificar o literal NULL para a primeira expressão.

NULLIF([expression], [expression])

To_DateTime

SELECT To_DateTime ('2009-03-0301:01:00', 'yyyy-mm-dd hh:mi:ss') FROM sales

Converte literais da cadeia de caracteres com o formato DateTime para um tipo de dados DateTime.

To_DateTime([expression], [literal])

VALUEOF

SalesSubjectArea.Customer.Region = VALUEOF("Region Security"."REGION")

Referencia o valor de uma variável do modelo semântico num filtro.

Utilize variáveis expr como argumentos da função VALUEOF. Referencie as variáveis do modelo semântico estáticas pelo nome.

VALUEOF(expr)

Funções de Data e Hora

As funções de data e hora manipulam dados baseados em DATE e DATETIME.

Função Exemplo Descrição Sintaxe

CURRENT_Date

CURRENT_DATE

Devolve a data atual.

A data é determinada pelo sistema no qual o Oracle BI está a ser executado.

CURRENT_DATE

CURRENT_TIME

CURRENT_TIME(3)

Devolve a hora atual com o número especificado de algarismos de precisão, por exemplo: HH:MM:SS.SSS

Se não for especificado nenhum argumento, a função devolve a precisão por omissão.

CURRENT_TIME(expr)

CURRENT_TIMESTAMP

CURRENT_TIMESTAMP(3)

Devolve a indicação de data/hora atual com o número especificado de algarismos de precisão.

CURRENT_TIMESTAMP(expr)

DAYNAME

DAYNAME(Order_Date)

Devolve o nome do dia da semana para uma expressão de data especificada.

DAYNAME(expr)

DAYOFMONTH

DAYOFMONTH(Order_Date)

Devolve o número correspondente ao dia do mês para uma expressão de data especificada.

DAYOFMONTH(expr)

DAYOFWEEK

DAYOFWEEK(Order_Date)

Devolve um número entre 1 e 7 correspondente ao dia da semana para uma expressão de data especificada. Por exemplo, 1 corresponde sempre a domingo, 2 corresponde a segunda-feira, e assim sucessivamente, até sábado que devolve 7.

DAYOFWEEK(expr)

DAYOFYEAR

DAYOFYEAR(Order_Date)

Devolve um número entre 1 e 366 correspondente ao dia do ano para uma expressão de data especificada.

DAYOFYEAR(expr)

DAY_OF_QUARTER

DAY_OF_QUARTER(Order_Date)

Devolve um número (entre 1 e 92) correspondente ao dia do trimestre para uma expressão de data especificada.

DAY_OF_QUARTER(expr)

HOUR

HOUR(Order_Time)

Devolve um número (entre 0 e 23) correspondente à hora para uma expressão de hora especificada. Por exemplo, 0 corresponde a 12 a.m. e 23 corresponde a 11 p.m.

HOUR(expr)

MINUTE

MINUTE(Order_Time)

Devolve um número (entre 0 e 59) correspondente ao minuto para uma expressão de hora especificada.

MINUTE(expr)

MONTH

MONTH(Order_Time)

Devolve o número (entre 0 e 12) correspondente ao mês para uma expressão de data especificada.

MONTH(expr)

MONTHNAME

MONTHNAME(Order_Time)

Devolve o nome do mês para uma expressão de data especificada.

MONTHNAME(expr)

MONTH_OF_QUARTER

MONTH_OF_QUARTER(Order_Date)

Devolve o número (entre 1 e 3) correspondente ao mês no trimestre para uma expressão de data especificada.

MONTH_OF_QUARTER(expr)

NOW

NOW()

Devolve a indicação de data/hora atual. A função NOW é equivalente à função CURRENT_TIMESTAMP.

NOW()

QUARTER_OF_YEAR

QUARTER_OF_YEAR(Order_Date)

Devolve o número (entre 1 e 4) correspondente ao trimestre do ano para uma expressão de data especificada.

QUARTER_OF_YEAR(expr)

SECOND

SECOND(Order_Time)

Devolve o número (entre 0 e 59) correspondente aos segundos para uma expressão de hora especificada.

SECOND(expr)

TIMESTAMPADD

TIMESTAMPADD(SQL_TSI_MONTH, 12,Time."Order Date")

Acrescenta um número especificado de intervalos a uma indicação de data/hora e devolve uma indicação de data/hora única.

As opções do intervalo são: SQL_TSI_SECOND, SQL_TSI_MINUTE, SQL_TSI_HOUR, SQL_TSI_DAY, SQL_TSI_WEEK, SQL_TSI_MONTH, SQL_TSI_QUARTER, SQL_TSI_YEAR

TIMESTAMPADD(interval, expr, timestamp)

TIMESTAMPDIFF

TIMESTAMPDIFF(SQL_TSI_MONTH, Time."Order Date",CURRENT_DATE)

Devolve o número total de intervalos especificados entre duas indicações de data/hora.

Utilize os mesmos intervalos que TIMESTAMPADD.

TIMESTAMPDIFF(interval, expr, timestamp2)

WEEK_OF_QUARTER

WEEK_OF_QUARTER(Order_Date)

Devolve um número (entre 1 e 13) correspondente à semana do trimestre para a expressão de data especificada.

WEEK_OF_QUARTER(expr)

WEEK_OF_YEAR

WEEK_OF_YEAR(Order_Date)

Devolve um número (entre 1 e 53) correspondente à semana do ano para a expressão de data especificada.

WEEK_OF_YEAR(expr)

YEAR

YEAR(Order_Date)

Devolve o ano para a expressão de data especificada.

YEAR(expr)

Funções de Extração de Datas

Estas funções calculam ou arredondam os valores de indicação de data/hora para o período de tempo especificado mais próximo, como hora, dia, semana, mês e trimestre.

Pode utilizar as indicações de data/hora calculadas para agregar dados utilizando uma granularidade diferente. Por exemplo, poderá aplicar a função EXTRACTDAY() às datas das encomendas de vendas para calcular uma indicação de data/hora para a meia-noite do dia em que as encomendas ocorrem, de modo a poder agregar os dados por dia.

Função Exemplo Descrição Sintaxe

Extrair Dia

EXTRACTDAY("Order Date")
  • 2/22/1967 3:02:01 AM devolve 2/22/1967 12:00:00 AM.
  • 9/2/2022 10:38:21 AM devolve 9/2/2022 12:00:00 AM.

Devolve uma indicação de data/hora para a meia-noite (12 AM) do dia em que o valor de entrada de dados ocorre. Por exemplo, se a indicação de data/hora da entrada de dados for para 3:02:01 AM no dia 22 de fevereiro, a função devolve a indicação de data/hora para 12:00:00 AM no dia 22 de fevereiro.

EXTRACTDAY(expr)

Extrair Hora

EXTRACTHOUR("Order Date")
  • 2/22/1967 3:02:01 AM devolve 2/22/1967 3:00:00 AM.
  • 6/17/1999 11:18:30 PM devolve 6/17/1999 11:00:00 PM.

Devolve uma indicação de data/hora para o início da hora em que o valor de entrada de dados ocorre. Por exemplo, se a indicação de data/hora da entrada de dados for para 11:18:30 PM, a função devolve a indicação de data/hora para 11:00:00 PM.

EXTRACTHOUR (expr)

Extrair Hora do Dia

EXTRACTHOUROFDAY("Order Date")
  • 2014/09/24 10:58:00 devolve 2000/01/01 10:00:00.
  • 2014/08/13 11:10:00 devolve 2000/01/01 11:00:00

Devolve uma indicação de data/hora em que a hora é igual à hora do valor de entrada de dados com valores por omissão para o ano, mês, dia, minutos e segundos.

EXTRACTHOUROFDAY(expr)

Extrair Milésimo de Segundo

EXTRACTMILLISECOND("Order Date")
  • 1997/01/07 15:32:02.150 devolve 1997/01/07 15:32:02.150.
  • 1997/01/07 18:42:01.265 devolve 1997/01/07 18:42:01.265.
Devolve uma indicação de data/hora com milésimos de segundo para o valor de entrada de dados. Por exemplo, se a indicação de data/hora da entrada de dados for para 15:32:02.150, a função devolve a indicação de data/hora para 15:32:02.150.

EXTRACTMILLISECOND(expr)

Extrair Minuto

EXTRACTMINUTE("Order Date")
  • 6/17/1999 11:18:00 PM devolve 6/17/1999 11:18:00 PM.
  • 9/2/2022 10:38:21 AM devolve 9/2/2022 10:38:00 AM.

Devolve uma indicação de data/hora para o início do minuto em que o valor de entrada de dados ocorre. Por exemplo, se a indicação de data/hora da entrada de dados for para 11:38:21 AM, a função devolve a indicação de data/hora para 11:38:00 AM.

EXTRACTMINUTE (expr)

Extrair Mês

EXTRACTMONTH("Order Date")
  • 2/22/1967 3:02:01 AM devolve 2/1/1967 12:00:00 AM.
  • 6/17/1999 11:18:00 PM devolve 6/1/1999 12:00:00 AM.

Devolve uma indicação de data/hora para o primeiro dia do mês em que o valor de entrada de dados ocorre. Por exemplo, se a indicação de data/hora da entrada de dados for para 22 de fevereiro, a função devolve a indicação de data/hora para 1 de fevereiro.

EXTRACTMONTH(expr)

Extrair Trimestre

EXTRACTQUARTER("Order Date")
  • 2/22/1967 3:02:01 AM devolve 1/1/1967 12:00:00 AM, o primeiro dia do primeiro trimestre fiscal.
  • 6/17/1999 11:18:00 PM devolve 4/1/1999 12:00:00 AM, o primeiro dia do segundo trimestre fiscal.

  • 9/2/2022 10:38:21 AM devolve 7/1/2022 12:00:00 AM, o primeiro dia do terceiro trimestre fiscal.

    Sugestão: Utilize QUARTER (expr) para calcular apenas o trimestre ordinal a partir da indicação de data/hora devolvida.

Devolve uma indicação de data/hora para o primeiro dia do trimestre em que o valor de entrada de dados ocorre. Por exemplo, se a indicação de data/hora da entrada de dados ocorrer no terceiro trimestre fiscal, a função devolve a indicação de data/hora para 1 de julho.

EXTRACTQUARTER(expr)

Extrair Segundo

EXTRACTSECOND("Order Date")
  • 1997/01/07 15:32:02.150 devolve 1997/01/07 15:32:02.
  • 1997/01/07 20:44:18.163 devolve 1997/01/07 20:44:18.

Devolve uma indicação de data/hora para o valor de entrada de dados. Por exemplo, se a indicação de data/hora da entrada de dados for para 15:32:02.150, a função devolve a indicação de data/hora para 15:32:02.

EXTRACTSECOND(expr)

Extrair Semana

EXTRACTWEEK("Order Date")
  • 2014/09/24 10:58:00 devolve 2014/09/21.

  • 2014/08/13 11:10:00 devolve 2014/08/10.

Devolve a data do primeiro dia da semana (domingo) em que o valor de entrada de dados ocorre. Por exemplo, se a indicação de data/hora da entrada de dados for para quarta-feira, 24 de setembro, a função devolve a indicação de data/hora para domingo, 21 de setembro.

EXTRACTWEEK(expr)

Extrair Ano

EXTRACTYEAR("Order Date")
  • 1967/02/22 03:02:01 devolve 1967/01/01 00:00:00.
  • 1999/06/17 23:18:00 devolve 1999/01/01 00:00:00.

Devolve uma indicação de data/hora para 1 de janeiro do ano em que o valor de entrada de dados ocorre. Por exemplo, se a indicação de data/hora da entrada de dados ocorrer em 1967, a função devolve a indicação de data/hora para 1 de janeiro de 1967.

EXTRACTYEAR (expr)

Funções de Apresentação

As funções de apresentação operam no conjunto de resultados de uma consulta.

Função Exemplo Descrição Sintaxe

BottomN

BottomN(Sales, 10)

Devolve os valores mais altos da expressão n, por ordem crescente.

BottomN([NumericExpression], [integer])

FILTER

FILTER(Sales USING Product = 'widget')

Calcula a expressão através do filtro pré-agregado fornecido.

FILTER(measure USING filter_expr)

MAVG

MAVG(Sales, 10)

Calcula uma média móvel (média) para as últimas n linhas de dados no conjunto de resultados, incluindo a linha atual.

MAVG([NumericExpression], [integer])

MSUM

SELECT Month, Revenue, MSUM(Revenue, 3) as 3_MO_SUM FROM Sales

Calcula uma soma móvel para as últimas n linhas de dados, incluindo a linha atual.

A soma da primeira linha é igual à expressão numérica da primeira linha. A soma da segunda linha é calculada somando as duas primeiras linhas de dados, etc. Quando a linha número n é atingida, a soma é calculada com base nas últimas n linhas de dados.

MSUM([NumericExpression], [integer])

NTILE

NTILE(Sales, 100)

Determina a classificação de um valor em termos de um intervalo especificado por um utilizador. Devolve números inteiros para representar um intervalo de classificações. O exemplo mostra um intervalo de 1 a 100, com a menor venda = 1 e a maior venda = 100.

NTILE([NumericExpresssion], [integer])

PERCENTILE

PERCENTILE(Sales)

Calcula uma classificação da percentagem de cada valor que satisfaz o argumento da expressão numérica. Os intervalos da classificação de percentil vão de 0 (percentil 1) a 1 (percentil 100), inclusive.

PERCENTILE([NumericExpression])

RANK

RANK(Sales)

Calcula a classificação de cada valor que satisfaz o argumento da expressão numérica. Ao número mais alto é atribuída a classificação de 1 e a cada classificação sucessiva é atribuído o próximo número inteiro consecutivo (2, 3, 4,...). Se determinados valores forem iguais, são atribuídos à mesma classificação (por exemplo, 1, 1, 1, 4, 5, 5, 7...).

RANK([NumericExpression])

RCOUNT

SELECT month, profit, RCOUNT(profit) FROM sales WHERE profit > 200

Assume um conjunto de registos como entrada de dados e conta o número de registos encontrados até agora.

RCOUNT([NumericExpression])

RMAX

SELECT month, profit, RMAX(profit) FROM sales

Assume um conjunto de registos como entrada de dados e mostra o valor máximo com base nos registos encontrados até agora. É necessário que o tipo de dados especificado permita ordenação.

RMAX([NumericExpression])

RMIN

SELECT month, profit, RMIN(profit) FROM sales

Assume um conjunto de registos como entrada de dados e mostra o valor mínimo com base nos registos encontrados até agora. É necessário que o tipo de dados especificado permita ordenação.

RMIN([NumericExpression])

RSUM

SELECT month, revenue, RSUM(revenue) as RUNNING_SUM FROM sales

Calcula uma soma cumulativa com base nos registos encontrados até agora.

A soma da primeira linha é igual à expressão numérica da primeira linha. A soma da segunda linha é calculada somando as duas primeiras linhas de dados, etc.

RSUM([NumericExpression])

TOPN

TOPN(Sales, 10)

Devolve os valores mais altos da expressão n, por ordem decrescente.

TOPN([NumericExpression], [integer])

Funções de Avaliação

As funções de avaliação são funções da base de dados que podem ser utilizadas na transmissão de expressões para obtenção de cálculos avançados.

As funções de base de dados incorporadas podem necessitar de uma ou mais colunas. Estas colunas são referenciadas por %1 ... %N na função. As colunas reais têm de ser apresentadas depois da função.

Função Exemplo Descrição Sintaxe

EVALUATE

SELECT EVALUATE('instr(%1, %2)', address, 'Foster City') FROM employees

Transmite a função da base de dados especificada com as colunas referenciadas opcionais como parâmetros à base de dados para avaliação.

EVALUATE([string expression], [comma separated expressions])

EVALUATE_AGGR

EVALUATE_AGGR('REGR_SLOPE(%1, %2)', sales.quantity, market.marketkey)

Transmite a função da base de dados especificada com as colunas referenciadas opcionais como parâmetros à base de dados para avaliação. Esta função destina-se a funções de agregação com uma cláusula GROUP BY.

EVALUATE_AGGR('db_agg_function(%1...%N)' [AS datatype] [, column1, columnN])

Funções Matemáticas

As funções matemáticas descritas nesta secção efetuam operações matemáticas.

Função Exemplo Descrição Sintaxe

ABS

ABS(Profit)

Calcula o valor absoluto de uma expressão numérica.

expr é qualquer expressão que resulta num valor numérico.

ABS(expr)

ACOS

ACOS(1)

Calcula o arco cosseno de uma expressão numérica.

expr é qualquer expressão que resulta num valor numérico.

ACOS(expr)

ASIN

ASIN(1)

Calcula o arco seno de uma expressão numérica.

expr é qualquer expressão que resulta num valor numérico.

ASIN(expr)

ATAN

ATAN(1)

Calcula o arco tangente de uma expressão numérica.

expr é qualquer expressão que resulta num valor numérico.

ATAN(expr)

ATAN2

ATAN2(1, 2)

Calcula o arco tangente de y/x, em que y é a primeira expressão numérica e x é a segunda expressão numérica.

ATAN2(expr1, expr2)

CEILING

CEILING(Profit)

Arredonda uma expressão numérica não inteira para o número inteiro mais alto seguinte. Se a expressão numérica resultar num número inteiro, a função CEILING devolve esse número inteiro.

CEILING(expr)

COS

COS(1)

Calcula o cosseno de uma expressão numérica.

expr é qualquer expressão que resulta num valor numérico.

COS(expr)

COT

COT(1)

Calcula a cotangente de uma expressão numérica.

expr é qualquer expressão que resulta num valor numérico.

COT(expr)

DEGREES

DEGREES(1)

Converte uma expressão de radianos em graus.

expr é qualquer expressão que resulta num valor numérico.

DEGREES(expr)

EXP

EXP(4)

Envia o valor para a potência especificada. Calcula e elevado à potência n, em que e é a base do logaritmo natural.

EXP(expr)

ExtractBit

Int ExtractBit(1, 5)

Obtém um bit numa posição específica de um número inteiro. Devolve um número inteiro 0 ou 1 correspondente à posição do bit.

ExtractBit([Source Number], [Digits])

FLOOR

FLOOR(Profit)

Arredonda uma expressão numérica não inteira para o número inteiro mais baixo seguinte. Se a expressão numérica resultar num número inteiro, a função FLOOR devolve esse número inteiro.

FLOOR(expr)

LOG

LOG(1)

Calcula o logaritmo natural de uma expressão.

expr é qualquer expressão que resulta num valor numérico.

LOG(expr)

LOG10

LOG10(1)

Calcula o logaritmo de base 10 de uma expressão.

expr é qualquer expressão que resulta num valor numérico.

LOG10(expr)

MOD

MOD(10, 3)

Divide a primeira expressão numérica pela segunda expressão numérica e devolve a parte restante do quociente.

MOD(expr1, expr2)

PI

PI()

Devolve o valor constante de pi.

PI()

POWER

POWER(Profit, 2)

Assume a primeira expressão numérica e eleva-a à potência especificada na segunda expressão numérica.

POWER(expr1, expr2)

RADIANS

RADIANS(30)

Converte uma expressão de graus em radianos.

expr é qualquer expressão que resulta num valor numérico.

RADIANS(expr)

RAND

RAND()

Devolve um número pseudoaleatório entre 0 e 1.

RAND()

RANDFromSeed

RAND(2)

Devolve um número pseudoaleatório com base num valor inicial. Para um valor inicial específico, é gerado o mesmo conjunto de números aleatórios.

RAND(expr)

ROUND

ROUND(2.166000, 2)

Arredonda uma expressão numérica para n dígitos de precisão.

expr é qualquer expressão que resulta num valor numérico.

integer é qualquer número inteiro positivo que representa o número de dígitos de precisão.

ROUND(expr, integer)

SIGN

SIGN(Profit)

Devolve o seguinte:

  • 1 se a expressão numérica resultar num número positivo

  • -1 se a expressão numérica resultar num número negativo

  • 0 se a expressão numérica resultar em zero

SIGN(expr)

SIN

SIN(1)

Calcula o seno de uma expressão numérica.

SIN(expr)

SQRT

SQRT(7)

Calcula a raiz quadrada do argumento da expressão numérica. A expressão numérica tem de resultar num número não negativo.

SQRT(expr)

TAN

TAN(1)

Calcula a tangente de uma expressão numérica.

expr é qualquer expressão que resulta num valor numérico.

TAN(expr)

TRUNCATE

TRUNCATE(45.12345, 2)

Trunca um número decimal para devolver um número especificado de casas a partir do separador decimal.

expr é qualquer expressão que resulta num valor numérico.

integer é qualquer número inteiro positivo que representa o número de caracteres à direita da casa decimal a devolver.

TRUNCATE(expr, integer)

Funções de Agregação Cumulativa

As funções de agregação em execução efetuam operações em vários valores de modo a criar resultados de resumo.

Função Exemplo Descrição Sintaxe

MAVG

 

Calcula uma média móvel (média) para as últimas n linhas de dados no conjunto de resultados, incluindo a linha atual.

expr é qualquer expressão que resulta num valor numérico. integer é qualquer número inteiro positivo. Representa a média das últimas n linhas de dados.

MAVG(expr, integer)

MSUM

select month, revenue, MSUM(revenue, 3) as 3_MO_SUM from sales_subject_area

Calcula uma soma móvel para as últimas n linhas de dados, incluindo a linha atual.

expr é qualquer expressão que resulta num valor numérico. integer é qualquer número inteiro positivo. Representa a soma das últimas n linhas de dados.

MSUM(expr, integer)

RSUM

SELECT month, revenue, RSUM(revenue) as RUNNING_SUM from sales_subject_area

Calcula uma soma cumulativa com base nos registos encontrados até agora.

expr é qualquer expressão que resulta num valor numérico.

RSUM(expr)

RCOUNT

select month, profit, RCOUNT(profit) from sales_subject_area where profit > 200

Assume um conjunto de registos como entrada de dados e conta o número de registos encontrados até agora.

expr é uma expressão de qualquer tipo de dados.

RCOUNT(expr)

RMAX

SELECT month, profit,RMAX(profit) from sales_subject_area

Assume um conjunto de registos como entrada de dados e mostra o valor máximo com base nos registos encontrados até agora.

expr é uma expressão de qualquer tipo de dados.

RMAX(expr)

RMIN

select month, profit,RMIN(profit) from sales_subject_area

Assume um conjunto de registos como entrada de dados e mostra o valor mínimo com base nos registos encontrados até agora.

expr é uma expressão de qualquer tipo de dados.

RMIN(expr)

Funções Espaciais

As funções espaciais permitem-lhe efetuar a análise geográfica quando modela dados. Por exemplo, poderá calcular a distância entre duas áreas geográficas (conhecidas como formas ou polígonos).

Nota:

Não pode utilizar estas funções espaciais em cálculos customizados para livros de visualização.
Função Exemplo Descrição Sintaxe
GeometryArea

GeometryArea(Shape)

Calcula a área que uma forma ocupa.

GeometryArea(Shape)

GeometryDistance

GeometryDistance(TRIP_START, TRIP_END)

Calcula a distância entre duas formas.

GeometryDistance(Shape 1, Shape 2)

GeometryLength

GeometryLength(Shape)

Calcula a circunferência de uma forma.

GeometryLength(Shape)

GeometryRelate

GeometryRelate(TRIP_START, TRIP_END)

Determina se uma forma está dentro de outra forma. Devolve TRUE ou FALSE como uma cadeia de caracteres (varchar).

GeometryRelate(Shape 1, Shape 2)

GeometryWithinDistance

GeometryWithinDistance(TRIP_START, TRIP_END, 500)

Determina se duas formas estão a uma distância especificada uma da outra. Devolve TRUE ou FALSE como uma cadeia de caracteres (varchar).

GeometryWithinDistance(Shape1, Shape2, DistanceInFloat)

Funções de Cadeia de Caracteres

As funções de cadeia de caracteres efetuam várias manipulações de caracteres. Estas funções operam ao nível das cadeias de caracteres.

Função Exemplo Descrição Sintaxe

ASCII

ASCII('a')

Converte uma cadeia de caracteres única no respetivo código ASCII correspondente, entre 0 e 255. Se a expressão de caracteres resultar em vários caracteres, é devolvido o código ASCII correspondente ao primeiro carácter da expressão.

expr é qualquer expressão que resulta numa cadeia de caracteres.

ASCII(expr)

BIT_LENGTH

BIT_LENGTH('abcdef')

Devolve o comprimento, em bits, de uma cadeia de caracteres especificada. Cada carácter Unicode tem 2 bytes de comprimento (o que equivale a 16 bits).

expr é qualquer expressão que resulta numa cadeia de caracteres.

BIT_LENGTH(expr)

CHAR

CHAR(35)

Converte um valor numérico entre 0 e 255 no valor de carácter que corresponde ao código ASCII.

expr é qualquer expressão que resulta num valor numérico entre 0 e 255.

CHAR(expr)

CHAR_LENGTH

CHAR_LENGTH(Customer_Name)

Devolve o comprimento, em número de caracteres, de uma cadeia de caracteres especificada. Os caracteres em branco à esquerda e à direita não são contados no comprimento da cadeia de caracteres.

expr é qualquer expressão que resulta numa cadeia de caracteres.

CHAR_LENGTH(expr)

CONCAT

SELECT DISTINCT CONCAT ('abc', 'def') FROM employee

Efetua a concatenação de duas cadeias de caracteres.

exprs são expressões que resultam em cadeias de caracteres separadas por vírgulas.

Deve utilizar dados não processados, não dados formatados, com CONCAT.

CONCAT(expr1, expr2)

INSERT

SELECT INSERT('123456', 2, 3, 'abcd') FROM table

Insere uma cadeia de caracteres especificada numa localização especificada noutra cadeia de caracteres.

expr1 é qualquer expressão que resulta numa cadeia de caracteres. Identifica a cadeia de caracteres de destino.

integer1 é qualquer número inteiro positivo que representa o número de caracteres a partir do início da cadeia de caracteres de destino onde a segunda cadeia de caracteres deve ser inserida.

integer2 é qualquer número inteiro positivo que representa o número de caracteres na cadeia de caracteres de destino a substituir pela segunda cadeia de caracteres.

expr2 é qualquer expressão que resulta numa cadeia de caracteres. Identifica a cadeia de caracteres a inserir na cadeia de caracteres de destino.

INSERT(expr1, integer1, integer2, expr2)

LEFT

SELECT LEFT('123456', 3) FROM table

Devolve um número especificado de caracteres do lado esquerdo de uma cadeia de caracteres.

expr é qualquer expressão que resulta numa cadeia de caracteres

integer é qualquer número inteiro positivo que representa o número de caracteres a partir da esquerda da cadeia de caracteres a devolver.

LEFT(expr, integer)

LENGTH

LENGTH(Customer_Name)

Devolve o comprimento, em número de caracteres, de uma cadeia de caracteres especificada. O comprimento é devolvido excluindo quaisquer caracteres em branco à direita.

expr é qualquer expressão que resulta numa cadeia de caracteres.

LENGTH(expr)

LOCATE

LOCATE('d' 'abcdef')

Devolve a posição numérica de uma cadeia de caracteres noutra cadeia de caracteres. Se a cadeia de caracteres não for encontrada na cadeia que está a ser pesquisada, a função devolve um valor 0.

expr1 é qualquer expressão que resulta numa cadeia de caracteres. Identifica a cadeia de caracteres a pesquisar.

expr2 é qualquer expressão que resulta numa cadeia de caracteres.

Identifica a cadeia de caracteres a pesquisar.

LOCATE(expr1, expr2)

LOCATEN

LOCATEN('d' 'abcdef', 3)

À semelhança da função LOCATE, devolve a posição numérica de uma cadeia de caracteres noutra cadeia de caracteres. LOCATEN inclui um argumento de número inteiro que permite especificar uma posição de início para começar a pesquisa.

expr1 é qualquer expressão que resulta numa cadeia de caracteres. Identifica a cadeia de caracteres a pesquisar.

expr2 é qualquer expressão que resulta numa cadeia de caracteres. Identifica a cadeia de caracteres a pesquisar.

integer é qualquer número inteiro positivo (diferente de zero) que representa a posição de início da procura da cadeia de caracteres.

LOCATEN(expr1, expr2, integer)

LOWER

LOWER(Customer_Name)

Converte uma cadeia de caracteres em minúsculas.

expr é qualquer expressão que resulta numa cadeia de caracteres.

LOWER(expr)

OCTET_LENGTH

OCTET_LENGTH('abcdef')

Devolve o número de bytes de uma cadeia de caracteres especificada.

expr é qualquer expressão que resulta numa cadeia de caracteres.

OCTET_LENGTH(expr)

POSITION

POSITION('d', 'abcdef')

Devolve a posição numérica de strExpr1 numa expressão de caracteres. Se strExpr1 não for encontrado, a função devolve 0.

expr1 é qualquer expressão que resulta numa cadeia de caracteres. Identifica a cadeia de caracteres a pesquisar na cadeia de caracteres de destino. Por exemplo, "d".

expr2 é qualquer expressão que resulta numa cadeia de caracteres. Identifica a cadeia de caracteres de destino a pesquisar. Por exemplo, "abcdef".

POSITION(expr1, expr2)

REPEAT

REPEAT('abc', 4)

Repete uma expressão especificada n vezes.

expr é qualquer expressão que resulta numa cadeia de caracteres

integer é qualquer número inteiro positivo que representa o número de vezes que a cadeia de caracteres deve ser repetida.

REPEAT(expr, integer)

REPLACE

REPLACE('abcd1234', '123', 'zz')

Substitui um ou vários caracteres de uma expressão de caracteres especificada por um ou vários outros caracteres.

expr1 é qualquer expressão que resulta numa cadeia de caracteres. É a cadeia de caracteres na qual os caracteres devem ser substituídos.

expr2 é qualquer expressão que resulta numa cadeia de caracteres. Esta segunda cadeia de caracteres identifica os caracteres da primeira cadeia de caracteres que devem ser substituídos.

expr3 é qualquer expressão que resulta numa cadeia de caracteres. Esta terceira cadeia de caracteres especifica os caracteres a substituir na primeira cadeia de caracteres.

REPLACE(expr1, expr2, expr3)

RIGHT

SELECT RIGHT('123456', 3) FROM table

Devolve um número especificado de caracteres do lado direito de uma cadeia de caracteres.

expr é qualquer expressão que resulta numa cadeia de caracteres.

integer é qualquer número inteiro positivo que representa o número de caracteres a partir da direita da cadeia de caracteres a devolver.

RIGHT(expr, integer)

SPACE

SPACE(2)

Insere espaços em branco.

integer é qualquer número inteiro positivo que indica o número de espaços a inserir.

SPACE(expr)

SUBSTRING

SUBSTRING('abcdef' FROM 2)

Cria uma nova cadeia de caracteres iniciada a partir de um número fixo de caracteres na cadeia de caracteres original.

expr é qualquer expressão que resulta numa cadeia de caracteres.

startPos é qualquer número inteiro positivo que representa o número de caracteres a partir do início do lado esquerdo da cadeia de caracteres na qual o resultado deve começar.

SUBSTRING([SourceString] FROM [StartPostition])

SUBSTRINGN

SUBSTRING('abcdef' FROM 2 FOR 3)

À semelhança da função SUBSTRING, cria uma nova cadeia de caracteres iniciada a partir de um número fixo de caracteres na cadeia de caracteres original.

SUBSTRINGN inclui um argumento de número inteiro que permite especificar o comprimento da nova cadeia de caracteres, em número de caracteres.

expr é qualquer expressão que resulta numa cadeia de caracteres.

startPos é qualquer número inteiro positivo que representa o número de caracteres a partir do início do lado esquerdo da cadeia de caracteres na qual o resultado deve começar.

SUBSTRING(expr FROM startPos FOR length)

TrimBoth

Trim(BOTH '_' FROM '_abcdef_')

Retira os caracteres à esquerda e à direita especificados de uma cadeia de caracteres.

char é qualquer carácter único. Se omitir esta especificação (e as plicas necessárias), é utilizado um carácter em branco por omissão.

expr é qualquer expressão que resulta numa cadeia de caracteres.

TRIM(BOTH char FROM expr)

TRIMLEADING

TRIM(LEADING '_' FROM '_abcdef')

Retira os caracteres à esquerda especificados de uma cadeia de caracteres.

char é qualquer carácter único. Se omitir esta especificação (e as plicas necessárias), é utilizado um carácter em branco por omissão.

expr é qualquer expressão que resulta numa cadeia de caracteres.

TRIM(LEADING char FROM expr)

TRIMTRAILING

TRIM(TRAILING '_' FROM 'abcdef_')

Retira os caracteres à direita especificados de uma cadeia de caracteres.

char é qualquer carácter único. Se omitir esta especificação (e as plicas necessárias), é utilizado um carácter em branco por omissão.

expr é qualquer expressão que resulta numa cadeia de caracteres.

TRIM(TRAILING char FROM expr)

UPPER

UPPER(Customer_Name)

Converte uma cadeia de caracteres em maiúsculas.

expr é qualquer expressão que resulta numa cadeia de caracteres.

UPPER(expr)

Funções de Sistema

A função de sistema USER devolve valores relativos à sessão. Por exemplo, o nome de utilizador com o qual entrou em sessão.

Função Exemplo Descrição Sintaxe

DATABASE

 

Devolve o nome da área de atividade na qual o utilizador entrou em sessão.

DATABASE()

USER

 

Devolve o nome de utilizador do modelo semântico no qual o utilizador entrou em sessão.

USER()

Funções de Séries de Tempo

As funções de séries de tempo permitem-lhe agregar e prever dados com base em dimensões de tempo. Por exemplo, pode utilizar a função AGO para calcular as receitas do ano anterior.

Os membros da dimensão de tempo devem estar no nível da função ou abaixo dele. Assim, uma ou mais colunas que identifiquem os membros de modo exclusivo no nível especificado ou abaixo dele têm de ser projetadas na consulta.

Também pode aplicar estas funções aos dados da área de atividade utilizando as hierarquias de nível de tempo definidas na área de atividade. Consulte Criar Elementos de Dados Calculados num Livro.

  • Pode aplicar estas funções na área Os Meus Cálculos no designer do livro. Consulte Criar Elementos de Dados Calculados num Livro.
  • Também pode aplicar estas funções aos dados da área de atividade utilizando as hierarquias de nível de tempo definidas na área de atividade.
Função Exemplo Descrição Sintaxe

AGO

SELECT Year_ID, AGO(sales, year, 1)

Calcula o valor agregado de uma medida num período de tempo especificado no passado. Por exemplo, para calcular as receitas mensais do ano anterior, utilize AGO(Revenue, Year, 1, SHIP_MONTH). Para calcular as receitas trimestrais do último trimestre, utilize AGO(Revenue, Quarter, 1).

AGO(MEASURE, TIME_LEVEL, OFFSET)

Em que:

  • MEASURE representa a medida para calcular, por exemplo, as receitas.
  • TIME_LEVEL representa o intervalo de tempo, que deve ser Year, Quarter, Month, Week ou Day.
  • OFFSET representa o número de intervalos de tempo para calcular o período passado, por exemplo, 1 correspondente a um ano.

PERIODROLLING

SELECT Month_ID, PERIODROLLING (monthly_sales, -1, 1)

Calcula a agregação de uma medida ao longo do período começando em x unidades de tempo e terminando em y unidades de tempo relativamente ao período de tempo atual. Por exemplo, PERIODROLLING pode calcular as vendas para um período iniciado num trimestre anterior e terminado num trimestre posterior ao trimestre atual.

PERIODROLLING(measure, x [,y])

Em que:

  • measure representa o nome de uma coluna da medida.
  • x é um número inteiro que representa o diferencial relativamente ao período de tempo atual.
  • y é um número inteiro que representa o número de unidades de tempo ao longo das quais a função é calculada.
  • hierarchy é um argumento opcional que representa o nome de uma hierarquia numa dimensão de tempo, tal como yr, mon, day, que pretende utilizar para calcular a janela de tempo.

TODATE

SELECT Year_ID, Month_ID, TODATE (sales, year)

Calcula o valor agregado de uma medida a partir do início de um período de tempo até ao período de tempo mais recente, por exemplo, cálculos do acumulado do exercício.

Por exemplo, para calcular as Vendas do Acumulado do Exercício, utilize TODATE(sales, year).

TODATE(MEASURE, TIME_LEVEL)

Em que:

  • MEASURE representa uma expressão que referencia, pelo menos, uma coluna de medida, por exemplo, sales.
  • TIME_LEVEL representa o intervalo de tempo, que deve ser Year, Quarter, Month, Week ou Day.

Função FORECAST

Cria um modelo de série de tempo da medida especificada através de séries que utilizam a Regularização Exponencial (ETS) ou ARIMA Sazonal ou ARIMA. Esta função apresenta como resultado uma previsão de um conjunto de períodos conforme especificado pelo argumento numPeriods.

Sintaxe FORECAST(measure, ([series]), output_column_name, options,[runtime_binded_options])])

Em que:

  • measure representa a medida para a previsão, por exemplo, dados de receitas.

  • series representa a granularidade de tempo utilizada para criar o modelo de previsão. A série é uma lista de uma ou mais colunas da dimensão de tempo. Se series for omitido, a granularidade de tempo é determinada a partir da consulta.

  • output_column_name representa os nomes de colunas válidos de forecast, low, high e predictionInterval.

  • options representa uma lista de cadeias de caracteres de pares nome/valor separados por ponto e vírgula (;). O valor pode incluir %1 ... %N especificado em runtime_binded_options.

  • runtime_binded_options representa uma lista separada por vírgulas de colunas e opções. Os valores destas colunas e opções são avaliados e resolvidos durante o tempo de execução da consulta individual.

Opções da Função FORECAST A tabela seguinte lista as opções disponíveis para utilizar com a função FORECAST.

Nome da Opção Valores Descrição
numPeriods Número Inteiro O número de períodos para previsão.
predictionInterval 0 a 100, em que os valores mais altos especificam maior confiança O nível de confiança para a previsão.
modelType

ETS (Regularização Exponencial)

SeasonalArima

ARIMA

O modelo a utilizar para a previsão.
useBoxCox

TRUE

FALSE

Se for TRUE, utilizar a transformação Box-Cox.
lambdaValue Não aplicável

O parâmetro de transformação Box-Cox.

Ignorar se for NULL ou quando useBoxCox for FALSE.

Caso contrário, os dados são transformados antes de o modelo ser estimado.

trendDamp

TRUE

FALSE

Isto é específico do modelo de Regularização Exponencial.

Se for TRUE, utilizar a tendência amortecida. Se for FALSE ou NULL, utilizar a tendência não amortecida.

errorType

Não aplicável

Isto é específico do modelo de Regularização Exponencial.
trendType

N (nenhum)

A (aditivo)

M (multiplicativo)

Z (selecionado automaticamente)

Isto é específico do modelo de Regularização Exponencial
seasonType

N (nenhum)

A (aditivo)

M (multiplicativo)

Z (selecionado automaticamente)

Isto é específico do modelo de Regularização Exponencial
modelParamIC

ic_auto

ic_aicc

ic_bic

ic_auto (este é o valor por omissão)

O critério de informação (IC) utilizado na seleção do modelo.

Exemplo de Previsão de Receitas por Dia

Este exemplo seleciona a previsão de receitas por dia.

FORECAST("A - Vendas Exemplo"."Factos Base"."1- Receitas" Target,
("A - Vendas Exemplo"."Tempo"."T00 Data do Calendário"),'forecast', 'numPeriods=30;predictionInterval=70;') ForecastedRevenue

Exemplo de Previsão de Receitas por Ano e Trimestre

Este exemplo seleciona a previsão de receitas por ano e trimestre.

FORECAST("A - Vendas Exemplo"."Factos Base"."1- Receitas",
("A - Vendas Exemplo"."Tempo"."T01 Ano" timeYear, "A - Vendas Exemplo"."Tempo"."T02 Trimestre" TimeQuarter),'forecast', 'numPeriods=30;predictionInterval=70;') ForecastedRevenue