- Notes de publication
- Démarrage
- Installation
- Prérequis logiciels et matériels
- Installation du serveur
- Mise à jour de la licence
- Déploiement du profileur d'UiPath Process Mining
- Déploiement d’un connecteur(.mvp)
- Mise à jour d'UiPath Process Mining
- Mettre à jour une version personnalisée d'une application ou d'un accélérateur de découverte
- Installation d'un environnement de formation
- Configuration
- Intégrations
- Authentification
- Working with Apps and Discovery Accelerators
- Menus et tableaux de bord AppOne
- Configuration d'AppOne
- TemplateOne 1.0.0 menus et tableaux de bord
- Configuration de TemplateOne 1.0.0
- Menus et tableaux de bord de TemplateOne
- Configuration de TemplateOne 2021.4.0
- Menus et tableaux de bord de l’accélérateur de découverte Purchase to Pay
- Configuration de Discovery Accelerator de l’achat au paiement
- Menus et tableaux de bord de l’accélérateur de découverte Order-to-Cash
- Configuration de Order to Cash Discovery Accelerator
- Basic Connector for AppOne
- Déploiement du connecteur de base<br />
- Présentation du connecteur de base
- Tables d'entrée du connecteur de base
- Ajout de balises
- Ajout d’estimations d’automatisation
- Ajout de dates d'échéance
- Ajout de modèles de référence
- Configuration d'Actionable Insights
- Réglage des graphiques réductibles
- Utilisation de l’ensemble de données de sortie dans AppOne
- Output tables of the Basic Connector
- SAP Connectors
- Introduction to SAP Connector
- Entrée SAP
- Vérification des données dans le connecteur SAP
- Ajout de balises spécifiques à un processus au connecteur SAP pour AppOne
- Ajout de dates d'échéance spécifiques aux processus au connecteur SAP pour AppOne
- Ajout d’estimations d’automatisation au connecteur SAP pour AppOne
- Ajout d'attributs au connecteur SAP pour AppOne
- Ajout d’activités au connecteur SAP pour AppOne
- Ajout d’entités au connecteur SAP pour AppOne
- Connecteur SAP Order to Cash pour AppOne
- Connecteur SAP Purchase to Pay pour AppOne
- Connecteur SAP pour Purchase to Pay Discovery Accelerator
- Connecteur SAP pour l’accélérateur de découverte Order-to-Cash
- Superadmin
- L'onglet Espaces de travail (Workspaces)
- L'onglet Données de développement (Development Data)
- L'onglet Versions (Releases)
- L'onglet Données publiées (Released data)
- The Builds tab
- L'onglet Données du serveur (Server data)
- Onglet Paramètres (Settings)
- L'onglet Utilisateurs Superadmin
- L'onglet Statut (Status)
- Onglet Licence (License)
- Création de versions
- Afficher l'historique de la branche
- Creating Apps
- Modules
- Tableaux de bord et graphiques
- Tables et éléments de table
- Intégrité de l'application
- How to ....
- Travailler avec les connecteurs SQL
- Introduction to SQL connectors
- Setting up a SQL connector
- CData Sync extractions
- Running a SQL connector
- Editing transformations
- Libération d'un connecteur SQL
- Scheduling data extraction
- Structure of transformations
- Using SQL connectors for released apps
- Generating a cache with scripts
- Setting up a local test environment
- Separate development and production environments
- Ressources utiles
Agréger des expressions
GROUP BY
en SQL.
Une expression d'agrégat calcule une valeur pour chaque valeur unique au niveau de l'agrégat. Par défaut, il s'agit du niveau Racine , c'est-à-dire une valeur pour l'ensemble de la table.
Vous trouverez ci-dessous un exemple d'expression d'agrégation permettant de calculer la somme de tous les montants de l'ensemble de données Factures.
sum(records.amount)
est évaluée comme décrit ci-dessous :
- Prenez tous les enregistrements dans Factures.
- Pour chaque enregistrement, choisissez la valeur de l'attribut de source de données Amount .
- Renvoie la somme de tous ces montants.
L'expression calcule une valeur unique, mais cette valeur est ajoutée à chaque enregistrement de l'ensemble de données. Vous trouverez ci-dessous un exemple d’ensemble de données contenant 4 lignes.
Au lieu de calculer un agrégat sur l'ensemble de l'ensemble de données, vous pouvez également calculer une valeur sur des groupes d'enregistrements.
Vous trouverez ci-dessous un exemple d'expression agrégée permettant de calculer le montant total par fournisseur.
Un niveau d'agrégation est ajouté et la portée de l'expression est définie sur ce nouveau niveau. Vous trouverez ci-dessous un exemple de jeu de données.
L'expression d'agrégation est calculée une fois pour chaque valeur individuelle au sein du niveau d'étendue. Cette valeur est ajoutée à chaque enregistrement dans cette étendue. Le montant total est donc calculé une fois, puis copié 4 fois dans chaque enregistrement. Le montant total par fournisseur est calculé 3 fois. Étant donné qu’il existe 2 enregistrements avec « Supplier A », sa valeur est définie sur les deux enregistrements. Étant donné qu'il n'y a qu'un seul enregistrement pour « Fournisseur B » et « Fournisseur C », la valeur est affectée à l'enregistrement correspondant.
Suivez ces étapes pour définir une expression d'agrégat au niveau inférieur.
Étape |
Action |
---|---|
1 |
Cliquez avec le bouton droit sur Racine dans le panneau Paramètres de la boîte de dialogue Modifier l'attribut d'expression ( Edit Expression Attribute ). |
2 |
Sélectionnez Ajouter un niveau. |
3 |
Cliquez sur le niveau … et sélectionnez l’attribut de source de données sur lequel vous souhaitez regrouper les valeurs. Dans ce cas Fournisseur. |
4 |
Cliquez avec le bouton droit sur le niveau d'attribut sélectionné et sélectionnez Définir comme niveau d'expression. |
p
(pour le parent) et c
(pour l’enfant) pour parcourir l’arborescence de haut en bas.
p
renvoie un seul nœud, mais peut avoir plusieurs enfants, donc c
renvoie une liste de nœuds.
Vous trouverez ci-dessous un exemple d'expression d'agrégation basée sur un niveau parent.
percentage(sum(records.Amount) / sum(p.records.Amount) * 100)
calcule un pourcentage pour chaque fournisseur :
- la somme des montants associés à un fournisseur est divisée par la somme de tous les montants.
- l'étendue est déplacée vers le niveau parent, c'est-à-dire la racine.
- le résultat est multiplié par 100 pour le convertir en pourcentage.
Vous trouverez ci-dessous un exemple d'expression d'agrégation basée sur un niveau enfant.
count(c)
renvoie une liste de tous les fournisseurs par typede fournisseur. Étant donné que chaque enfant est un fournisseur, le nombre d'enfants c
peut être compté.
if()
peut être utilisée pour des vérifications conditionnelles. Cependant, cette fonction ne peut être appliquée que par enregistrement. Il n'est pas possible de vérifier une condition dans un groupe d'enregistrements à l'aide d'une instruction if. La structure arborescente peut être utilisée pour parcourir (des parties spécifiques de) vos données, par exemple pour exprimer des propriétés.
Les fonctions suivantes peuvent être utilisées pour ce type de calculs.
Function |
Description |
---|---|
|
Renvoie
true si au moins une condition dans Étendue est évaluée à true .
|
|
Renvoie
true si toutes les conditions dans Étendue ont la valeur true .
|
Consultez l'illustration ci-dessous pour voir un exemple.
Par exemple, l'expression
exists(records, find(lower(Supplier), 'consulting')
vérifie pour chaque type de fournisseur s'il existe des factures d'un fournisseur avec « consulting » dans le nom.
lower
est utilisé pour convertir les noms des fournisseurs en minuscules et rendre la coche insensible à la casse.
filter()
peut être utilisée.
Vous trouverez ci-dessous un exemple d'expression d'agrégation basée sur un filtre.
count(
unique(
filter(
records,
supplier_type = "Machinery"
).Supplier
)
)
count(
unique(
filter(
records,
supplier_type = "Machinery"
).Supplier
)
)
De l’intérieur vers l’extérieur, l’expression est construite de la manière suivante :
- Récupérer tous les enregistrements dans l'étendue actuelle.
- Filtrez ces enregistrements de sorte que seuls ceux qui ont un type de fournisseur de machines restent.
- Pour chaque enregistrement filtré, renvoyez la valeur de l'attribut de source de données Fournisseur .
- Supprimez toutes les valeurs en double de la liste, de sorte que nous n'ayons qu'un seul élément par valeur unique.
-
Comptez le nombre d'éléments restants sur la liste.
records
est la liste des enregistrements appartenant à ce propriétaire de cas.
L'expression renvoie une valeur pour chaque propriétaire de dossier, qui indique le nombre de fournisseurs uniques avec le type Machines.
Le menu du panneau Paramètres (Settings) contient des options permettant d'ajouter un filtrage pour les agrégats.
Vous trouverez ci-dessous une description des options du menu Paramètres (Settings).
Option |
Description |
---|---|
Activer l'expression de filtre |
Permet de saisir une expression en tant que filtre. |
Activer les commandes de filtrage |
Ouvre la boîte de dialogue Modifier les commandes de filtre (Edit Filter Controls ) dans laquelle vous pouvez sélectionner une commande de filtre disponible dans la liste. |
Activer la période de comparaison |
Permet d'ajouter une période de comparaison ou une expression pour définir un certain nombre de périodes précédentes à filtrer. |
Appliquer des filtres d'utilisateur final |
Permet d'appliquer les filtres d'utilisateur final disponibles. |
Le tri peut être utilisé pour déterminer la valeur la plus élevée ou la plus faible ou pour traiter les enregistrements dans un certain ordre.
Lorsque vous avez besoin du premier ou du dernier enregistrement de votre expression, vous pouvez effectuer un tri par niveau des manières suivantes :
-
A..Z et Z..A trient par valeur.
- Sur les chaînes, cela sera trié par ordre alphabétique.
- Sur les formats numériques (double, entier), cela triera sur une valeur numérique.
- Sur les formats liés à l'heure (datetime, date), il sera trié par ordre chronologique.
- 0..9 et 9..0 trient sur le nombre d'enregistrements dans le groupe.
- Expression vous permet de remplir une expression, qui sera triée par valeur comme décrit ci-dessus.
Pour chacune de ces options de tri, il est possible de définir l'ordre croissant ou décroissant.
Voir l'illustration ci-dessous pour un exemple de tri où le premier utilisateur travaillant sur chaque cas est déterminé.
first(records.User)
détermine le premier User
de chaque Case ID
. Event end
est trié par ordre croissant.