- Notes de publication
- Avant de commencer
- Démarrage
- Intégrations
- Travailler avec des applications de processus
- Travailler avec des tableaux de bord et des graphiques
- Travailler avec des graphiques de processus
- Travailler avec des modèles de processus Découvrir et importer des modèles BPMN
- Showing or hiding the menu
- Informations contextuelles
- Exporter (Export)
- Filtres
- Envoi d’idées d’automatisation au Automation Hub d’UiPath®
- Balises
- Dates d’échéance
- Comparer
- Vérification de la conformité
- Analyse des causes profondes
- Simulation du potentiel d’automatisation
- Triggering an automation from a process app
- Afficher les données de processus
- Création d'applications
- Chargement des données
- Personnaliser les applications de processus
- Introduction aux tableaux de bord
- Créer des tableaux de bord
- Tableaux de bord
- Gestionnaire de l’automatisation
- Input data
- Définition de nouvelles tables d'entrée
- Ajout de champs
- Ajouter des tables
- Configuration requise pour le modèle de données
- Affichage et modification du modèle de données
- Exportation et importation de transformations
- Modification et test des transformations de données
- Structure of transformations
- Fusion des journaux d'événements
- Tips for writing SQL
- Gestionnaire de processus
- Publication des tableaux de bord
- Modèles d'applications
- Ressources supplémentaires
![](https://docs.uipath.com/_next/static/media/grid.05ebd128.png?w=3840&%3Bq=100)
Process Mining
Structure of transformations
models\
dans la section Transformations des Transformations de données (Data transformations) est organisé selon la structure des étapes de transformation.
L’étape d’entrée est utilisée pour charger les données brutes. Les opérations suivantes sont généralement effectuées pour préparer les données en vue des étapes de transformation suivantes :
- Sélectionnez les champs avec les macros facultatives et obligatoires. Il n'est pas nécessaire qu'un champ soit présent dans les données brutes lorsque la macro facultative est utilisée.
- Saisissez les champs de conversion vers les types de données appropriés.
-
Filtrez les tables pour réduire la taille des données au début des transformations.
_input
aux tables d'entrée.
optional
du paquet pm-utils
doit être utilisée. Cela garantit qu'un champ obtient la valeur null
si elle n'est pas disponible dans les données source. De cette façon, toutes les transformations s'exécuteront correctement.
-
Utilisez la macro table_optionnel() si la table entière est facultative.
Lors de l'étape Objet (Object), les tables d'entrée sont transformées en tables d'objet. Chaque objet requis pour les événements attendus doit obtenir sa propre table. Reportez-vous à Conception d'un journal des événements. En outre, l’objet support peut également être défini ici.
Invoices_input
, Invoice_types_input
et Customers_input
sont jointes pour créer la table d'objet Factures.
Suivez ces instructions lors de la création d'une table d'objets.
- Il existe un champ ID d'objet, qui est unique pour chaque enregistrement de données.
- Tous les champs d'objet nécessaires à l'analyse des données sont présents.
- Tous les champs d'objet ont des noms faciles à comprendre.
Invoice_ID
.
Toutes les tables d'entrée ne sont pas transformées en tables d'objet. En outre, d'autres tables d'entrée peuvent contenir des informations pertinentes, telles que la table Clients (Customers) dans l'exemple. Il peut être pratique de les définir à l'étape Objets en tant que tables distinctes afin qu'elles puissent être réutilisées dans les transformations de données.
3. events
n'est pas présent dans les transformations du journal des événements et des applications de processus personnalisé .
Au cours de cette étape de transformation, des tables d'événements sont créées pour chaque objet. Consultez la section Conception d'un journal des événements. Chaque enregistrement d'une table d'événements représente un événement qui s'est produit. Il existe deux scénarios sur la façon dont les données sont structurées :
- Champs d'horodatage: champs d'une table d'objets avec un horodatage pour un événement. Par exemple, le champ
Invoice_created
dans une tableInvoices
. - Journal des transactions: une liste d'événements.
En fonction de la structure des données, les transformations permettant de créer les tables d'événements sont différentes.
Dans ce scénario, les valeurs d'un champ d'horodatage doivent être transformées en enregistrements distincts dans une table d'événements. L'exemple suivant est une table de factures qui contient trois champs d'horodatage.
Chaque champ d'horodatage est utilisé pour créer une table d'événements distincte. Pour chaque enregistrement pour lequel le champ timestamp contient une valeur, créez une table avec l'ID de facture, le nom de l'événement (activité) et l'horodatage auquel l'événement a eu lieu (fin de l'événement).
Invoices_input table
est divisé en Invoice_events_Create_invoice
, Invoice_events_Delete_invoice
et Invoices_events_Change_invoice_price
.
Invoices_events
.
Si les événements sont stockés dans un journal de transaction, les événements pertinents par objet doivent être identifiés. Créez une table par objet et stockez l’ID de l’objet correspondant, le nom de l’événement (Activité) et l’horodatage de l’événement (Fin de l’événement).
Les champs suivants sont obligatoires dans une table d'événements. Tous les enregistrements des tables d'événements doivent contenir une valeur pour ces champs.
Champ |
Description |
---|---|
ID d'objet |
ID de l'objet pour lequel l'événement se produit. Par exemple, l' ID de facture (Invoice ID). |
Activité |
L'activité décrit quelle action a eu lieu sur l'objet. |
Event end |
Le champ de fin d'événement indique quand l'événement spécifique a été terminé. Idéalement, il doit s'agir d'un champ datetime plutôt que d'une date. |
[Activity] + _events
pour créer un fichier d'événement par activité, ou [Object] + _events
pour créer un fichier d'événement par objet. Par exemple Purchase_order_created_events
, Purchase_order_approved_events
, ou un fichier avec toutes les activités de commande d'achat combinées Purchase_order_events
.
Lorsque le processus contient un objet, aucune transformation supplémentaire n'est nécessaire à cette étape. La table d'objet unique et les tables d'événements sont déjà au bon format.
Lorsque plusieurs objets sont impliqués dans un processus, les événements de tous les objets doivent être liés à l'objet principal considéré comme « incident » dans le processus. Reportez-vous à Définir le journal des événements pour plus de détails. Les étapes suivantes expliquent comment lier tous les événements à l'objet principal et comment les combiner dans un seul journal des événements.
Créez une table « relations-objets » pour centraliser les relations entre tous les objets. Cette table de relations d'objets contiendra les champs d'ID des objets liés.
Pour créer la table de relations d'objets, joignez toutes les tables d'objets en fonction de leurs champs d'ID :
- Commencer par l'objet principal
- Joignez les objets connexes à l'objet principal avec une jointure gauche.
- Si les objets ne sont pas directement liés à l'objet principal, joignez-les aux objets associés qui sont déjà joints à l'objet principal.
Dans l'exemple suivant, il existe trois objets : Bon de commande (Purchase Order),Ligne de facture (Invoice line) et Facture (Invoice). La commande est considérée comme l'objet principal du processus. La ligne Facture (Invoice) est directement liée au Bon de commande (Purchase Purchase ) et la Facture (Invoice) est liée indirectement via la ligne Facture (Invoice).
Object_relations as (
select
Purchase_orders."Purchase_order_ID"
Invoice_lines.Invoice_line_ID
"Invoices.Invoice_ID"
from Purchase_orders
left join Invoice_lines
on Purchase_orders."Purchase_order_ID" = "Invoice_lines."Purchase_order_ID"
left join Invoices
on Invoice_lines."Invoice_ID" = Invoices."Invoice_ID
)
Object_relations as (
select
Purchase_orders."Purchase_order_ID"
Invoice_lines.Invoice_line_ID
"Invoices.Invoice_ID"
from Purchase_orders
left join Invoice_lines
on Purchase_orders."Purchase_order_ID" = "Invoice_lines."Purchase_order_ID"
left join Invoices
on Invoice_lines."Invoice_ID" = Invoices."Invoice_ID
)
L'illustration suivante montre le tableau des relations d'objets obtenu.
Les relations individuelles entre l'objet principal et chaque autre objet Object sont stockées dans des tables distinctes, en utilisant les informations combinées de la table de relations d'objets.
Relation_invoice_lines as (
select
Object_relations."Purchase_order_ID"
Object_relations."Invoice_line_ID"
from Object_relations
group by "Purchase_order_ID", "Invoice_line_ID"
)
Relation_invoice_lines as (
select
Object_relations."Purchase_order_ID"
Object_relations."Invoice_line_ID"
from Object_relations
group by "Purchase_order_ID", "Invoice_line_ID"
)
Relation_invoices as (
select
Object_relations."Purchase_order_ID"
Object_relations."Invoice_ID"
from Object_relations
group by "Purchase_order_ID", "Invoice_ID"
)
Relation_invoices as (
select
Object_relations."Purchase_order_ID"
Object_relations."Invoice_ID"
from Object_relations
group by "Purchase_order_ID", "Invoice_ID"
)
L'étape suivante consiste à utiliser ces relations pour ajouter l'« ID de cas » correspondant à chaque table d'événement. L'« ID de cas » est obtenu via la table de relation, où les informations d'événement sont obtenues à partir de la table d'événements. Pour créer le journal des événements complet, les tables d'événements de chaque objet sont unifiées.
Purchase_order_event_log as (
select
Purchase_order_events."Purchase_order_ID"
Purchase_order_events."Activity"
Purchase_order_events."Event_end"
from Purchase_order_events
union all
select
Relation_invoice_lines."Purchase_order_ID"
Invoice_line_events."Activity"
Invoice_line_events."Event_end"
from Invoice_line_events
inner join Relation_invoice_lines
on Invoice_line_events."Invoice_line_ID" = "Relation_invoice_lines."Invoice_line_ID"
union all
select
Relation_invoices."Purchase_order_ID"
Invoice_events. "Activity"
Invoice_events. "Event_end"
from Invoice_events
inner join Relation_invoices
on Invoice_events."Invoice_line_ID" = Relation_invoices."Invoice_line_ID"
)
Purchase_order_event_log as (
select
Purchase_order_events."Purchase_order_ID"
Purchase_order_events."Activity"
Purchase_order_events."Event_end"
from Purchase_order_events
union all
select
Relation_invoice_lines."Purchase_order_ID"
Invoice_line_events."Activity"
Invoice_line_events."Event_end"
from Invoice_line_events
inner join Relation_invoice_lines
on Invoice_line_events."Invoice_line_ID" = "Relation_invoice_lines."Invoice_line_ID"
union all
select
Relation_invoices."Purchase_order_ID"
Invoice_events. "Activity"
Invoice_events. "Event_end"
from Invoice_events
inner join Relation_invoices
on Invoice_events."Invoice_line_ID" = Relation_invoices."Invoice_line_ID"
)
Dans la dernière étape de la transformation, la logique métier est ajoutée selon les besoins pour l'analyse des données. Des champs dérivés supplémentaires peuvent être ajoutés aux tables existantes ici. Par exemple, des délais de traitement spécifiques ou des champs booléens utilisés dans les ICP des tableaux de bord.
Tags
et Due dates
.
Les balises sont des propriétés des objets, qui indiquent certaines règles métier. Les balises sont généralement ajoutées pour faciliter l'analyse de ces règles métier. Par exemple :
- Facture payée et approuvée par la même personne.
- L’approbation de la facture a pris plus de 10 jours.
- Vérifier l’activité de facturation ignorée.
Object ID
et le Tag
. Tous les objets n'auront pas tous une balise, et certains objets pourront avoir plusieurs balises. L'illustration suivante montre un exemple de table Balises (Tags).
Une seule table Balises est autorisée dans le modèle de données.
Les dates d’échéance représentent les échéances du processus. Celles-ci sont ajoutées aux données pour analyser si les activités sont effectuées à temps ou non pour ces dates d’échéance.
Chaque enregistrement de la table du journal des échéances représente une échéance pour un certain objet. Exemples de dates d'échéance :
- une échéance de paiement pour un paiement.
- un délai d’approbation pour un bon de commande.
Object ID
, Due date
, Actual date
et Expected date
.
Une seule table de dates d'échéance est autorisée dans le modèle de données.
- Vue d'ensemble (Overview)
- 1. Entrée
- Conventions d'affectation de noms
- Champs facultatifs
- 2. Objets
- Directives
- Additional transformations
- Conventions d'affectation de noms
- 3. Événements
- Timestamp fields
- Journal de transactions
- Conventions d'affectation de noms
- 4. Journaux des événements
- Processus d'objet unique
- Processus d’objets multiples
- Relation d'objet
- Relation tables
- Journal des événements
- Conventions d'affectation de noms
- 5. Logique métier
- Balises
- Dates d’échéance