Fonctions du Générateur de rapports - Fonction RunningValue dans un rapport paginé (Générateur de rapports)

S’applique à : Générateur de rapports Microsoft (SSRS) Power BI Report Builder Concepteur de rapports dans SQL Server Data Tools

Retourne un agrégat cumulatif de toutes les valeurs numériques non nulles spécifiées par l’expression, calculé pour la portée spécifiée dans un rapport paginé.

Remarque

Il est possible de créer et de modifier des fichiers de définition de rapports (.rdl) paginés dans le Générateur de rapports Microsoft, dans Power BI Report Builder et dans le Concepteur de rapports de SQL Server Data Tools.

Syntaxe

  
RunningValue(expression, function, scope)  

Paramètres

expression
Expression sur laquelle effectuer l’agrégation, par exemple [Quantity].

function
(Enum) Nom de la fonction d’agrégation à appliquer à l’expression, par exemple Sum. Cette fonction ne peut pas être de type RunningValue, RowNumberou Aggregate.

scope
(String) Constante de chaîne qui représente le nom d’un dataset, d’une région de données ou d’un groupe, ou Null (Nothing en Visual Basic), qui spécifie le contexte dans lequel évaluer l’agrégation. Nothing spécifie le contexte le plus externe, généralement le jeu de données du rapport.

Type de retour

Déterminé par la fonction d'agrégation spécifiée dans le paramètre function .

Remarques

La valeur de RunningValue se réinitialise à 0 pour chaque nouvelle instance de l'étendue. Si vous spécifiez un groupe, la valeur d'exécution est réinitialisée lorsque l'expression de groupe change. Si vous indiquez une région de données, le cumul est réinitialisé pour chaque nouvelle instance de la région de données. Si vous spécifiez un dataset, la valeur d'exécution n'est pas réinitialisée dans l'ensemble du dataset.

RunningValue ne peut pas être utilisé dans une expression de filtre ou de tri.

Le jeu des données pour lequel la valeur d'exécution est calculée doit avoir le même type de données. Pour convertir des données qui ont plusieurs types de données numériques en un même type de données, utilisez des fonctions de conversion telles que CInt, CDbl ou CDec. Pour plus d'informations, consultez Fonctions de conversion de types de données.

Scope ne peut pas être une expression.

Expression peut contenir des appels aux fonctions d'agrégation imbriquées avec les exceptions et conditions suivantes :

  • L’étendue des agrégats imbriqués doit être identique à celle de l’agrégat externe, ou incluse dans celle-ci. Pour toutes les étendues distinctes de l'expression, une étendue doit figurer dans une relation enfant avec toutes les autres étendues.

  • Le paramètre Scope des agrégats imbriqués ne peut pas être le nom d'un dataset.

  • Expression ne doit pas contenir les fonctions First, Last, Previousou RunningValue .

  • Expression ne doit pas contenir les agrégats imbriqués qui spécifient recursive.

Pour calculer la valeur d'exécution du nombre de lignes, utilisez RowNumber. Pour plus d’informations, consultez Fonction RowNumber (Générateur de rapports et SSRS).

Pour plus d’informations, consultez Référence aux fonctions d’agrégation (Générateur de rapports et SSRS) et Étendue des expressions pour les totaux, les agrégats et les collections intégrées (Générateur de rapports et SSRS).

Pour plus d’informations sur les agrégats récursifs, consultez Création de groupes de hiérarchies récursives (Générateur de rapports et SSRS).

Exemples

L'exemple de code suivant calcule la somme cumulée du champ nommé Cost dans la portée la plus externe, à savoir le jeu de données.

=RunningValue(Fields!Cost.Value, Sum, Nothing)  

L'exemple de code suivant calcule le cumul du champ nommé Score dans le jeu de données nommé DataSet1.

=RunningValue(Fields!Score.Value,sum,"DataSet1")  

L'exemple de code suivant calcule la somme cumulée du champ nommé Traffic Charges dans la portée la plus externe.

=RunningValue(Fields!Traffic Charges.Value, Sum, Nothing)