Funções OVER
As funções OVER são utilizadas para determinar como os dados devem ser cortados, por exemplo, em relação a períodos de tempo.
Opção | Descrição |
---|---|
All | Utiliza todos os nós na hierarquia referenciada. Isto pode ser útil quando interceptar o nó atual com mais de uma hierarquia. Por exemplo, você pode exibir as vendas relativas de categorias de produtos diferentes para cada mês. Exemplos de expressões personalizadas: Sum([Sales]) / Sum([Sales]) OVER (Intersect(All([Axis.Color]), [Axis.X])) Sum([Sales]) / Sum([Sales]) OVER (All([Axis.X])) * 100 Exemplos de colunas calculadas: Sum([Sales]) OVER All([Date]) Max([Sales]) OVER Intersect([Category], All([Date])) |
AllNext | Utiliza todos os nós, incluindo o atual, a partir do final do nível. Exemplo de uma expressão personalizada: Sum([Sales]) OVER (AllNext([Axis.X])) Exemplos de colunas calculadas: Sum([Sales]) OVER AllNext([Date]) Max([Sales]) OVER Intersect([Category], AllNext([Date])) |
AllPrevious | Utiliza todos os nós, incluindo o atual, a partir do início do nível. Isto pode ser usado para calcular a soma cumulativa. Exemplos de expressões personalizadas: Sum([Sales]) OVER (AllPrevious([Axis.X])) Sum([Sales]) OVER (Intersect(Parent([Axis.X]), AllPrevious([Axis.X]))) Exemplos de colunas calculadas: Sum([Sales]) OVER AllPrevious([Date]) Max([Sales]) OVER Intersect([Category], AllPrevious([Date])) |
FirstNode | Seleciona o primeiro nó do nível atual. Exemplo de uma expressão personalizada: Sum([Sales]) - Sum([Sales]) OVER (FirstNode([Axis.X])) Exemplo de uma coluna calculada: Sum([Sales]) - Sum([Sales]) OVER (FirstNode([Hierarchy.TimeHierarchy])) |
Intersect | Retorna as linhas interceptadas dos nós em diferentes hierarquias. Consulte tambémAllPrevious eAll. Exemplo de uma expressão personalizada: Intersect(Parent([Axis.X]), All([Axis.Color]), Parent([Axis.Rows]), ...) Exemplo de uma coluna calculada: Sum([Sales]) OVER Intersect([Category], AllPrevious([Date])) |
LastNode | Seleciona o último nó do nível atual. Exemplo de uma expressão personalizada: Sum([Sales]) - Sum([Sales]) OVER (LastNode([Axis.X])) Exemplo de uma coluna calculada: Sum([Sales]) - Sum([Sales]) OVER (LastNode([Hierarchy.TimeHierarchy])) |
LastPeriods | Inclui o nó atual e os nós anteriores n - 1. Isto pode ser usado para calcular as médias móveis. Exemplo de uma expressão personalizada: Sum([Sales]) OVER (LastPeriods(3, [Axis.X]))/3 Exemplo de uma coluna calculada: Sum([Sales]) - Sum([Sales]) OVER (LastPeriods([Hierarchy.TimeHierarchy])) |
NavigatePeriod | Esse método permite que você especifique sua própria navegação do nó. O método tem quatro argumentos: Arg1 é a hierarquia para navegação. Arg2 é um valor de sequência que especifica o nível na hierarquia até o qual navegar. Arg3 é um inteiro que especifica o número de etapas para mover-se lateralmente na hierarquia no nível especificado por Arg1. Arg4 é opcional e determina o nível na hierarquia para onde mover-se para baixo. Este argumento pode ser omitido no caso em que é feita uma navegação ao nível de folha. Exemplos de expressões personalizadas: Sum([Sales]) OVER NavigatePeriod([Axis.X], "Year", -1) Sum([Value]) OVER NavigatePeriod([Axis.X], "Year", 0, 0) Sum([Sales]) OVER NavigatePeriod([Axis.X], 2, -1, 2) Exemplo de uma coluna calculada: Avg([Sales]) OVER (NavigatePeriod([Hierarchy.TimeHierarchy],0,-10)) - Avg([Sales])OVER (NavigatePeriod([Hierarchy.TimeHierarchy],0,10)) |
Next | Compara o nó atual com o nó seguinte no mesmo nível na hierarquia. Se não houver um nó seguinte, ou seja, se o nó atual for o último nó para o nível atual, o subconjunto resultante não conterá quaisquer linhas. Exemplos de expressões personalizadas: Sum([Sales]) - Sum([Sales]) OVER (Next([Axis.X])) Count() OVER Next([Axis.X], 2) Exemplo de uma coluna calculada: Max([Sales]) OVER (Intersect([Category],Next([Year]))) |
NextPeriod | Utiliza o nó seguinte que possui o valor seguinte no mesmo nível que o nó atual. Se não houver um nó seguinte, ou seja, se o nó atual for o último nó para o nível atual, o subconjunto resultante não conterá quaisquer linhas. Exemplos de expressões personalizadas: Sum([Sales]) OVER (NextPeriod([Axis.X])) Count() OVER NextPeriod([Axis.X], 2) Exemplo de uma coluna calculada: Max([Sales]) OVER (Intersect([Category],NextPeriod([Year]))) |
ParallelPeriod | Utiliza o nó paralelo anterior com o mesmo valor no mesmo nível que o nó atual. Por exemplo, isto pode ser utilizado para comparar os resultados de vendas de cada mês com os meses correspondentes do ano anterior. Exemplo de uma expressão personalizada: Sum([Sales])-Sum([Sales]) OVER (ParallelPeriod([Axis.X])) Exemplo de uma coluna calculada: Sum([Sales])-Sum([Sales]) OVER (ParallelPeriod([Hierarchy.TimeHierarchy])) |
Parent | Utiliza o subconjunto principal do nó atual. Todas as linhas são usadas como o subconjunto se o nó não tem um pai. Exemplos de expressões personalizadas: Sum([Sales]) / Sum([Sales]) OVER (Parent([Axis.Color])) Sum([Sales]) / Sum([Sales]) OVER (Parent([Axis.X])) * 100 Avg([Sales]) OVER Parent([Axis.X]) Exemplo de uma coluna calculada: Sum([Sales]) OVER (Parent([Hierarchy.TimeHierarchy])) |
Previous | Utiliza o nó anterior no mesmo nível do nó atual para comparar o resultado do nó atual com o anterior. Se não houver um nó anterior, ou seja, se o nó atual for o primeiro nó para o nível atual, o subconjunto resultante não conterá quaisquer linhas. Exemplos de expressões personalizadas: Sum([Sales]) - Sum([Sales]) OVER (Previous([Axis.X])) Count() OVER Previous([Axis.X], 2) Exemplo de uma coluna calculada: Max([Sales]) OVER (Intersect([Category],Previous([Year]))) |
PreviousPeriod | Utiliza o nó anterior que possui o valor anterior no mesmo nível que o nó atual. Se não houver um nó anterior, ou seja, se o nó atual for o primeiro nó para o nível atual, o subconjunto resultante não conterá quaisquer linhas. Exemplos de expressões personalizadas: Sum([Sales]) OVER (PreviousPeriod([Axis.X])) Count() OVER PreviousPeriod([Axis.X], 2) Exemplo de uma coluna calculada: Max([Sales]) OVER (Intersect([Category],PreviousPeriod([Year]))) |