Partilhar via


Funções do Construtor de Relatórios - Função anterior num relatório paginado (Construtor de Relatórios)

Aplica-se a: Construtor de Relatórios da Microsoft (SSRS) Designer de Relatórios do Power BI no SQL Server Data Tools

Devolve o valor ou o valor agregado especificado para a instância anterior de um item dentro do âmbito especificado num relatório paginado.

Observação

Você pode criar e modificar arquivos de definição de relatório paginado (.rdl) no Construtor de Relatórios da Microsoft, no Construtor de Relatórios do Power BI e no Designer de Relatórios no SQL Server Data Tools.

Sintaxe

  
Previous(expression, scope)  

Parâmetros

expressão
(Variante ou Binário) A expressão a usar para identificar os dados e para a qual recuperar o valor anterior, por exemplo, Fields!Fieldname.Value ou Sum(Fields!Fieldname.Value).

âmbito
(String) Opcional. O nome de um grupo ou região de dados, ou null (Nothing in Visual Basic), que especifica o âmbito a partir do qual recuperar o valor anterior especificado por expressão.

Tipo de Retorno

Devolve uma variante ou binário.

Observações

A função Anterior devolve o valor anterior da expressão avaliada no âmbito especificado após toda a ordenação e filtragem terem sido aplicadas.

Se a expressão não contiver um agregado, a função Anterior passa por defeito ao escopo atual do item do relatório.

Num grupo de detalhes, use Anterior para especificar o valor de uma referência de campo na instância anterior da linha de detalhe.

Observação

A função Anterior só suporta referências de campo no grupo de detalhes. Por exemplo, numa caixa de texto no grupo de detalhes, =Previous(Fields!Quantity.Value) devolve os dados do campo Quantity da linha anterior. Na primeira linha, esta expressão devolve um null (Nada no Visual Basic).

Se a expressão contiver uma função agregada que utiliza um âmbito predefinido, Anterior agrega os dados dentro da instância anterior do âmbito especificado na chamada da função agregada.

Se a expressão contiver uma função agregada que especifica um âmbito diferente do padrão, o parâmetro de âmbito para a função Anterior deve ser um escopo de contenção para o âmbito especificado na chamada de função agregada.

As funções Level, InScope, Aggregate e Anterior não podem ser usadas no parâmetro de expressão . Especificar o parâmetro recursivo para qualquer função agregada não é suportado.

Para mais informações, consulte Aggregate Functions Reference (Report Builder e SSRS) e Expression Scope for Totais, Aggregates e Coleções Incorporadas (Report Builder e SSRS).

Examples

Description

O exemplo de código seguinte, quando colocado na linha de dados padrão de uma região de dados, fornece o valor para o campo LineTotal na linha anterior.

Código

=Previous(Fields!LineTotal.Value)  

Description

O exemplo seguinte mostra uma expressão que calcula a soma das vendas num dia específico do mês e o valor anterior para esse dia do mês num ano anterior. A expressão é adicionada a uma célula numa linha que pertence ao grupo filho GroupbyDay. O seu grupo pai é GroupbyMonth, que tem um grupo pai GroupbyYear. A expressão mostra os resultados para GroupbyDay (o âmbito padrão) e depois para GroupbyYear (o pai do grupo do pai GroupbyMonth).

Por exemplo, para uma região de dados com um grupo pai chamado Year, um grupo filho chamado Month e um grupo filho chamado Day (3 níveis aninhados). A expressão =Previous(Sum(Fields!Sales.Value,"Day"),"Year") numa linha associada ao grupo Day devolve o valor das vendas para o mesmo dia e mês do ano anterior.

Código

=Sum(Fields!Sales.Value) & " " & Previous(Sum(Fields!Sales.Value,"GroupbyDay"),"GroupbyYear")