Fonctions du Générateur de rapports - Fonction CountDistinct dans un rapport paginé (Générateur de rapports)
S’applique à : Générateur de rapports Microsoft (SSRS) Power BI Report Builder Report Designer dans SQL Server Data Tools
Retourne le nombre de toutes les valeurs non Null distinctes spécifiées par l’expression dans un rapport paginé, évaluée dans le contexte de l’étendue donnée.
Notes
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
CountDistinct(expression, scope, recursive)
Paramètres
expression
(Variant) Expression sur laquelle effectuer l’agrégation.
scope
(Chaîne) Facultatif. Nom d'un dataset, d'un groupe ou d'une région de données qui contient les éléments de rapport auxquels appliquer la fonction d'agrégation. Si le paramètre scope n'est pas spécifié, l'étendue actuelle est utilisée.
recursive
(Type énuméré) Facultatif. Simple (par défaut) ou RdlRecursive. Indique s'il faut effectuer l'agrégation de manière récursive.
Type de retour
Retourne un Integer.
Notes
La valeur du paramètre scope doit être une constante de chaîne et ne peut pas être une expression. Pour les agrégats externes ou les agrégats qui ne spécifient pas d'autres agrégats, le paramètre scope doit faire référence à l'étendue actuelle ou à une étendue contenante. Pour les agrégats d'agrégats, les agrégats imbriqués peuvent spécifier une étendue enfant.
Expression peut contenir des appels aux fonctions d'agrégation imbriquées avec les exceptions et conditions suivantes :
Le paramètreScope des agrégats imbriqués doit être identique à l'étendue de l'agrégat externe ou contenu par 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ètreScope 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 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).
Exemple
L’exemple de code suivant affiche une expression qui calcule le nombre de valeurs non Null uniques de Size
pour l’étendue par défaut et pour une étendue de groupe parent. L’expression est ajoutée à une cellule d’une ligne qui appartient au groupe enfant GroupbySubcategory
. Le groupe parent est GroupbyCategory
. L’expression affiche les résultats pour GroupbySubcategory
(étendue par défaut) et pour GroupbyCategory
(étendue de groupe parent).
Notes
Les expressions ne doivent pas contenir de retours chariot ni de sauts de ligne réels ; ceux-ci sont inclus dans l'exemple de code pour prendre en charge des convertisseurs de documentation. Si vous copiez l'exemple suivant, supprimez les retours chariot de chaque ligne.
="Distinct count (Subcategory): " & CountDistinct(Fields!Size.Value) &
"Distinct count (Category): " & CountDistinct(Fields!Size.Value,"GroupbyCategory")
Voir aussi
Utilisation d'expressions dans les rapports (Générateur de rapport et SSRS)
Exemples d'expressions (Générateur de rapports et SSRS)
Types de données dans les expressions (Générateur de rapports et SSRS)
Étendue des expressions pour les totaux, les agrégats et les collections intégrées (Générateur de rapports et SSRS)