- 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
- Démarrage d'un projet Task Mining à partir de Process Mining
- Triggering an automation from a process app
- Afficher les données de processus
- Création d'applications
- Chargement des données
- Charger des données
- Récupération des informations d'identification pour le stockage d'objets blob Azure
- [Aperçu] Charger des données en utilisant une connexion directe
- Chargement de données à l'aide de DataUploader
- Affichage des journaux
- Optimisation d'une application
- Planification des exécutions de données
- Transforming data
- Structure of transformations
- Tips for writing SQL
- Exportation et importation de transformations
- Afficher les journaux d'exécution des données
- Fusion des journaux d'événements
- Configuration des balises
- Configuration des dates d'échéance
- Configuration des champs pour le potentiel d'automatisation
- Rendre les transformations disponibles dans les tableaux de bord
- Modèles de données
- Personnaliser les applications de processus
- Publier les applications de processus
- Modèles d'applications
- Ressources supplémentaires

Process Mining
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. Dans la documentation de votre modèle d'application spécifique, vous trouverez un aperçu des dates d'échéance disponibles. La page Modèles d'applications ( App Templates ) contient des liens vers la documentation pour tous les modèles d'application disponibles.
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.
Due_dates_raw.csv
. Consultez Champs d'entrée de processus personnalisés.
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.
Case_ID
, Due_date
, Actual_date
et Expected_date
.
Tous les événements n'auront pas tous une date d'échéance, et certains événements pourront avoir plusieurs dates d'échéance.
Reportez-vous à l'éditeur de transformations de données pour plus d'informations.
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'instructions SQL dans Transformations de données (Data Transformations). Pour toutes les dates d'échéance, vous pouvez configurer les champs suivants.
Nom |
Saisie de texte |
Description |
Due_date | Texte |
Le nom de la date d'échéance. |
Due_date_type | Texte |
Le type Date d'échéance. |
Fixed_costs |
Booléen |
Une indication si les coûts sont fixes ou basés sur le temps. |
|
Mode flottant |
Coûts fixes : le montant des coûts.
Coûts variables : le montant des coûts par Heure et Type_type.
|
|
Entier |
Un nombre indiquant la durée en cas de coûts basés sur le temps. |
Time_type | Texte | Type de période pour les calculs de coûts. Il peut s'agir de l'une des valeurs suivantes : day, hour, minute, second, millisecond. |
|
Texte/Entier |
L'ID de l'incident auquel la date d'échéance est liée. |
Pour les applications de processus qui contiennent toujours le fichier de référence Due_dates_configuration_raw.csv dans le dossier insights\ des transformations de données, vous pouvez utiliser ce fichier pour fournir des données d'entrée supplémentaires à utiliser pour les calculs du tableau de bord Dates d'échéance .
Case_ID
. Si vous souhaitez utiliser les exemples SQL pour définir les dates d'échéance des modèles d'application Purchase-to-Pay ou des 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
en tant que 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
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
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
- Ajout d'une logique métier dans les transformations
- Fourniture d'une entrée de configuration de date d'échéance dans les transformations de données
- Providing due date configuration input using dbt seeds
- Exemples SQL pour la configuration des dates d'échéance
- Activité X effectuée avant la date Y
- Activité X effectuée dans les 5 jours après l’activité Y