Fonction Previous (Générateur de rapports version 2.0)
Retourne la valeur ou la valeur d'agrégation spécifiée pour l'instance précédente d'un élément dans l'étendue spécifiée.
Syntaxe
Previous(expression, scope)
Paramètres
expression
(Variant ou Binary) Expression à utiliser pour identifier les données et pour laquelle récupérer la valeur précédente, par exemple, Fields!Fieldname.Value ou Sum(Fields!Fieldname.Value).scope
(String) Facultatif. Nom d'un groupe ou d'une région de données, ou valeur Null (Nothing en Visual Basic), qui spécifie l'étendue à partir de laquelle récupérer la valeur précédente spécifiée par expression. Pour plus d'informations sur le paramètre scope, consultez Utilisation de fonctions de rapport et d'agrégation intégrées dans des expressions (Générateur de rapports version 2.0).
Type de retour
Retourne Variant ou Binary.
Notes
La fonction Previous retourne la valeur précédente de l'expression évaluée dans l'étendue spécifiée après que cette dernière a été correctement triée et filtrée.
Si expression ne contient pas d'agrégat, la fonction Previous utilise par défaut l'étendue actuelle de l'élément de rapport. Pour une zone de texte du groupe de détails, =Previous(Fields!Quantity.Value) retourne les données du champ Quantity de la ligne précédente. Cette expression dans la première ligne retourne la valeur Null (Nothing en Visual Basic).
Si expression contient une fonction d'agrégation qui utilise une étendue par défaut, Previous agrège les données de l'instance précédente de l'étendue spécifiée dans l'appel de la fonction d'agrégation.
Si expression contient une fonction d'agrégation qui spécifie une étendue autre que celle par défaut, le paramètre scope de la fonction Previous doit être une étendue contenante pour l'étendue spécifiée dans l'appel de la fonction d'agrégation.
Les fonctions Level, InScope, Aggregate et Previous ne peuvent pas être utilisées dans le paramètre expression. La spécification du paramètre recursive pour une fonction d'agrégation n'est pas prise en charge.
Exemples
Description
L'exemple de code ci-dessous, lorsqu'il est placé dans la ligne de données par défaut d'une région de données, fournit la valeur du champ LineTotal de la ligne précédente.
Code
=Previous(Fields!LineTotal.Value)
Description
L'exemple suivant montre une expression qui calcule la somme des ventes réalisées au cours d'un jour spécifique du mois et la valeur précédente pour le même jour du mois d'une année précédente. L'expression est ajoutée à une cellule d'une ligne qui appartient au groupe enfant GroupbyDay. Son groupe parent est GroupbyMonth, ayant lui-même le groupe parent GroupbyYear. L'expression affiche les résultats pour GroupbyDay (étendue par défaut), puis pour GroupbyYear (le parent du groupe parent GroupbyMonth).
Par exemple, pour une région de données avec un groupe parent nommé Year, son groupe enfant nommé Month et son groupe enfant nommé Day (3 niveaux imbriqués). L'expression =Previous(Sum(Fields!Sales.Value,"Day"),"Year") d'une ligne associée au groupe Day retourne la valeur des ventes réalisées le même jour du même mois de l'année précédente.
Code
=Sum(Fields!Sales.Value) & " " & Previous(Sum(Fields!Sales.Value,"GroupbyDay"),"GroupbyYear")