- 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
- Travailler avec l'éditeur de tableau de bord
- Créer des tableaux de bord
- Tableaux de bord
- Gestionnaire de l’automatisation
- 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
- Afficher le journal des transformations
- Modification et test des transformations de données
- Structure of transformations
- Tips for writing SQL
- Fusion des journaux d'événements
- Gestionnaire de processus
- Modèles d'applications
- Ressources supplémentaires
- Balises et dates d'échéance prêtes à l'emploi
- Modification des transformations de données dans un environnement local
- Setting up a local test environment
- Designing an event log
- DataBridgeAgent
- Configuration système requise
- Configurer DataBridgeAgent
- Ajouter un connecteur personnalisé à DataBridgeAgent
- Utiliser DataBridgeAgent avec le connecteur SAP pour l'accélérateur de découverte Purchase-to-Pay
- Utiliser DataBridgeAgent avec le connecteur SAP pour l'accélérateur de découverte Order-to-Cash
- Extension de l’outil d’extraction SAP Ariba
- Caractéristiques de performances
- Comment annuler une exécution de données à partir de la base de données
- Comment ajouter une règle de table d'adresse IP pour utiliser le port SQL Server 1433
- Lors de la création d'une application de processus, le statut reste dans Créer une application (Creating app)
- Configuration de Dapr avec Redis en mode cluster
- Transformations de données
- Charger des données
- Synchronisation des données C

Process Mining
Dans Process Mining, les balises sont les règles métier que vous appliquez à vos données, qui vous permettent de vérifier la conformité de votre processus, telles que les inefficacités, les reprises ou les violations.
Tags
doivent être présents dans votre ensemble de données.
Check out Out-of-the-box Tags and Due dates for more information on out-of-the box Tags for Order-to-Cash app templates.
Check out Configuring Tags for more information on how to configure Tags in data transformations.
Si vous souhaitez utiliser le tableau de bord Balises (Tags) pour analyser les balises de votre processus, des balises doivent être définies pour votre modèle d'application.
For certain app templates, there are out of the box tags available, which will be shown in the dashboard. In the documentation for your specific app template you will find an overview of the available tags. The App Templates page contains links to the documentation for all available app templates.
Tous les modèles d'application de processus personnalisé ont une balise implémentée prête à l'emploi qui vérifie si un incident comporte des activités de révision exécutées par différents utilisateurs.
Si aucune donnée n'est disponible dans le tableau de bord Balises (Tags) , vous devez configurer vos propres balises à l'aide de transformations de données. Ici, vous pouvez également configurer toutes les balises par défaut en fonction des besoins de votre entreprise. Le tableau suivant décrit les fichiers de configuration de balises pour les différents modèles d'application.
Modèles d'applications basés sur |
Fichier de configuration des balises |
Journal des événements | models\5_business_logic\Tags_base.sql |
Processus personnalisé 1 | models\5_business_logic\Tags_base.sql |
Purchase-to-Pay | models\5_business_logic\Tags.sql |
Order-to-Cash | models\5_business_logic\Tags.sql |
Tags_raw.csv
file. Check out Custom process input fields.
Ajout d'une logique métier dans les transformations
Dans la dernière étape de la transformation, une logique métier est ajoutée au besoin pour l'analyse des données.
Chaque enregistrement de la table des balises représente une balise pour un certain cas. Exemples de balises :
- Violation du SLA d’un contrat.
- un paiement effectué par une personne non autorisée.
Case_ID
et Tag
.
Tous les objets n'auront pas tous une balise, et certains objets pourront avoir plusieurs balises.
Refer to Data transformations for more information.
Exemples de configuration de balises SQL
Cette page contient des exemples SQL que vous pouvez utiliser pour configurer des balises à l'aide de transformations.
Case_ID
. Si vous souhaitez utiliser les exemples SQL pour définir des balises pour les modèles d'application Purchase-to-Pay ou les modèles d'application Order-to-Cash , assurez-vous d'utiliser l'objet approprié et l'object_ID interne associé. Lors de l'extension de l'implémentation pour les balises, suivez l'implémentation existante.
Le bloc de code suivant montre un exemple de requête SQL pour définir une balise.
select
Time_to_resolved."Case_ID",
{{ pm_utils.as_varchar('Resolved in less than a day') }} as "Tag",
{{ pm_utils.to_varchar('Optional tag type') }} as "Tag_type"
from Time_to_resolved
where Time_to_resolved."Throughput_time" < 24
select
Time_to_resolved."Case_ID",
{{ pm_utils.as_varchar('Resolved in less than a day') }} as "Tag",
{{ pm_utils.to_varchar('Optional tag type') }} as "Tag_type"
from Time_to_resolved
where Time_to_resolved."Throughput_time" < 24
Le bloc de code suivant montre un exemple de requête SQL CTE (Common Table Expression) pour configurer une balise.
Time_to_resolved as (
select
Event_log."Case_ID",
{{ pm_utils.datediff('hour', 'min(Cases."Creation_date")', 'max(Event_log."Event_end")') }} as "Throughput_time"
from {{ ref('Event_log') }} as Event_log
left join {{ ref('Cases ') }} as Cases
on Event_log."Case_ID" = Cases."Case_ID"
where Event_log."Activity" = 'Set resolution to Done'
group by Event_log."Case_ID"
)
Time_to_resolved as (
select
Event_log."Case_ID",
{{ pm_utils.datediff('hour', 'min(Cases."Creation_date")', 'max(Event_log."Event_end")') }} as "Throughput_time"
from {{ ref('Event_log') }} as Event_log
left join {{ ref('Cases ') }} as Cases
on Event_log."Case_ID" = Cases."Case_ID"
where Event_log."Activity" = 'Set resolution to Done'
group by Event_log."Case_ID"
)
Suit directement
Ce code SQL identifie les cas où l’activité « X » est directement suivie de l’activité « Y » et les marque comme « Violation ».
with Event_log_base as (
select * from {{ ref('Event_log_base') }}
),
-- Event log with current activity and next activity
Event_log_extended as (
select
Event_log_base."Case_ID",
Event_log_base."Activity" as "Current_activity",
lead(Event_log_base."Activity") over (order by "Event_end") as "Next_activity"
from Event_log_base
),
-- This SQL code checks whether activity X is directly followed by Y in a given case
Directly_follows as (
select
Event_log_extended ."Case_ID",
{{ pm_utils.as_varchar('Activity X directly followed by activity Y') }} as "Tag",
{{ pm_utils.as_varchar('Violation') }} as "Tag_type"
from Event_log_extended
where Event_log_extended ."Current_activity" = 'X' and Event_log_extended ."Next_activity" = 'Y'
group by Event_log_extended ."Case_ID"
)
select * from Directly_follows
with Event_log_base as (
select * from {{ ref('Event_log_base') }}
),
-- Event log with current activity and next activity
Event_log_extended as (
select
Event_log_base."Case_ID",
Event_log_base."Activity" as "Current_activity",
lead(Event_log_base."Activity") over (order by "Event_end") as "Next_activity"
from Event_log_base
),
-- This SQL code checks whether activity X is directly followed by Y in a given case
Directly_follows as (
select
Event_log_extended ."Case_ID",
{{ pm_utils.as_varchar('Activity X directly followed by activity Y') }} as "Tag",
{{ pm_utils.as_varchar('Violation') }} as "Tag_type"
from Event_log_extended
where Event_log_extended ."Current_activity" = 'X' and Event_log_extended ."Next_activity" = 'Y'
group by Event_log_extended ."Case_ID"
)
select * from Directly_follows
Suit indirectement
Ce code SQL identifie les cas où l’activité « X » est directement ou indirectement suivie de l’activité « Y » et les marque comme « Violation ».
with Event_log_base as (
select * from {{ ref('Event_log_base') }}
),
Cases_with_activity_X as (
select
Event_log_base."Case_ID",
min(Event_log_base."Event_end") as "Event_end"
from Event_log_base
where Event_log_base."Activity" = 'X'
group by Event_log_base."Case_ID"
),
-- Activity X is directly or indirectly followed by activity Y
Indirectly_follows as (
select
Event_log_base."Case_ID",
{{ pm_utils.as_varchar('Activity X indirectly followed by activity Y') }} as "Tag",
{{ pm_utils.as_varchar('Violation') }} as "Tag_type"
from Event_log_base
inner join Cases_with_activity_X
on Event_log_base."Case_ID" = Cases_with_activity_X."Case_ID"
where Event_log_base."Activity" = 'Y' and Event_log_base."Event_end" > Cases_with_activity_X."Event_end"
group by Event_log_base."Case_ID"
)
select * from Indirectly_follows
with Event_log_base as (
select * from {{ ref('Event_log_base') }}
),
Cases_with_activity_X as (
select
Event_log_base."Case_ID",
min(Event_log_base."Event_end") as "Event_end"
from Event_log_base
where Event_log_base."Activity" = 'X'
group by Event_log_base."Case_ID"
),
-- Activity X is directly or indirectly followed by activity Y
Indirectly_follows as (
select
Event_log_base."Case_ID",
{{ pm_utils.as_varchar('Activity X indirectly followed by activity Y') }} as "Tag",
{{ pm_utils.as_varchar('Violation') }} as "Tag_type"
from Event_log_base
inner join Cases_with_activity_X
on Event_log_base."Case_ID" = Cases_with_activity_X."Case_ID"
where Event_log_base."Activity" = 'Y' and Event_log_base."Event_end" > Cases_with_activity_X."Event_end"
group by Event_log_base."Case_ID"
)
select * from Indirectly_follows
Activité X plusieurs fois
Ce code SQL identifie les cas où l'activité « X » se produit plusieurs fois et les marque comme « Inefficacité ».
with Event_log_base as (
select * from {{ ref('Event_log_base') }}
),
-- This SQL code checks if Activity X occurs twice or more times in the same case
Activity_X_multiple_times as (
select
Event_log_base."Case_ID",
{{ pm_utils.as_varchar('Activity X multiple times') }} as "Tag",
{{ pm_utils.as_varchar('Inefficiency') }} as "Tag_type"
from Event_log_base
where Event_log_base."Activity" = 'X'
group by Event_log_base."Case_ID"
having count(Event_log_base."Activity") > 1
)
select * from Activity_X_multiple_times
with Event_log_base as (
select * from {{ ref('Event_log_base') }}
),
-- This SQL code checks if Activity X occurs twice or more times in the same case
Activity_X_multiple_times as (
select
Event_log_base."Case_ID",
{{ pm_utils.as_varchar('Activity X multiple times') }} as "Tag",
{{ pm_utils.as_varchar('Inefficiency') }} as "Tag_type"
from Event_log_base
where Event_log_base."Activity" = 'X'
group by Event_log_base."Case_ID"
having count(Event_log_base."Activity") > 1
)
select * from Activity_X_multiple_times
L'incident comporte une activité X
Ce code SQL identifie les cas qui ont une ou plusieurs activités avec un nom contenant « X » et les balises comme « Inefficacité ».
with Event_log_base as (
select * from {{ ref('Event_log_base') }}
),
-- Case has activity with name like X
Case_has_activity_X as (
select
Event_log_base."Case_ID",
{{ pm_utils.as_varchar('Case has activity X') }} as "Tag",
{{ pm_utils.as_varchar('Inefficiency') }} as "Tag_type"
from Event_log_base
where {{ pm_utils.charindex('X', 'Event_log_base."Activity"') }} > 0
group by Event_log_base."Case_ID"
)
select * from Case_has_activity_X
with Event_log_base as (
select * from {{ ref('Event_log_base') }}
),
-- Case has activity with name like X
Case_has_activity_X as (
select
Event_log_base."Case_ID",
{{ pm_utils.as_varchar('Case has activity X') }} as "Tag",
{{ pm_utils.as_varchar('Inefficiency') }} as "Tag_type"
from Event_log_base
where {{ pm_utils.charindex('X', 'Event_log_base."Activity"') }} > 0
group by Event_log_base."Case_ID"
)
select * from Case_has_activity_X
L'incident ne comporte aucune activité X
Ce code SQL identifie les cas pour lesquels aucune activité n'a un nom contenant « X » et les balises comme « Inefficacité ».
with Event_log_base as (
select * from {{ ref('Event_log_base') }}
),
Cases as (
select * from {{ ref('Cases') }}
),
-- Case has no activity with name like X
-- Obtained by subtracting the set of cases that have activity X from the set of all cases
Case_has_no_activity_X as (
select
Cases."Case_ID",
{{ pm_utils.as_varchar('Case has no activity X') }} as "Tag",
{{ pm_utils.as_varchar('Inefficiency') }} as "Tag_type"
from Cases
where Cases."Case_ID" not in (
-- Case has activity with name like X
select
Event_log_base."Case_ID"
from Event_log_base
where {{ pm_utils.charindex('X', 'Event_log_base."Activity"') }} > 0
group by Event_log_base."Case_ID"
)
)
select * from Case_has_no_activity_X
with Event_log_base as (
select * from {{ ref('Event_log_base') }}
),
Cases as (
select * from {{ ref('Cases') }}
),
-- Case has no activity with name like X
-- Obtained by subtracting the set of cases that have activity X from the set of all cases
Case_has_no_activity_X as (
select
Cases."Case_ID",
{{ pm_utils.as_varchar('Case has no activity X') }} as "Tag",
{{ pm_utils.as_varchar('Inefficiency') }} as "Tag_type"
from Cases
where Cases."Case_ID" not in (
-- Case has activity with name like X
select
Event_log_base."Case_ID"
from Event_log_base
where {{ pm_utils.charindex('X', 'Event_log_base."Activity"') }} > 0
group by Event_log_base."Case_ID"
)
)
select * from Case_has_no_activity_X
Commence par
Ce code SQL identifie les cas qui commencent par l'activité « X » et les marque comme « Violation ».
with Event_log_base as (
select * from {{ ref('Event_log_base') }}
),
-- Add row_number to initial event log
Event_log_base_numbered as (
select
Event_log_base."Case_ID",
Event_log_base."Activity",
Event_log_base."Event_end",
row_number() over (partition by Event_log_base."Case_ID" order by Event_log_base."Event_end") as "Row_number"
from Event_log_base
),
-- Case starts with activity X
Starts_with as (
select
Event_log_base_numbered."Case_ID",
{{ pm_utils.as_varchar('Case starts with activity X') }} as "Tag",
{{ pm_utils.as_varchar('Violation') }} as "Tag_type"
from Event_log_base_numbered
where
Event_log_base_numbered."Row_number" = 1
and Event_log_base_numbered."Activity" = 'X'
)
select * from Starts_with
with Event_log_base as (
select * from {{ ref('Event_log_base') }}
),
-- Add row_number to initial event log
Event_log_base_numbered as (
select
Event_log_base."Case_ID",
Event_log_base."Activity",
Event_log_base."Event_end",
row_number() over (partition by Event_log_base."Case_ID" order by Event_log_base."Event_end") as "Row_number"
from Event_log_base
),
-- Case starts with activity X
Starts_with as (
select
Event_log_base_numbered."Case_ID",
{{ pm_utils.as_varchar('Case starts with activity X') }} as "Tag",
{{ pm_utils.as_varchar('Violation') }} as "Tag_type"
from Event_log_base_numbered
where
Event_log_base_numbered."Row_number" = 1
and Event_log_base_numbered."Activity" = 'X'
)
select * from Starts_with
Délai d’exécution supérieur à 10 jours
Ce code SQL identifie les cas pour lesquels le délai d'exécution est supérieur à 10 jours et les marque comme « Inefficacité ».
with Event_log_base as (
select * from {{ ref('Event_log_base') }}
),
-- Throuput time of each case
Throughput_time_per_case as (
select
Event_log_base."Case_ID",
{{ pm_utils.datediff('day', 'coalesce(min(Event_log_base."Event_start"), min(Event_log_base."Event_end"))', 'max(Event_log_base."Event_end")') }} as "Throughput_time"
from Event_log_base
group by Event_log_base."Case_ID"
),
-- Case throughput time is longer than 10 days
Throughput_time_longer_than_10_days as (
select
Throughput_time_per_case."Case_ID",
{{ pm_utils.as_varchar('Throughput time is longer than 10 days') }} as "Tag",
{{ pm_utils.as_varchar('Inneficiency') }} as "Tag_type"
from Throughput_time_per_case
where Throughput_time_per_case."Throughput_time" > 10
)
select * from Throughput_time_longer_than_10_days
with Event_log_base as (
select * from {{ ref('Event_log_base') }}
),
-- Throuput time of each case
Throughput_time_per_case as (
select
Event_log_base."Case_ID",
{{ pm_utils.datediff('day', 'coalesce(min(Event_log_base."Event_start"), min(Event_log_base."Event_end"))', 'max(Event_log_base."Event_end")') }} as "Throughput_time"
from Event_log_base
group by Event_log_base."Case_ID"
),
-- Case throughput time is longer than 10 days
Throughput_time_longer_than_10_days as (
select
Throughput_time_per_case."Case_ID",
{{ pm_utils.as_varchar('Throughput time is longer than 10 days') }} as "Tag",
{{ pm_utils.as_varchar('Inneficiency') }} as "Tag_type"
from Throughput_time_per_case
where Throughput_time_per_case."Throughput_time" > 10
)
select * from Throughput_time_longer_than_10_days
Durée supérieure à 30 minutes
Ce code SQL identifie les cas où la durée entre l’activité « X » et « Y » est supérieure à 30 minutes et les marque comme « Inefficacité ».
with Event_log_base as (
select * from {{ ref('Event_log_base') }}
),
-- First activity X of each case
First_activity_X_of_each_case as (
select
Event_log_base."Case_ID",
min(Event_log_base."Event_end") as "Event_end"
from Event_log_base
where Event_log_base."Activity" = 'X'
group by Event_log_base."Case_ID"
),
-- Last activity Y of each case
Last_activity_Y_of_each_case as (
select
Event_log_base."Case_ID",
max(Event_log_base."Event_end") as "Event_end"
from Event_log_base
where Event_log_base."Activity" = 'Y'
group by Event_log_base."Case_ID"
),
-- Time between first X and last Y > 30 minutes
Duration_more_than_30_minutes as (
select
First_activity_X_of_each_case."Case_ID",
{{ pm_utils.as_varchar('Duration more than 30 minutes') }} as "Tag",
{{ pm_utils.as_varchar('Inefficiency') }} as "Tag_type"
from First_activity_X_of_each_case
inner join Last_activity_Y_of_each_case
on First_activity_X_of_each_case."Case_ID" = Last_activity_Y_of_each_case."Case_ID"
where {{ pm_utils.datediff('minute', 'First_activity_X_of_each_case."Event_end"', 'Last_activity_Y_of_each_case."Event_end"') }} > 30
)
select * from Duration_more_than_30_minutes
with Event_log_base as (
select * from {{ ref('Event_log_base') }}
),
-- First activity X of each case
First_activity_X_of_each_case as (
select
Event_log_base."Case_ID",
min(Event_log_base."Event_end") as "Event_end"
from Event_log_base
where Event_log_base."Activity" = 'X'
group by Event_log_base."Case_ID"
),
-- Last activity Y of each case
Last_activity_Y_of_each_case as (
select
Event_log_base."Case_ID",
max(Event_log_base."Event_end") as "Event_end"
from Event_log_base
where Event_log_base."Activity" = 'Y'
group by Event_log_base."Case_ID"
),
-- Time between first X and last Y > 30 minutes
Duration_more_than_30_minutes as (
select
First_activity_X_of_each_case."Case_ID",
{{ pm_utils.as_varchar('Duration more than 30 minutes') }} as "Tag",
{{ pm_utils.as_varchar('Inefficiency') }} as "Tag_type"
from First_activity_X_of_each_case
inner join Last_activity_Y_of_each_case
on First_activity_X_of_each_case."Case_ID" = Last_activity_Y_of_each_case."Case_ID"
where {{ pm_utils.datediff('minute', 'First_activity_X_of_each_case."Event_end"', 'Last_activity_Y_of_each_case."Event_end"') }} > 30
)
select * from Duration_more_than_30_minutes
Tableau de bord des balises
Le tableau de bord Balises (Tags) vous permet d'analyser les balises apparaissant dans le processus.
Suivez ces étapes pour afficher le tableau de bord Balises (Tags).
-
Sélectionnez Balises dans le menu à gauche du tableau de bord.
Le tableau de bord Balises (Tags) s'affiche.
Métriques
La table suivante décrit les mesures qui peuvent être utilisées pour analyser les objets concernant les balises.
Mesure |
Description |
---|---|
Nombre d'objets |
Nombre d'objets auxquels la balise est affectée. |
Nombre de balises |
Le nombre de balises affectées. |