Função Previous (Construtor de Relatórios e SSRS)
Retorna o valor ou o valor de agregação especificado para a instância anterior de um item do escopo especificado.
Observação
Você pode criar e modificar definições de relatório (.rdl) no Construtor de Relatórios e no Designer de Relatórios no SQL Server Data Tools. Cada ambiente de criação fornece modos diferentes para criar, abrir e salvar relatórios e itens relacionados. Para obter mais informações, consulte Designing Reports in Report Designer and Report Builder (SSRS) on the Web at microsoft.com.
Sintaxe
Previous(expression, scope)
parâmetros
expressão
(Variant
ou Binary
) A expressão a ser usada para identificar os dados para os quais o valor anterior deve ser recuperado, por exemplo, Fields!Fieldname.Value
ou Sum(Fields!Fieldname.Value)
.
escopo
(String
) Opcional. O nome de um grupo ou região de dados, ou nulo (Nothing
no Visual Basic), que especifica o escopo do qual recuperar o valor anterior especificado pela expressão.
Tipo de retorno
Retorna uma Variant
ou um Binary
.
Comentários
A função Previous
retorna o valor anterior para a expressão avaliada no escopo especificado depois que toda a classificação e filtragem tiverem sido aplicadas.
Se expression não contiver uma agregação, a Previous
função usará como padrão o escopo atual do item de relatório.
Em um grupo de detalhes, use Previous
para especificar o valor de uma referência de campo na instância anterior da linha de detalhes.
Observação
A Previous
função só dá suporte a referências de campo no grupo de detalhes. Por exemplo, em uma caixa de texto no grupo de detalhes, =Previous(Fields!Quantity.Value)
retorna os dados para o campo Quantity
da linha anterior. Na primeira linha, essa expressão retorna um nulo (Nothing
no Visual Basic).
Se expression contiver uma função de agregação que usa um escopo padrão, Previous
agregará os dados na instância anterior do escopo especificado na chamada de função de agregação.
Se expression contiver uma função de agregação que especifique um escopo diferente do padrão, o parâmetro de escopo para a Previous
função deverá ser um escopo de contenção para o escopo especificado na chamada de função de agregação.
As funções , InScope
Aggregate
e Previous
não podem ser usadas Level
no parâmetro de expressão. Não há suporte para a especificação do parâmetro recursive para qualquer função de agregação.
Para obter mais informações, confira Referência de funções de agregação (Construtor de Relatórios e SSRS) e Escopo das expressões para totais, agregações e coleções internas (Construtor de Relatórios e SSRS).
Exemplos
Descrição
O exemplo de código a seguir, quando colocado na linha de dados padrão de uma região de dados, fornece o valor do campo LineTotal
na linha anterior.
Código
=Previous(Fields!LineTotal.Value)
Descrição
O exemplo a seguir mostra uma expressão que calcula a soma das vendas em um dia específico do mês e o valor anterior para esse dia do mês em um ano anterior. A expressão é adicionada a uma célula em uma linha que pertence ao GroupbyDay
do grupo filho. Seu grupo pai é GroupbyMonth
, que tem um grupo pai GroupbyYear
. A expressão exibe os resultados de GroupbyDay (o escopo padrão) e de GroupbyYear
(o pai do grupo pai GroupbyMonth
).
Por exemplo, para uma região de dados com um grupo pai chamado Year
, seu grupo filho chamado Month
e seu grupo filho chamado Day
(3 níveis aninhados). A expressão =Previous(Sum(Fields!Sales.Value,"Day"),"Year")
em uma linha associada ao grupo Day
retorna 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")
Consulte Também
Uso de expressões em relatórios (Construtor de Relatórios e SSRS)
Exemplos de expressões (Construtor de Relatórios e SSRS)
Tipos de dados em expressões (Construtor de Relatórios e SSRS)
Escopo das expressões para totais, agregações e coleções internas (Construtor de Relatórios e SSRS)