Função Previous (Reporting Services)
Retorna o valor ou o valor agregado especificado para a instância anterior de um item dentro do escopo especificado.
Sintaxe
Previous(expression, scope)
Parâmetros
expression
(Variant ou Binary) A expressão que identifica o valor que deve ser recuperado, por exemplo, Fields!Fieldname.Value ou Sum(Fields!Fieldname.Value).scope
(String) Opcional. O nome de um grupo ou região de dados, ou nulo (Nothing em Visual Basic), que especifica o escopo do qual o valor anterior especificado pela expression deve ser recuperado. Para obter mais informações sobre o parâmetro scope, consulte Usando funções internas de relatório e de agregação em expressões (Reporting Services).
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 contiver uma função de agregação que use um escopo padrão, Previous agregará os dados dentro da instância anterior do escopo especificado na chamada da 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 scope da função Previous deverá ser um escopo contentor para o escopo especificado na chamada da função de agregação.
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. As referências de campo são suportadas apenas 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 em Visual Basic).
Em grupos que não são grupos de detalhes, utilize Previous com uma função de agregação como First ou Last que indique uma instância de grupo específica. Por exemplo, em uma caixa de texto de um grupo de linhas com base em =Fields!Year.Value, =Previous(First(Fields!Year.Value)), retorna o ano para a primeira instância do grupo ano.
As funções Level, InScope, Aggregate e Previous não podem ser usadas no parâmetro expression. Não há suporte para a especificação do parâmetro recursive para qualquer função de agregação.
Exemplos
Descrição
O exemplo de código a seguir, quando colocado na linha de dados de detalhes de uma região de dados, fornece o valor do campo LineTotal na linha de detalhes 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 grupo filho GroupbyDay. 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 denominado Year, seu grupo filho denominado Month e seu grupo filho denominado 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
Conceitos
Histórico de alterações
Atualização de conteúdo |
---|
O valor anterior para uma referência de campo é válido apenas em um grupo de detalhes. |