UiPath Documentation
process-mining
2023.10
false

Guide de l'utilisateur de Process Mining

Dernière mise à jour 5 mai 2026

Dates d’échéance

Introduction

Le tableau de bord Dates d’échéance affiche des informations sur les objets respectant ou non les échéances et les coûts associés. Les dates d'échéance peuvent être prédéfinies pour définir une échéance d'étape ou d'activité significative dans les processus. Le tableau de bord Dates d'échéance peut être utilisé pour analyser divers aspects des dates d'échéance dans les processus. À l'aide de ce tableau de bord, il est possible d'examiner les dates d'échéance prédéfinies du processus, comme une échéance de paiement ou un SLA qui doit être respecté à temps.

Les dates d'échéance peuvent avoir des coûts associés pour les dates d'échéance tardives.

Consultez les Balises prêtes à l'emploi et les Dates d'échéance pour plus d'informations sur les dates d'échéance prêtes à l'emploi pour les modèles d'application Purchase-to-Pay et les modèles d'application Order-to-Cash.

Consultez Configuration des dates d'échéance pour plus d'informations sur la configuration des dates d'échéance dans les transformations de données.

Configuration des dates d'échéance

Si vous souhaitez utiliser le tableau de bord Dates d'échéance pour analyser les dates d'échéance, les dates d'échéance doivent être définies pour votre modèle d'application.

Si des dates d'échéance prêtes à l'emploi sont disponibles pour votre modèle d'application, ces dates d'échéance seront affichées dans le tableau de bord Dates d'échéance . Vous trouverez dans la documentation de votre modèle d'application spécifique un aperçu des dates d'échéance disponibles. La page Modèles d'applications contient des liens vers la documentation de tous les modèles d'application disponibles.

Si aucune donnée n'est disponible dans le tableau de bord des dates d'échéance, vous devez configurer vos propres dates d'échéance dans le fichier models\5_business_logic\Due_dates_base.sql à l'aide de transformations de données. Ici, vous pouvez également configurer toutes les dates d'échéance par défaut en fonction des besoins de votre entreprise.

Pour un processus personnalisé, vous pouvez également télécharger des dates d'échéance à l'aide du fichier Due_dates_raw.csv . Consultez les Champs d'entrée de processus personnalisés.

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 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 objet de paiement.
  • un délai d’approbation pour la demande d’achat.

Les champs obligatoires de cette table sont les champs Event_ID, Due_date, Actual_date et Expected_date.

Exemples de dates d'échéance

Tous les événements n'auront pas tous une date d'échéance, et certains événements pourront avoir plusieurs dates d'échéance.

Consultez Transformations de données pour de plus amples informations.

Fourniture d'une entrée de configuration de date d'échéance à l'aide de référence dbt

Vous pouvez fournir des données d'entrée supplémentaires à utiliser pour les calculs dans le tableau de bord Dates d'échéance à l'aide d'un fichier de référence dbt . Le dossier vers les références des transformations d'application pour le modèle d'application contient un fichier Due_dates_configuration_raw.csv. Pour toutes les dates d'échéance, vous pouvez remplir les champs suivants.

NomSaisie de texteDescription
Date_échéanceTexteLe nom de la date d'échéance.
Due_date_typeTexteLe type Date d'échéance.
Fixed_costsBooléenUne indication si les coûts sont fixes ou basés sur le temps.
CoûtMode flottantCoûts fixes : le montant des coûts. Coûts variables : le montant des coûts par Heure et Type_type.
Délai (Time)EntierUn nombre indiquant la durée en cas de coûts basés sur le temps.
Time_typeTexteType de période pour les calculs de coûts. Il peut s'agir de l'une des valeurs suivantes : jour, heure, minute, seconde, milliseconde.

L'illustration suivante montre un exemple de fichier de référence.

Exemple de fichier de référence

Consultez Transformations.

Exemples SQL pour la configuration des dates d'échéance

Cette page contient quelques exemples SQL que vous pouvez utiliser pour configurer les dates d'échéance à l'aide de transformations.

Remarque :

Les exemples SQL sont basés sur le Journal des événements et les Modèles d'application de processus personnalisés , et utilisez des cas qui ont un Case_ID. Si vous souhaitez utiliser les exemples SQL pour définir les dates d'échéance 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é. Pour Purchase-to-Pay, vous pouvez utiliser le journal des événements Purchase_order_item_end_to_end_events , l'objet Purchase_order_items et le Purchase_order_item_ID_internal comme Case_ID. Pour Order-to-Cash, vous pouvez utiliser le journal des événements Sales_order_item_end_to_end_events , l'objet Sales_order_items et le Sales_order_item_ID_internal en tant que Case_ID.

Le bloc de code suivant montre un exemple de requête SQL pour définir une date d'échéance.

select
    tableA."Case_ID",
    {{ pm_utils.as_varchar('Name of Due date') }} as "Due_date",
    tableB."SLA_date" as "Expected_date",
     tableA."Executed_date" as "Actual_date"
from {{ ref('tableA') }} as tableA
left join {{ ref('tableB') }} as tableB
on tableA."Case_ID" = tableB."Case_ID"
select
    tableA."Case_ID",
    {{ pm_utils.as_varchar('Name of Due date') }} as "Due_date",
    tableB."SLA_date" as "Expected_date",
     tableA."Executed_date" as "Actual_date"
from {{ ref('tableA') }} as tableA
left join {{ ref('tableB') }} as tableB
on tableA."Case_ID" = tableB."Case_ID"

Le bloc de code suivant montre un exemple de requête SQL pour configurer les dates d'échéance.

select
        Due_dates_base."Case_ID",
        Due_dates_base."Due_date",
        Due_dates_base."Actual_date",
        Due_dates_base."Expected_date",
        {{ pm_utils.as_varchar('Type of Due date') }} as "Due_date_type",
        case
            when Due_dates_base."Actual_date" <= Due_dates_base."Expected_date"
                then {{ pm_utils.to_boolean('true') }}
            else {{ pm_utils.to_boolean('false') }}
        end as "On_time",
        case
            -- when actual or expected date are null
            when Due_dates_base."Actual_date" is null or Due_dates_base."Expected_date" is null
                then {{ pm_utils.to_double('null') }}
            -- when the due date is on time, the cost is 0
            when Due_dates_base."Actual_date" <= Due_dates_base."Expected_date"
                then {{ pm_utils.to_double('0') }}
            -- when the due date is late, configure a cost
            when Due_dates_base."Expected_date" > Due_dates_base."Actual_date"
                then {{ pm_utils.to_double('10') }}
        end as "Cost",
        {{ pm_utils.datediff('millisecond', 'Due_dates_base."Expected_date"', 'Due_dates_base."Actual_date"') }} as "Difference"
    from Due_dates_base
select
        Due_dates_base."Case_ID",
        Due_dates_base."Due_date",
        Due_dates_base."Actual_date",
        Due_dates_base."Expected_date",
        {{ pm_utils.as_varchar('Type of Due date') }} as "Due_date_type",
        case
            when Due_dates_base."Actual_date" <= Due_dates_base."Expected_date"
                then {{ pm_utils.to_boolean('true') }}
            else {{ pm_utils.to_boolean('false') }}
        end as "On_time",
        case
            -- when actual or expected date are null
            when Due_dates_base."Actual_date" is null or Due_dates_base."Expected_date" is null
                then {{ pm_utils.to_double('null') }}
            -- when the due date is on time, the cost is 0
            when Due_dates_base."Actual_date" <= Due_dates_base."Expected_date"
                then {{ pm_utils.to_double('0') }}
            -- when the due date is late, configure a cost
            when Due_dates_base."Expected_date" > Due_dates_base."Actual_date"
                then {{ pm_utils.to_double('10') }}
        end as "Cost",
        {{ pm_utils.datediff('millisecond', 'Due_dates_base."Expected_date"', 'Due_dates_base."Actual_date"') }} as "Difference"
    from Due_dates_base
Activité X effectuée avant la date Y

Ce code SQL identifie les cas où la dernière occurrence de l'activité 'X' a été effectuée avant la date 'Y'.

with Event_log_base as (
    select * from {{ ref('Event_log_base') }}
),

Cases_base as (
    select * from {{ ref('Cases_base') }}
),

-- Last activity X of each case
Last_activity_X as (
    select
        Event_log_base."Case_ID",
        max(Event_log_base."Event_end") as "Event_end",
        max(Event_log_base."Event_ID") as "Event_ID"
    from Event_log_base
    where Event_log_base."Activity" = 'X'
    group by Event_log_base."Case_ID"
),

-- Last activity X should be done before Case date field Y
Activity_X_done_before_date_Y as (
    select
        Last_activity_X."Case_ID",
        {{ pm_utils.as_varchar('Last activity X before Cases date field Y') }} as "Due_date",
        Last_activity_X."Event_end" as "Actual_date",
        Cases_base."Case_date_field_Y" as "Expected_date",
        Last_activity_X."Event_ID"
    from Last_activity_X
    inner join Cases_base
        on Last_activity_X."Case_ID" = Cases_base."Case_ID"
)

select * from Activity_X_done_before_date_Y
with Event_log_base as (
    select * from {{ ref('Event_log_base') }}
),

Cases_base as (
    select * from {{ ref('Cases_base') }}
),

-- Last activity X of each case
Last_activity_X as (
    select
        Event_log_base."Case_ID",
        max(Event_log_base."Event_end") as "Event_end",
        max(Event_log_base."Event_ID") as "Event_ID"
    from Event_log_base
    where Event_log_base."Activity" = 'X'
    group by Event_log_base."Case_ID"
),

-- Last activity X should be done before Case date field Y
Activity_X_done_before_date_Y as (
    select
        Last_activity_X."Case_ID",
        {{ pm_utils.as_varchar('Last activity X before Cases date field Y') }} as "Due_date",
        Last_activity_X."Event_end" as "Actual_date",
        Cases_base."Case_date_field_Y" as "Expected_date",
        Last_activity_X."Event_ID"
    from Last_activity_X
    inner join Cases_base
        on Last_activity_X."Case_ID" = Cases_base."Case_ID"
)

select * from Activity_X_done_before_date_Y
Activité X effectuée dans les 5 jours après l’activité Y

Ce code SQL identifie les cas pour lesquels la dernière occurrence de l'activité « X » s'est produite dans les 5 jours suivant la dernière occurrence de l'activité « Y ».

with Event_log_base as (
    select * from {{ ref('Event_log_base') }}
),

-- Last activity X of each case
Last_activity_X as (
    select
        Event_log_base."Case_ID",
        max(Event_log_base."Event_end") as "Event_end",
        max(Event_log_base."Event_ID") as "Event_ID"
    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 as (
    select
        Event_log_base."Case_ID",
        max(Event_log_base."Event_end") as "Event_end",
        max(Event_log_base."Event_ID") as "Event_ID"
    from Event_log_base
    where Event_log_base."Activity" = 'Y'
    group by Event_log_base."Case_ID"
),

-- Last activity X should be done at date of last Event Y + 5 days
Activity_X_done_within_5_days_after_activity_Y as (
    select
        Last_activity_Y."Case_ID",
        {{ pm_utils.as_varchar('Last activity X before last activity Y + 5 days') }} as "Due_date",
        {{ pm_utils.dateadd('day', 5, 'Last_activity_Y."Event_end"') }} as "Expected_date",
        Last_activity_X."Event_end" as "Actual_date",
        Last_activity_Y."Event_ID" as "Event_ID"
    from Last_activity_Y
    inner join Last_activity_X
        on Last_activity_Y."Case_ID" = Last_activity_X."Case_ID"
)

select * from Activity_X_done_within_5_days_after_activity_Y
with Event_log_base as (
    select * from {{ ref('Event_log_base') }}
),

-- Last activity X of each case
Last_activity_X as (
    select
        Event_log_base."Case_ID",
        max(Event_log_base."Event_end") as "Event_end",
        max(Event_log_base."Event_ID") as "Event_ID"
    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 as (
    select
        Event_log_base."Case_ID",
        max(Event_log_base."Event_end") as "Event_end",
        max(Event_log_base."Event_ID") as "Event_ID"
    from Event_log_base
    where Event_log_base."Activity" = 'Y'
    group by Event_log_base."Case_ID"
),

-- Last activity X should be done at date of last Event Y + 5 days
Activity_X_done_within_5_days_after_activity_Y as (
    select
        Last_activity_Y."Case_ID",
        {{ pm_utils.as_varchar('Last activity X before last activity Y + 5 days') }} as "Due_date",
        {{ pm_utils.dateadd('day', 5, 'Last_activity_Y."Event_end"') }} as "Expected_date",
        Last_activity_X."Event_end" as "Actual_date",
        Last_activity_Y."Event_ID" as "Event_ID"
    from Last_activity_Y
    inner join Last_activity_X
        on Last_activity_Y."Case_ID" = Last_activity_X."Case_ID"
)

select * from Activity_X_done_within_5_days_after_activity_Y

Analyser les dates d'échéance

Tableau de bord des dates d'échéance

Le tableau de bord Dates d'échéance permet d'analyser les dates d'échéance qui surviennent dans le processus.

Suivez ces étapes pour afficher le tableau de bord Dates d'échéance .

  1. Sélectionnez Dates d'échéance dans le menu à gauche du tableau de bord.

Le tableau de bord Dates d'échéance (Due dates) s'affiche.

Le tableau suivant décrit les graphiques disponibles sur le tableau de bord Dates d'échéance .

GraphiqueDescriptionMétriques disponibles
Détails des échéancesGraphique à barres affichant les détails liés aux dates d'échéance en fonction de la mesure sélectionnée.Nombre d’objets Temps total en retard Temps moyen en retard Pourcentage de temps Coût total* Coût moyen*
Historique des retardsUn graphique d'historique affichant les informations de date d'échéance pour la période sélectionnée en fonction de la mesure sélectionnée.Nombre total de retards Nombre moyen de retards Pourcentage de temps Coût total* Coût moyen*
Distribution des différencesUn graphique de distribution montrant le nombre de dates d'échéance par rapport au nombre de jours de retard.
  • Le coût total du retard et le coût moyen du retard ne sont disponibles que si les éléments Coût_fixe et Coût sont configurés pour les dates d'échéance.
Onglet Vue d'ensemble (Overview)

Les graphiques de l'onglet Vue d'ensemble (Overview) mettent en évidence les dates d'échéance définies pour votre processus. Pour chaque date d'échéance, le nombre de cas (cas en retard) et le temps total de retard pour la période sélectionnée sont affichés.

image des documents

Details tab

L’onglet Détails contient plusieurs graphiques qui vous permettent d’analyser les activités en retard plus en détail. Voir l'illustration ci-dessous.

image des documents

Vous trouverez ci-dessous un aperçu des graphiques disponibles sur le tableau de bord Dates d'échéance .

GraphiqueDescriptionMétriques disponibles
Gains potentielsUn graphique à secteurs montrant les gains de temps potentiels pour les dates d'échéance définies dans votre ensemble de données.Temps de retard total Temps de retard moyen Coût total* Coût moyen*
Historique des retardsUn graphique d'historique affichant les informations de date d'échéance pour la période sélectionnée en fonction de la mesure sélectionnée.Nombre total de retards Nombre moyen de retards Pourcentage de temps Coût total* Coût moyen*
Détails des échéancesGraphique à barres affichant les détails liés aux dates d'échéance en fonction de la mesure sélectionnée.Nombre de cas Temps total de retard Temps moyen de retard Pourcentage de temps Coût total* Coût moyen*
Distribution des différencesUn graphique de distribution montrant le nombre de dates d'échéance par rapport au nombre de jours de retard.
  • Le coût total des retards et le coût moyen des retards ne sont disponibles que si les éléments Coût_fixe et Coût sont fournis à l'aide du fichier de données Due_dates_configuration_raw.csv.
Détails des échéances

Le graphique Détails des dates d'échéance vous permet d'afficher des informations détaillées sur les dates d'échéance en fonction de différents champs et mesures. Vous pouvez sélectionner les champs suivants.

Champ

Description

Date dʹéchéance Le nom de la date d'échéance.
Type de date d'échéance* Type de date d'échéance.
Coût* Les coûts liés à la date d'échéance.
Date prévue La date à laquelle l'activité devrait être exécutée.
Date réelle La date à laquelle l'activité est réellement exécutée.
Dans les délais prévus Les activités à l’heure indiquée ou en retard .

Remarque : les activités en retard sont des activités pour lesquelles la date réelle est ultérieure à la date prévue .

Différence Délai entre la date prévue et la date réelle .
  • Le type de date d’échéance et le coût ne sont disponibles que si ces champs sont configurés pour les dates d’échéance.

Cette page vous a-t-elle été utile ?

Connecter

Besoin d'aide ? Assistance

Vous souhaitez apprendre ? UiPath Academy

Vous avez des questions ? UiPath Forum

Rester à jour