Votre modèle de données de planification de la production
Votre modèle de données de planification de la production
- Attributs recommandés à collecter
- Activités importantes à suivre
- Guide d’extraction pour Microsoft Dynamics 365 Manufacturing
Attributs de la planification de la production
| Nom | Description | ||
|---|---|---|---|
| Ordre de production ProductionOrderNumber | Identifiant unique d'un ordre de production, utilisé comme identifiant de cas principal pour suivre toutes les activités de planification et d'exécution associées. | ||
| Description Le numéro d’ordre de production, souvent appelé ProdId dans Microsoft Dynamics 365, est l’identifiant central qui relie tous les événements, les matières, les ressources et les coûts associés à une opération de fabrication donnée. Il permet d’analyser de bout en bout le cycle de vie de la planification et de l’exécution de la production pour une unité de travail. Dans le Process Mining, cet attribut est essentiel pour regrouper les événements associés au sein d’un même cas. L’analyse des processus par numéro d’ordre de production aide à identifier les goulots d’étranglement, les retards et les écarts par rapport au flux de production standard, depuis la création et la planification initiales jusqu’à l’achèvement et au calcul des coûts. Pourquoi c’est important Il s'agit de l'identifiant de cas fondamental, indispensable pour regrouper tous les événements associés et reconstituer le processus de planification de la production de bout en bout à des fins d'analyse. Où les obtenir Il s'agit du champ « ProdId » de la table « ProdTable » dans Microsoft Dynamics 365 Manufacturing. Exemples WO-000456WO-000457WO-000458 | |||
| Dernière mise à jour des données LastDataUpdate | Horodatage indiquant la dernière actualisation ou extraction des données de cet événement depuis le système source. | ||
| Description Cet attribut fournit la date et l'heure de la dernière extraction des données depuis le système source. Il s'agit d'un champ de métadonnées essentiel pour comprendre la fraîcheur et l'actualité de l'analyse. La connaissance de la date de dernière mise à jour aide les analystes et les utilisateurs métier à faire confiance aux analyses produites par l'outil de Process Mining. Elle indique si les Dashboards reflètent des informations en temps réel ou des données datant d'un moment antérieur, ce qui est important pour la prise de décision opérationnelle. Pourquoi c’est important Cet attribut est essentiel à la gouvernance des données : il permet aux utilisateurs de connaître leur fraîcheur et de se fier à l'actualité des analyses du processus. Où les obtenir Cet horodatage est généré et ajouté à chaque enregistrement lors du processus d'extraction, de transformation et de chargement (ETL) des données. Exemples 2023-05-20T05:00:00Z2023-05-21T05:00:00Z | |||
| Heure de l'événement EventTime | Horodatage précis indiquant le moment où l'activité s'est produite. | ||
| Description L'heure de l'événement, ou horodatage, enregistre la date et l'heure exactes auxquelles une activité donnée s'est produite. Ces données sont fondamentales pour toutes les analyses temporelles en Process Mining, notamment le calcul des durées de cycle, l'identification des retards entre les étapes et l'analyse de la performance du processus dans le temps. Dans le contexte de la planification de la production, cet attribut sert à mesurer des durées telles que le délai de planification, les retards au démarrage de la production et le délai global d'exécution de l'ordre. Des horodatages précis et chronologiques sont indispensables pour construire un modèle de processus correct et pertinent. Pourquoi c’est important Cet horodatage est essentiel pour classer les événements, calculer les durées entre les activités et effectuer toute analyse fondée sur le temps, comme le calcul du temps de cycle ou l’identification des goulots d’étranglement. Où les obtenir Il se trouve dans différentes tables de transactions, par exemple dans « createdDateTime » de « ProdTable » ou dans les champs de date de transaction de « ProdRouteTrans », « ProdJournalRoute » et « ProdJournalBOM ». Exemples 2023-04-15T09:00:12Z2023-04-15T11:30:00Z2023-04-16T14:22:05Z | |||
| Nom de l'activité ActivityName | Nom de l'événement ou de l'étape métier précis qui s'est produit dans le processus de planification de la production. | ||
| Description Le nom de l'activité décrit une étape du cycle de vie de la planification de la production, comme « Production Order Created », « Materials Picked For Production » ou « Production Started ». Ces activités constituent les éléments de base de la cartographie du processus. L'analyse de leur séquence et de leur durée permet de visualiser le déroulement du processus, d'identifier les parcours fréquents, de détecter les boucles de reprise et de mesurer le temps passé à chaque étape. Cet attribut est essentiel pour comprendre ce qui se passe à chaque point du processus. Pourquoi c’est important Cet attribut définit les étapes du processus. Il permet de construire une cartographie du processus et d’analyser son flux, ses variantes et ses goulots d’étranglement. Où les obtenir Cette valeur provient généralement des journaux d'événements ou du mappage des différents changements de statut et types de transaction dans des tables telles que « ProdRouteTrans » et « ProdJournalBOM », ainsi que des modifications des champs de statut de « ProdTable ». Exemples Ordre de production crééOrdre de production lancéProduction démarréeProduction déclarée terminée | |||
| Système source SourceSystem | Système de référence à partir duquel les données ont été extraites. | ||
| Description Cet attribut identifie le système d'information source dans lequel les données d'événements ont été générées. Pour cette vue du processus, sa valeur serait systématiquement « Microsoft Dynamics 365 Manufacturing ». Dans les environnements intégrant plusieurs systèmes, ce champ est essentiel pour assurer la traçabilité des données, résoudre les problèmes de qualité et comprendre la contribution de chaque système au processus global. Il garantit la clarté sur l'origine des données analysées. Pourquoi c’est important Il fournit un contexte important sur l'origine des données, indispensable à leur gouvernance et à leur validation, ainsi qu'à la gestion des pipelines de données provenant de plusieurs systèmes d'entreprise. Où les obtenir Il s'agit d'une valeur statique qui doit être ajoutée lors de l'extraction et de la transformation des données afin d'indiquer l'origine du jeu de données. Exemples Microsoft Dynamics 365 ManufacturingD365 F&O | |||
| Date de début planifiée PlannedStartDate | Date et heure auxquelles l'ordre de production doit commencer selon le planning. | ||
| Description La date de début planifiée est un résultat essentiel du processus de planification. Elle représente l'heure cible de démarrage des activités de production pour un ordre. Cette date est déterminée en fonction de la disponibilité des matériaux, de la capacité des ressources et des échéances de la demande. Cet attribut est indispensable pour analyser le respect du calendrier. En comparant la date de début planifiée à l'heure réelle de démarrage de la production, issue de l'horodatage de l'activité « Production Started », les entreprises peuvent mesurer la ponctualité, identifier les causes des retards et calculer des KPI tels que le taux de respect du calendrier de production. Pourquoi c’est important Il sert de référence pour mesurer le respect du calendrier et identifier les retards entre la planification et le démarrage réel de la production. Où les obtenir Il s'agit du champ « SchedStart » de la table « ProdTable ». Exemples 2023-04-18T08:00:00Z2023-04-19T08:00:00Z2023-04-20T08:00:00Z | |||
| Date de fin planifiée PlannedEndDate | Date et heure auxquelles l'ordre de production doit être terminé selon le planning. | ||
| Description La date de fin planifiée correspond à l'heure cible d'achèvement d'un ordre de production, déterminée par le moteur de planification. Elle tient compte de la durée des opérations, des calendriers de ressources et des délais afin de prévoir le moment où les produits finis seront disponibles. Dans l'analyse des processus, cet attribut est essentiel pour évaluer la performance en matière de respect des délais. La comparaison de la date de fin planifiée avec l'horodatage réel d'achèvement, issu de l'activité « Production Reported As Finished » ou « Production Order Ended », permet de calculer le KPI du taux de production terminée dans les délais et d'identifier les causes systémiques des livraisons tardives. Pourquoi c’est important Cet attribut sert de référence pour mesurer les taux d'achèvement dans les délais et analyser la précision de la planification de la production. Où les obtenir Il s'agit du champ « SchedEnd » de la table « ProdTable ». Exemples 2023-04-25T17:00:00Z2023-04-26T17:00:00Z2023-04-27T17:00:00Z | |||
| Numéro de produit ProductNumber | Identifiant unique de l'article fabriqué. | ||
| Description Le numéro de produit, ou identifiant d'article, désigne le produit fini que l'ordre de production doit fabriquer. Il relie le processus de production au produit concerné, ainsi qu'à sa nomenclature et à ses instructions de gamme. L'analyse du processus par numéro de produit permet de mettre au jour les variations propres à chaque produit dans le cycle de vie de la fabrication. Elle peut révéler que certains produits ont des durées de cycle plus longues, nécessitent davantage de reprises ou subissent plus fréquemment des retards, fournissant ainsi des informations utiles aux ingénieurs produit et processus. Pourquoi c’est important Il permet d’analyser les variantes du processus en fonction du produit fabriqué et d’identifier les goulots d’étranglement ou les problèmes qualité propres à chaque produit. Où les obtenir Il s'agit du champ « ItemId » de la table « ProdTable ». Exemples FG-1001FG-2050ASSY-500B | |||
| Priorité de production ProductionPriority | Niveau indiquant le degré d’urgence ou de priorité de la commande de production. | ||
| Description La priorité de production est un champ utilisé par les planificateurs et les ordonnanceurs pour gérer l’ordre des travaux dans l’atelier. Les commandes prioritaires peuvent être traitées en urgence, ce qui risque de perturber le planning prévu pour les autres commandes. L’analyse de cet attribut aide à comprendre à quelle fréquence les plans de production sont perturbés par des commandes prioritaires ou urgentes. Le suivi des changements de priorité au cours du cycle de vie d’une commande peut révéler une instabilité de la demande ou de la planification. Cet indicateur est essentiel pour le Dashboard « Tendances de la production urgente » et le KPI « Taux de production urgente ». Pourquoi c’est important Cela permet d’identifier la fréquence et l’impact des commandes urgentes, qui peuvent révéler une planification instable ou une gestion opérationnelle réactive. Où les obtenir Il peut s’agir d’un champ standard ou personnalisé de « ProdTable ». Sa configuration dépend souvent de l’entreprise. Exemples NormalÉlevéUrgent | |||
| Quantité réelle ActualQuantity | Quantité de biens effectivement produits et déclarés comme terminés pour la commande. | ||
| Description La quantité réelle correspond au nombre d’unités terminées et ayant passé les contrôles qualité pour une commande de production donnée. Cette valeur est enregistrée lorsque la production est « déclarée terminée ». Cet attribut sert à analyser le rendement et l’efficacité de la production. Comparer la quantité réelle à la quantité planifiée permet de calculer les taux de rebut et de comprendre les pertes de production. Il constitue également un élément essentiel des analyses de débit et des Dashboards d’utilisation de la capacité. Pourquoi c’est important Elle est essentielle pour calculer le rendement de production, les taux de rebut et le débit réel, et fournit une indication sur l’efficacité et la performance de la fabrication. Où les obtenir Cette valeur provient souvent du champ « QtyGood » de « ProdTable » ou de tables associées d’enregistrement des journaux, lorsqu’une commande est déclarée terminée. Exemples 100985000 | |||
| Site de production ProductionPlant | Site ou usine de fabrication où l'ordre de production est exécuté. | ||
| Description Le site de production identifie le lieu physique ou l'installation responsable du processus de fabrication. Il s'agit d'une dimension organisationnelle essentielle pour segmenter et comparer les performances de production. Dans le Process Mining, cet attribut permet de comparer les performances de différents sites. Les analystes peuvent comparer les durées de cycle, l'utilisation des ressources et le respect des processus standard afin d'identifier les bonnes pratiques ou les installations nécessitant des améliorations opérationnelles. Il est indispensable pour analyser l'utilisation de la capacité. Pourquoi c’est important Il permet de comparer et d'évaluer les performances de différents sites de fabrication, afin d'identifier les bonnes pratiques et les problèmes propres à chaque zone. Où les obtenir Il s'agit du champ « InventSiteId » de la table « ProdTable ». Exemples SITE-ASITE-BMain-WH | |||
| Statut de l'ordre de production ProductionOrderStatus | Indique le statut actuel de l'ordre de production dans son cycle de vie. | ||
| Description Le statut de l'ordre de production reflète l'avancement de l'ordre dans le cycle de vie de la fabrication. Les statuts courants dans Dynamics 365 sont notamment Created, Estimated, Scheduled, Released, Started, Reported as finished et Ended. Cet attribut fournit un aperçu de la situation de chaque ordre à un moment donné. Dans le Process Mining, l'analyse des changements de statut constitue un moyen essentiel de définir les activités et de comprendre le déroulement du processus. Elle permet de filtrer les ordres dans un état donné, d'analyser le temps passé dans chaque statut et d'identifier les ordres bloqués ou en retard. Pourquoi c’est important Cet attribut fournit une vue d'ensemble de l'avancement d'un ordre. Il est essentiel pour filtrer les données, effectuer des contrôles de conformité et analyser le temps passé dans les différentes phases de production. Où les obtenir Il s'agit du champ « ProdStatus » de la table « ProdTable ». Exemples PlanifiéPubliéDémarréTerminé | |||
| Type de production ProductionType | Classification de l'ordre de production, par exemple standard, reprise ou fondé sur un projet. | ||
| Description Le type de production catégorise la commande selon sa finalité. Par exemple, une commande « Standard » concerne la production habituelle destinée au stock, une commande « Rework » sert à corriger les défauts d’un article déjà produit et une commande « Project » est liée à un projet client précis. Cet attribut est important pour créer des vues d’analyse comparables. Le processus associé à une commande de reprise diffère par nature de celui d’une commande standard. Segmenter l’analyse du processus par type de production garantit la pertinence des comparaisons et aide à comprendre les difficultés et les flux propres à chaque type. Pourquoi c’est important Cet attribut permet de segmenter l’analyse, car les différents types de commandes, comme « Standard » et « Rework », suivent naturellement des processus distincts et répondent à des attentes différentes en matière de performance. Où les obtenir Il s’agit du champ « ProdType » de la table « ProdTable ». Exemples StandardRetoucheProjet | |||
| Utilisateur UserId | Identifiant de l'utilisateur qui a exécuté l'activité ou qui en est responsable. | ||
| Description L'identifiant utilisateur indique l'employé ou le compte système qui a exécuté une étape donnée du processus, comme le lancement d'un ordre ou la déclaration de son achèvement. Ces informations permettent de savoir qui effectue le travail dans le processus. L'analyse du processus par utilisateur aide à comprendre la répartition de la charge de travail, à identifier les besoins de formation, à comparer les performances entre les personnes ou les équipes et à examiner les écarts associés à certains utilisateurs. Elle est également importante pour la conformité et la piste d'audit. Pourquoi c’est important Il permet d'analyser la performance du processus par utilisateur ou par équipe, d'identifier les possibilités d'automatisation et de conserver une piste d'audit des activités clés du processus. Où les obtenir Il se trouve dans des champs tels que « modifiedBy » ou « createdBy » de différentes tables, ou dans les champs utilisateur des tables de journaux de transactions comme « ProdJournalTable ». Exemples j.smithm.jonesAX_BATCH_SVC | |||
| Démarrage à l’heure ProductionScheduleAdherence | Indicateur booléen vrai lorsque la commande de production a démarré à la date de début planifiée ou avant celle-ci. | ||
| Description Cet attribut calculé fournit un indicateur binaire simple du respect du planning au démarrage de la production. Il compare l’horodatage réel de début, associé à l’événement « Production Started », à l’attribut « PlannedStartDate ». Cet indicateur est particulièrement utile pour créer des Dashboards et des KPI clairs et concis, tels que le « Taux de respect du planning de production ». Il permet de filtrer et d’agréger facilement les commandes afin de connaître le pourcentage de démarrages à l’heure et d’analyser les caractéristiques des commandes en retard, sans devoir effectuer directement les comparaisons de dates dans l’outil d’analyse. Pourquoi c’est important Cela simplifie les rapports et le calcul des KPI liés au respect du planning, en facilitant le filtrage et l’agrégation des commandes démarrées à l’heure ou en retard. Où les obtenir Il s’agit d’une mesure calculée. La logique est la suivante : « Production Started » EventTime <= PlannedStartDate. Exemples truefalse | |||
| Disponibilité des matières MaterialAvailabilityStatus | Indique si les matières premières nécessaires à la commande de production sont disponibles. | ||
| Description Cet attribut suit la disponibilité des composants nécessaires à la production. Il peut refléter des statuts tels que « Disponible », « En commande » ou « Rupture ». Ces informations sont essentielles pour permettre aux ordonnanceurs de déterminer si une commande de production peut réellement démarrer comme prévu. Dans le Process Mining, cet attribut est essentiel pour diagnostiquer les causes profondes des retards au démarrage de la production. En corrélant ce statut avec le délai entre « Production Order Released » et « Production Started », les analystes peuvent quantifier l’impact des pénuries de matières sur le respect du planning et le temps de cycle global. Il contribue directement au Dashboard « Impact des retards liés à la disponibilité des matières ». Pourquoi c’est important Cet indicateur est essentiel pour comprendre et quantifier les retards au démarrage de la production causés par les pénuries de matières, en reliant la performance de la chaîne d’approvisionnement à l’efficacité de la fabrication. Où les obtenir Ce statut ne correspond souvent pas à un champ unique. Il est calculé en vérifiant les niveaux de stock disponibles pour tous les articles de la nomenclature (BOM) de la commande de production, via la table « InventSum ». Exemples Totalement disponiblePénurie partielleNon disponible | |||
| Heure de fin EndTime | Horodatage précis indiquant le moment où l’activité a été terminée. | ||
| Description End Time marque la fin d’une activité donnée. Alors que Start Time indique son début, End Time est nécessaire pour comprendre la durée réelle ou le temps de traitement de cette étape. Dans le Process Mining, disposer à la fois de Start Time et de End Time pour les activités permet d’analyser plus précisément le temps d’attente par rapport au temps de traitement. Cela aide à distinguer le temps pendant lequel une activité est effectivement exécutée du temps d’attente avant le début de l’étape suivante, ce qui est essentiel pour analyser les goulots d’étranglement en détail. Pourquoi c’est important Permet de calculer le temps de traitement d’une activité et de le distinguer du temps d’attente, pour une analyse plus précise des goulots d’étranglement. Où les obtenir Cette valeur est souvent calculée. Par exemple, l’heure de fin de « Production Started » peut correspondre à l’heure de début de « Operation Completed ». Dans certains journaux, un horodatage de fin est enregistré explicitement. Exemples 2023-04-15T09:30:45Z2023-04-15T12:00:00Z2023-04-16T15:00:10Z | |||
| Ligne de production ProductionLine | Ligne de production, centre de charge ou groupe de ressources précis affecté à la commande de production. | ||
| Description Production Line identifie la machine, la cellule ou le groupe de ressources précis qui exécutera les opérations de fabrication. Cet attribut fournit un niveau de détail plus fin que Production Plant. L’analyse du processus par Production Line est essentielle pour étudier précisément la capacité et l’utilisation des ressources. Elle aide à identifier les Work Centers surchargés, à comparer l’efficacité de différentes lignes fabriquant le même produit et à repérer les goulots d’étranglement propres à certaines ressources, qui peuvent ne pas être visibles au niveau de l’usine. Pourquoi c’est important Cela permet d’analyser finement l’utilisation et la performance des ressources, et d’identifier les centres de charge surchargés ou les lignes inefficaces. Où les obtenir Cette information se trouve souvent dans le champ « WrkCtrId » des transactions de gamme de production, dans les tables « ProdRoute » ou « ProdRouteTrans ». Exemples LINE-01LINE-02CNC-A | |||
| Numéro de commande qualité QualityOrderNumber | Identifiant d’une commande de contrôle qualité liée à la commande de production. | ||
| Description Lorsqu’une inspection qualité est requise, une commande qualité est souvent générée dans Dynamics 365. Cet attribut relie le processus de production au processus d’assurance qualité en enregistrant l’identifiant de la commande qualité associée. Cette liaison permet d’obtenir une vue de bout en bout plus complète, incluant les étapes de gestion de la qualité. Elle aide à analyser l’impact des inspections qualité sur les délais de production, à identifier les retards du processus qualité et à comprendre la fréquence des contrôles pour différents produits ou lignes de production. Pourquoi c’est important Il relie le processus de production au processus d’assurance qualité et permet d’analyser l’impact des inspections qualité sur les délais globaux. Où les obtenir Cette information est stockée dans les tables de gestion de la qualité, par exemple « InventQualityOrderTable », et doit être reliée à la commande de production. Exemples QO-00123QO-00124QO-00125 | |||
| Numéro de révision ProductionOrderRevisionNumber | Nombre de fois où un plan de production a été ajusté après sa création initiale. | ||
| Description Cet attribut suit le nombre de révisions ou de modifications importantes apportées à une commande de production, notamment les changements de quantité, de dates ou de gamme, après sa planification ou sa mise en production. Un nombre élevé indique une plus grande instabilité du plan. Il constitue une mesure directe du KPI « Taux de révision du plan de production ». Son analyse aide à identifier les sources d’instabilité de la planification, telles que les changements fréquents de la demande ou une planification initiale imprécise. Elle quantifie les efforts de reprise et de replanification, qui entraînent souvent des inefficacités. Pourquoi c’est important Cet indicateur mesure directement la stabilité de la planification et alimente le KPI « Taux de révision du plan de production », en mettant en évidence les processus comportant trop de changements et de reprises. Où les obtenir Il s’agit d’un attribut calculé qui nécessite de compter les occurrences des activités « Production Order Adjusted » pour chaque cas. Exemples 012 | |||
| Quantité planifiée PlannedQuantity | Quantité de l’article dont la production est prévue. | ||
| Description La quantité planifiée correspond au nombre cible d’unités à fabriquer pour une commande de production donnée. Elle est généralement déterminée par la demande issue des commandes client, les besoins en stock de sécurité ou la planification générale. Cet attribut sert de référence pour les indicateurs de performance tels que le rendement et le rebut. En comparant la quantité planifiée à la quantité réelle produite, les planificateurs peuvent suivre l’efficacité de la production et les écarts de consommation de matières. Il s’agit d’une donnée fondamentale pour la planification des capacités et des besoins en matières. Pourquoi c’est important Il s’agit de la quantité de référence utilisée pour mesurer le rendement et les taux de rebut en la comparant à la quantité effectivement produite. Où les obtenir Il s’agit du champ « QtySched » de la table « ProdTable ». Exemples 1005000250 | |||
| Retard au démarrage de la production ProductionStartDelay | Temps écoulé entre la mise à disposition de la commande et le démarrage réel de la production. | ||
| Description Cette durée calculée mesure le temps d’attente ou le temps passé en file dans l’atelier. Elle correspond à la différence entre les activités « Production Order Released » et « Production Started ». Ce KPI est essentiel pour le Dashboard « Analyse des retards liés à l’affectation des ressources », car il localise les retards survenant une fois la planification terminée et la commande prête à être exécutée. Des valeurs élevées peuvent indiquer des problèmes de disponibilité des ressources, de préparation des matières ou de circulation des informations vers l’atelier, et fournir ainsi une cible claire pour les améliorations opérationnelles. Pourquoi c’est important Mesure précisément le délai avant le démarrage, ce qui aide à repérer les goulots d’étranglement liés à la disponibilité des ressources ou à la préparation de l’atelier. Où les obtenir Il s’agit d’une mesure calculée : Timestamp('Production Started') - Timestamp('Production Order Released'). Exemples 0 j 4 h 15 min1 j 2 h 0 min0 j 1 h 30 min | |||
Activités de planification de la production
| Activité | Description | ||
|---|---|---|---|
| Ordre de production clôturé | Il s'agit de l'activité finale, qui correspond à la clôture financière de l'ordre de production. Tous les coûts ont été calculés et comptabilisés, et aucune transaction supplémentaire ne peut être effectuée sur l'ordre. | ||
| Pourquoi c’est important Cette activité marque l'achèvement réel de l'ordre, tant sur le plan physique que financier. Les retards entre « Reported as Finished » et « Ended » peuvent révéler des problèmes de comptabilité analytique ou de clôture financière. Où les obtenir Il s'agit du dernier changement de statut enregistré lorsque le champ « ProdStatus » de la table « ProdTable » est défini sur « Ended ». Il est déclenché par l'exécution du calcul des coûts et la clôture de l'ordre. Collecte Détectez l'horodatage auquel le champ ProdStatus de ProdTable passe à « Ended ». Type d’événement inferred | |||
| Ordre de production créé | Cette activité marque la création d'un ordre de production, qui formalise la demande d'une quantité donnée d'un produit. Elle est généralement enregistrée lorsqu'un ordre de production planifié est confirmé, ce qui crée dans le système un enregistrement officiel doté d'un identifiant unique. | ||
| Pourquoi c’est important Il s'agit de l'événement de début principal du processus de production. L'analyse du délai entre cette création et les étapes suivantes permet de mesurer la durée et l'efficacité globales de la planification. Où les obtenir Cet événement est déduit de l'horodatage de création de l'enregistrement de l'ordre de production dans ProdTable. Le statut initial est généralement « Created ». Collecte Capturez l'horodatage de création d'une nouvelle entrée dans ProdTable lorsque ProdStatus est défini sur « Created ». Type d’événement inferred | |||
| Ordre de production lancé | Cette activité indique que l'ordre de production a été approuvé et autorisé pour exécution dans l'atelier. Il s'agit d'une étape importante qui déclenche la mise à disposition de documents tels que les fiches de travail et les fiches de gamme. | ||
| Pourquoi c’est important Il s'agit du transfert officiel de la planification vers l'exécution. Le délai entre « Scheduled » et « Released » peut révéler des retards d'approbation ou de contrôles finaux, tandis que le délai entre « Released » et « Started » mesure la préparation de l'atelier. Où les obtenir Cet événement est enregistré lorsque le statut de l'ordre de production dans ProdTable passe à « Released ». Il résulte d'une action manuelle ou automatisée d'un utilisateur. Collecte Détectez l'horodatage auquel le champ ProdStatus de ProdTable passe à « Released ». Type d’événement inferred | |||
| Ordre de production planifié | Cette activité marque la planification de l'ordre de production, qui affecte des ressources, des dates et des horaires précis à ses opérations. Cette étape peut inclure la planification des opérations ou une planification plus détaillée des tâches. | ||
| Pourquoi c’est important La planification est essentielle pour gérer la capacité et les ressources. L'analyse du temps nécessaire à la planification des ordres et du délai avant leur lancement révèle les contraintes de planification et de capacité. Où les obtenir Cet événement est enregistré lorsque le statut de l'ordre de production dans ProdTable passe à « Scheduled ». Il est déclenché lorsqu'un utilisateur exécute une fonction de planification. Collecte Détectez l'horodatage auquel le champ ProdStatus de ProdTable passe à « Scheduled ». Type d’événement inferred | |||
| Production déclarée terminée | Indique que le processus de fabrication de la quantité spécifiée du produit est physiquement terminé et que les produits finis sont désormais en stock. Il s'agit d'une mise à jour de statut importante qui déclenche des transactions de stock. | ||
| Pourquoi c’est important Cette activité marque la fin de la production physique. Elle est essentielle pour calculer les taux de production terminée dans les délais, la durée réelle de production et le débit. Où les obtenir Cet événement est enregistré lorsque le statut de l'ordre de production dans ProdTable passe à « Reported as finished ». Il est déclenché par la validation d'un journal « Report as Finished ». Collecte Détectez l'horodatage auquel le champ ProdStatus de ProdTable passe à « Reported as finished ». Type d’événement inferred | |||
| Production démarrée | Marque le début des travaux de production physiques pour l'ordre dans l'atelier. Cet événement est souvent enregistré lorsque la première opération ou tâche démarre via un terminal d'atelier ou la validation d'un journal. | ||
| Pourquoi c’est important Cette activité fournit l'heure réelle de début de la production, essentielle pour calculer les retards au démarrage, le respect du calendrier et les délais réels. Où les obtenir Cet événement est enregistré lorsque le statut de l'ordre de production dans ProdTable passe à « Started ». Il est souvent déclenché par la validation d'un journal de fiche de travail ou de fiche de gamme pour la première opération. Collecte Détectez l'horodatage auquel le champ ProdStatus de ProdTable passe à « Started ». Type d’événement inferred | |||
| Contrôle qualité réussi | Cette activité correspond à l'achèvement et à la validation réussis d'un ordre qualité associé à la production. Elle confirme que les articles fabriqués respectent les normes de qualité requises. | ||
| Pourquoi c’est important Il s'agit d'une étape importante du processus qualité. La durée entre la génération de l'ordre qualité et la réussite du contrôle met en évidence l'efficacité de l'équipe d'assurance qualité. Où les obtenir Cet événement est déduit du changement de statut de l'enregistrement InventQualityOrderTable vers « Pass ». La valeur exacte du statut peut varier. Collecte Détectez l'horodatage auquel le statut de l'enregistrement InventQualityOrderTable associé est mis à jour sur « Pass ». Type d’événement inferred | |||
| Matériaux prélevés pour la production | Indique que les matières premières nécessaires à l'ordre de production ont été prélevées dans l'entrepôt et sont prêtes à être consommées. Cet événement est enregistré à la fin d'un travail de prélèvement de matières premières ou lors de la validation du journal de la liste de prélèvement. | ||
| Pourquoi c’est important Cette activité constitue un point de contrôle essentiel avant le démarrage de la production. Les retards entre la planification et le prélèvement des matériaux mettent en évidence des problèmes liés aux opérations d'entrepôt ou à la disponibilité des matériaux. Où les obtenir Il s'agit généralement d'un événement explicite enregistré dans les tables de gestion de l'entrepôt (WHSWorkTable) ou dans les journaux de stock (InventJournalTrans) associés à l'ordre de production. Collecte Capturez l'horodatage de validation du journal de la liste de prélèvement associé à l'ordre de production. Type d’événement explicit | |||
| Opération terminée | Cette activité indique l'achèvement d'une opération ou d'une étape de fabrication individuelle dans la gamme de production. Un ordre de production comporte généralement plusieurs événements de ce type. | ||
| Pourquoi c’est important L’analyse du temps entre les opérations aide à identifier les goulots d’étranglement au sein même du processus de production. Elle offre une vision plus détaillée des flux dans l’atelier. Où les obtenir Il s'agit d'un événement explicite extrait de la validation des journaux de fiches de gamme (ProdJournalRoute) pour chaque opération, indiquant l'achèvement de cette étape. Collecte Capturez l'horodatage de validation de chaque enregistrement ProdJournalRoute associé à l'ordre de production. Type d’événement explicit | |||
| Ordre de production ajusté | Cette activité correspond à une modification importante apportée à l'ordre de production après son lancement, par exemple un changement de quantité ou de date. Cet événement est déduit de la comparaison de champs clés avant et après la modification. | ||
| Pourquoi c’est important Des ajustements fréquents indiquent une instabilité de la planification ou une demande volatile, ce qui entraîne des inefficacités et des reprises. Cette analyse permet de quantifier la fréquence et l'impact de ces changements. Où les obtenir Cet événement est déduit de l'analyse des journaux de modifications ou de la comparaison d'instantanés de l'enregistrement ProdTable pour des champs tels que « QtySched » ou « SchedEnd », après le passage du statut de l'ordre à « Released ». Collecte Identifiez les modifications apportées aux champs clés, par exemple la quantité ou les dates, dans ProdTable après l'horodatage de l'événement « Released ». Type d’événement calculated | |||
| Ordre de production annulé | Cette activité correspond à l'annulation d'un ordre de production avant son achèvement. Il s'agit d'une issue alternative et infructueuse du processus. | ||
| Pourquoi c’est important Le suivi des annulations permet d'identifier les causes des échecs du processus, comme les changements de demande ou les erreurs de planification. Un taux d'annulation élevé peut révéler des problèmes systémiques. Où les obtenir Il s'agit d'un état final alternatif déduit d'un changement de statut. Le statut exact peut varier, mais l'opération consiste souvent à rétablir le statut de l'ordre à un état antérieur et à le marquer comme annulé. Collecte Détectez un changement de statut indiquant une annulation. Une analyse spécifique du système peut être nécessaire pour l'identifier. Type d’événement inferred | |||
| Ordre de production estimé | Cette activité correspond au calcul de la consommation estimée de matériaux et des coûts associés à l'ordre de production. Il s'agit d'une étape de planification importante pour connaître les besoins financiers et matériels avant de poursuivre. | ||
| Pourquoi c’est important Les retards lors de l’estimation peuvent constituer un goulot d’étranglement important pendant la phase de planification. Le suivi de cette activité aide à identifier les inefficacités dans la planification des coûts et des matières. Où les obtenir Cet événement est enregistré lorsque le statut de l'ordre de production dans ProdTable passe à « Estimated ». Il est déclenché lorsqu'un utilisateur exécute la fonction « Estimate » sur l'ordre. Collecte Détectez l'horodatage auquel le champ ProdStatus de ProdTable passe à « Estimated ». Type d’événement inferred | |||
| Ordre qualité généré | Un ordre qualité a été créé pour contrôler les produits issus de l'ordre de production. Cet événement marque le début du processus d'assurance qualité pour les produits fabriqués. | ||
| Pourquoi c’est important Le suivi du processus qualité est important pour comprendre le délai total. Les retards lors du contrôle qualité peuvent empêcher l'expédition des produits ou leur utilisation dans les processus suivants. Où les obtenir Il s'agit d'un événement explicite fondé sur la création d'un enregistrement dans InventQualityOrderTable faisant référence à l'ordre de production source. Collecte Capturez l'horodatage de création de l'ordre qualité dans InventQualityOrderTable, associé à l'identifiant de l'ordre de production. Type d’événement explicit | |||
Guides d’extraction
Étapes
- Accédez à l’espace de travail Data Management : Connectez-vous à Microsoft Dynamics 365 Finance and Operations. Utilisez la barre de recherche pour trouver et ouvrir l’espace de travail
Data management. - Créez un nouveau projet d’exportation : Dans l’espace de travail, sélectionnez la vignette
Exportpour créer un projet d’exportation de données. Donnez-lui un nom explicite, par exempleProcessMind_Production_Orders. - Sélectionnez le format du fichier d’exportation : Dans la configuration du projet, choisissez le format de données souhaité, comme CSV ou Excel. Activez l’option
Entityet précisez les détails du format. Le format CSV est recommandé pour ses performances et sa compatibilité. - Ajoutez les entités de données nécessaires : Ajoutez au projet les entités nécessaires pour recueillir tous les événements liés aux ordres de production. Vous devez ajouter chacune des entités suivantes :
Ordres de production,Production order route transactions,Inventory quality ordersetProduction picking list journal lines. Pour chaque entité, sélectionnez tous les champs pertinents indiqués dans la section consacrée à la requête. - Appliquez des filtres aux données : Pour chaque entité, utilisez l’option
Filtrerafin de définir le périmètre de l’exportation. Au minimum, filtrez parCompanypour sélectionner l’entité juridique appropriée. Il est vivement recommandé d’appliquer un filtre de période à un champ de date clé, commeCreation datedans l’entitéOrdres de production, afin de limiter le volume de données à une période gérable, par exemple les six derniers mois. - Configurez les exportations incrémentielles (facultatif) : Pour assurer un suivi continu, configurez le projet afin d’effectuer des exportations incrémentielles. Vous pouvez suivre les modifications apportées aux entités sources pour n’extraire que les enregistrements nouveaux ou modifiés depuis la dernière exportation, ce qui réduit considérablement sa durée.
- Exécutez le travail d’exportation : Une fois le projet configuré, lancez l’exportation en cliquant sur
Exportdans le volet d’actions. Vous pouvez l’exécuter immédiatement ou la planifier comme travail par lots récurrent. - Téléchargez les fichiers exportés : Une fois le travail d’exportation terminé avec succès, ouvrez l’historique des travaux. Téléchargez le package, qui sera un fichier ZIP contenant un fichier de données distinct pour chaque entité incluse.
- Transformez les données en journal d’événements : Les fichiers exportés contiennent les données brutes des tables et non un journal d’événements formaté. Vous devez utiliser un outil externe, comme un script Python, Power Query dans Excel ou Power BI, ou un outil ETL, pour traiter et regrouper les données de ces fichiers. Appliquez la logique de transformation décrite dans la section consacrée à la requête afin de faire pivoter les champs de date et de statut des différentes entités et de créer un fichier de journal d’événements unique, avec une ligne par activité.
- Structurez le journal d’événements final : Vérifiez que le fichier CSV final transformé contient les colonnes requises :
ProductionOrderNumber,ActivityName,EventTime,SourceSystemetLastDataUpdate, ainsi que les attributs recommandés. Le fichier doit comporter une ligne d’en-tête et être prêt à être importé dans ProcessMind.
Configuration
- Entités de données clés : Cette extraction repose principalement sur l’exportation de plusieurs entités, qui seront ensuite jointes. Les principales entités sont
Ordres de production(ProdTable),Production order route transactions(ProdRouteTrans) etInventory quality orders(InventQualityOrderTable). - Filtrage par période : Pour maîtriser le volume de données, appliquez toujours un filtre de date. Il est recommandé de filtrer l’entité
Ordres de productionsurCreation date(CREATEDDATETIME) pour les trois à six derniers mois. Vous recueillerez ainsi des processus récents et complets sans surcharger le système. - Filtre d’entreprise : Il est essentiel de définir un filtre pour l’entreprise ou l’entité juridique à analyser. Cette opération s’effectue via l’option
Filtrerde chaque entité dans le projet d’exportation. - Exportation complète ou incrémentielle : Une exportation complète est nécessaire pour l’extraction initiale. Pour les mises à jour suivantes, il est vivement recommandé de configurer le suivi des modifications sur les entités et d’effectuer des exportations incrémentielles afin d’améliorer les performances et de réduire le volume de données traité.
- Prérequis : L’utilisateur qui exécute l’exportation doit disposer des rôles de sécurité appropriés, notamment du rôle
Data management administratorou d’un rôle autorisant l’accès aux entités de données requises.
a Exemple de requête sql
/*
This is not a runnable script but a configuration and transformation plan for the Dynamics 365 Data Management Framework.
**Step 1: Configure the Export Project**
Export the following entities with the specified fields:
1. **Entity: Production orders (ProdTable)**
* `ProductionOrderNumber` (PRODID)
* `ProductionOrderStatus` (PRODSTATUS)
* `CreationDate` (CREATEDDATETIME)
* `LastUpdateDateStatusEstimate` (LASTUPDATEDATESTATUSESTIMATE)
* `LastUpdateDateStatusScheduled` (LASTUPDATEDATESTATUSSCHEDULED)
* `ReleaseDate` (RELEASEDATETIME)
* `StartDate` (STARTEDDATETIME)
* `ReportedFinishedDate` (REPORTEDFINISHEDDATETIME)
* `LastUpdateDateStatusEnded` (LASTUPDATEDATESTATUSENDED)
* `ModifiedDateTime` (MODIFIEDDATETIME)
* `CreatedByUser` (CREATEDBY)
* `ProductionSite` (INVENTSITEID)
* `ProductNumber` (ITEMID)
* `ProductionType` (PRODTYPE)
* `Quantity` (QTYsched)
* `ActualQuantity` (QTYCALC)
* `DeliveryDate` (DLVDATE)
2. **Entity: Production order route transactions (ProdRouteTrans)**
* `ProductionOrderNumber` (PRODID)
* `OperationNumber` (OPRNUM)
* `TransactionDate` (TRANSDATE)
* `TransactionTime` (TRANSTIME)
* `CreatedDateTime` (CREATEDDATETIME)
* `CreatedByUser` (CREATEDBY)
3. **Entity: Inventory quality orders (InventQualityOrderTable)**
* `QualityOrderNumber` (INVENTQUALITYORDERID)
* `ReferenceType` (REFTYPE)
* `ReferenceNumber` (PRODID)
* `QualityOrderStatus` (STATUS)
* `CreationDate` (CREATEDDATETIME)
* `ModifiedDateTime` (MODIFIEDDATETIME)
4. **Entity: Production picking list journal lines (ProdJournalBOM)**
* `JournalId` (JOURNALID)
* `ProductionOrderNumber` (PRODID)
* `PostedDateTime` (POSTEDDATETIME)
* `CreatedByUser` (CREATEDBY)
**Step 2: Apply Transformation Logic (Post-Export)**
Use a script or ETL tool to transform the exported files into a single event log CSV. For each row in the source files, generate events as described below.
*/
-- Production Order Created
SELECT
PRODID AS ProductionOrderNumber,
'Production Order Created' AS ActivityName,
CREATEDDATETIME AS EventTime,
PRODSTATUS AS ProductionOrderStatus,
DLVDATE AS PlannedStartDate,
-- [Logic to calculate PlannedEndDate] AS PlannedEndDate,
CREATEDBY AS UserId,
INVENTSITEID AS ProductionPlant,
ITEMID AS ProductNumber,
PRODTYPE AS ProductionType,
QTYCALC AS ActualQuantity,
-- [Your field for Production Priority] AS ProductionPriority
FROM ProdTable
WHERE CREATEDDATETIME IS NOT NULL
UNION ALL
-- Production Order Estimated
SELECT
PRODID AS ProductionOrderNumber,
'Production Order Estimated' AS ActivityName,
LASTUPDATEDATESTATUSESTIMATE AS EventTime,
-- Other attributes from ProdTable...
FROM ProdTable
WHERE LASTUPDATEDATESTATUSESTIMATE IS NOT NULL
UNION ALL
-- Production Order Scheduled
SELECT
PRODID AS ProductionOrderNumber,
'Production Order Scheduled' AS ActivityName,
LASTUPDATEDATESTATUSSCHEDULED AS EventTime,
-- Other attributes from ProdTable...
FROM ProdTable
WHERE LASTUPDATEDATESTATUSSCHEDULED IS NOT NULL
UNION ALL
-- Materials Picked For Production (based on the first picking list journal posting)
SELECT
PRODID AS ProductionOrderNumber,
'Materials Picked For Production' AS ActivityName,
MIN(POSTEDDATETIME) AS EventTime, -- Use the earliest posting time for a given order
-- Other attributes from ProdTable...
FROM ProdJournalBOM
WHERE POSTEDDATETIME IS NOT NULL
GROUP BY PRODID
UNION ALL
-- Production Order Released
SELECT
PRODID AS ProductionOrderNumber,
'Production Order Released' AS ActivityName,
RELEASEDATETIME AS EventTime,
-- Other attributes from ProdTable...
FROM ProdTable
WHERE RELEASEDATETIME IS NOT NULL
UNION ALL
-- Production Order Adjusted (inferred from modification after release)
SELECT
PRODID AS ProductionOrderNumber,
'Production Order Adjusted' AS ActivityName,
MODIFIEDDATETIME AS EventTime,
-- Other attributes from ProdTable...
FROM ProdTable
WHERE MODIFIEDDATETIME > RELEASEDATETIME AND PRODSTATUS NOT IN ('Ended', 'Cancelled') -- Example logic
UNION ALL
-- Production Started
SELECT
PRODID AS ProductionOrderNumber,
'Production Started' AS ActivityName,
STARTEDDATETIME AS EventTime,
-- Other attributes from ProdTable...
FROM ProdTable
WHERE STARTEDDATETIME IS NOT NULL
UNION ALL
-- Operation Completed
SELECT
PRODID AS ProductionOrderNumber,
'Operation Completed' AS ActivityName,
CREATEDDATETIME AS EventTime,
-- Other attributes from ProdTable linked on PRODID...
FROM ProdRouteTrans
WHERE CREATEDDATETIME IS NOT NULL
UNION ALL
-- Production Reported As Finished
SELECT
PRODID AS ProductionOrderNumber,
'Production Reported As Finished' AS ActivityName,
REPORTEDFINISHEDDATETIME AS EventTime,
-- Other attributes from ProdTable...
FROM ProdTable
WHERE REPORTEDFINISHEDDATETIME IS NOT NULL
UNION ALL
-- Quality Order Generated
SELECT
PRODID AS ProductionOrderNumber,
'Quality Order Generated' AS ActivityName,
CREATEDDATETIME AS EventTime,
-- Other attributes from ProdTable linked on PRODID...
FROM InventQualityOrderTable
WHERE REFTYPE = 'Production' AND CREATEDDATETIME IS NOT NULL
UNION ALL
-- Quality Inspection Passed
SELECT
PRODID AS ProductionOrderNumber,
'Quality Inspection Passed' AS ActivityName,
MODIFIEDDATETIME AS EventTime,
-- Other attributes from ProdTable linked on PRODID...
FROM InventQualityOrderTable
WHERE REFTYPE = 'Production' AND STATUS = 'Pass' AND MODIFIEDDATETIME IS NOT NULL
UNION ALL
-- Production Order Ended
SELECT
PRODID AS ProductionOrderNumber,
'Production Order Ended' AS ActivityName,
LASTUPDATEDATESTATUSENDED AS EventTime,
-- Other attributes from ProdTable...
FROM ProdTable
WHERE LASTUPDATEDATESTATUSENDED IS NOT NULL
UNION ALL
-- Production Order Cancelled
SELECT
PRODID AS ProductionOrderNumber,
'Production Order Cancelled' AS ActivityName,
MODIFIEDDATETIME AS EventTime,
-- Other attributes from ProdTable...
FROM ProdTable
WHERE PRODSTATUS = 'Stopped' -- Or the equivalent 'Cancelled' status enum value in your system Étapes
- Configurer BYOD dans Dynamics 365 : Vérifiez que la fonctionnalité « Bring your own database » est configurée dans votre environnement Dynamics 365 Finance and Operations. Cette configuration comprend la mise en place d’une base de données Azure SQL et la configuration de l’exportation des données depuis Dynamics 365.
- Publier les entités requises : Depuis l’espace de travail « Data management », ouvrez « Data entities ». Recherchez et publiez les entités clés suivantes dans votre base BYOD : ProdTable, ProdRouteTrans, InventPickingListJour et InventQualityOrderTable. Vérifiez qu’elles sont configurées pour une exportation récurrente.
- Vérifier la synchronisation des données : Confirmez que les données des entités publiées sont synchronisées régulièrement et correctement avec votre base de données Azure SQL cible. Consultez l’historique des travaux d’exportation pour repérer d’éventuelles erreurs.
- Se connecter à la base BYOD : Utilisez un client SQL, tel que SQL Server Management Studio (SSMS) ou Azure Data Studio, pour vous connecter à la base de données Azure SQL qui contient vos données Dynamics 365.
- Préparer la requête SQL : Ouvrez une nouvelle fenêtre de requête. Copiez la requête SQL complète fournie dans ce document.
- Définir les paramètres de la requête : Dans la requête, repérez les variables de remplacement. Remplacez
{StartDate},{EndDate}et{CompanyCode}par la période souhaitée et le DataAreaId de l’entreprise à analyser. - Exécuter la requête : Lancez la requête SQL modifiée sur la base BYOD. La durée d’exécution varie selon le volume de données et la période sélectionnée.
- Examiner les résultats : Une fois la requête terminée, vérifiez que la sortie contient les colonnes et les données attendues pour toutes les activités extraites. Le jeu de résultats constitue le journal d’événements.
- Exporter le journal d’événements : Exportez les résultats de la requête dans un fichier CSV. La plupart des clients SQL disposent d’une fonction intégrée permettant d’enregistrer directement les résultats dans un fichier.
- Formater le fichier pour ProcessMind : Vérifiez que le fichier CSV exporté utilise l’encodage UTF-8 et que les en-têtes de colonnes correspondent aux noms d’attributs requis par ProcessMind, tels que CaseId, Activity et Timestamp. La requête fournie utilise déjà les alias appropriés.
Configuration
- Entités de données clés : La requête repose principalement sur l’exportation des entités suivantes dans votre instance BYOD :
PRODTABLE: contient les informations principales et le statut de l’en-tête des commandes de production.PRODROUTETRANS: fournit les détails des opérations de production individuelles et de leur achèvement.INVENTPICKINGLISTJOUR: enregistre le prélèvement des matières pour les commandes de production.INVENTQUALITYORDERTABLE: suit les commandes d’assurance qualité liées à la production.
- Période : Il est recommandé de commencer par une période limitée, par exemple trois à six mois de données, afin de garantir des performances de requête maîtrisables. La requête utilise la date de création de la commande de production (
CREATEDDATETIMEdePRODTABLE) pour le filtrage. - Filtre par code d’entreprise : Le champ
DATAREAIDsert à filtrer les données d’une entité juridique ou d’une entreprise donnée. Vous devez remplacer l’espace réservé'{CompanyCode}'par l’identifiant approprié, par exempleusmf. - Prérequis : Cette méthode nécessite un accès d’administrateur système à Dynamics 365 Finance and Operations pour configurer BYOD, ainsi que des autorisations Contributor sur la base de données Azure SQL pour exécuter les requêtes.
- Performances : Pour les jeux de données très volumineux couvrant plusieurs années ou entreprises, envisagez d’exécuter la requête en dehors des heures de pointe. Vous pouvez également diviser l’extraction en périodes plus courtes et regrouper les résultats ultérieurement.
a Exemple de requête sql
SELECT
p.PRODID AS ProductionOrderNumber,
'Production Order Created' AS ActivityName,
p.CREATEDDATETIME AS EventTime,
'Dynamics 365 BYOD' AS SourceSystem,
GETUTCDATE() AS LastDataUpdate,
p.PRODSTATUS AS ProductionOrderStatus,
p.SCHEDSTART AS PlannedStartDate,
p.SCHEDEND AS PlannedEndDate,
p.CREATEDBY AS UserId,
p.INVENTSITEID AS ProductionPlant,
p.ITEMID AS ProductNumber,
p.PRODTYPE AS ProductionType,
p.QTYCALC AS ActualQuantity, -- Using calculated quantity at creation
p.PRODPRIO AS ProductionPriority
FROM PRODTABLE p
WHERE p.CREATEDDATETIME >= '{StartDate}' AND p.CREATEDDATETIME <= '{EndDate}' AND p.DATAREAID = '{CompanyCode}'
UNION ALL
SELECT
p.PRODID AS ProductionOrderNumber,
'Production Order Estimated' AS ActivityName,
p.COSTCALCDATETIME AS EventTime,
'Dynamics 365 BYOD' AS SourceSystem,
GETUTCDATE() AS LastDataUpdate,
p.PRODSTATUS AS ProductionOrderStatus,
p.SCHEDSTART AS PlannedStartDate,
p.SCHEDEND AS PlannedEndDate,
p.MODIFIEDBY AS UserId,
p.INVENTSITEID AS ProductionPlant,
p.ITEMID AS ProductNumber,
p.PRODTYPE AS ProductionType,
p.QTYCALC AS ActualQuantity,
p.PRODPRIO AS ProductionPriority
FROM PRODTABLE p
WHERE p.COSTCALCDATETIME IS NOT NULL AND p.PRODSTATUS >= 2 AND p.CREATEDDATETIME >= '{StartDate}' AND p.CREATEDDATETIME <= '{EndDate}' AND p.DATAREAID = '{CompanyCode}'
UNION ALL
SELECT
p.PRODID AS ProductionOrderNumber,
'Production Order Scheduled' AS ActivityName,
p.SCHEDDATE AS EventTime,
'Dynamics 365 BYOD' AS SourceSystem,
GETUTCDATE() AS LastDataUpdate,
p.PRODSTATUS AS ProductionOrderStatus,
p.SCHEDSTART AS PlannedStartDate,
p.SCHEDEND AS PlannedEndDate,
p.MODIFIEDBY AS UserId,
p.INVENTSITEID AS ProductionPlant,
p.ITEMID AS ProductNumber,
p.PRODTYPE AS ProductionType,
p.QTYCALC AS ActualQuantity,
p.PRODPRIO AS ProductionPriority
FROM PRODTABLE p
WHERE p.SCHEDDATE IS NOT NULL AND p.PRODSTATUS >= 3 AND p.CREATEDDATETIME >= '{StartDate}' AND p.CREATEDDATETIME <= '{EndDate}' AND p.DATAREAID = '{CompanyCode}'
UNION ALL
SELECT
p.PRODID AS ProductionOrderNumber,
'Materials Picked For Production' AS ActivityName,
pl.LEDGERVOUCHERPOSTEDDATETIME AS EventTime,
'Dynamics 365 BYOD' AS SourceSystem,
GETUTCDATE() AS LastDataUpdate,
p.PRODSTATUS AS ProductionOrderStatus,
p.SCHEDSTART AS PlannedStartDate,
p.SCHEDEND AS PlannedEndDate,
pl.CREATEDBY AS UserId,
p.INVENTSITEID AS ProductionPlant,
p.ITEMID AS ProductNumber,
p.PRODTYPE AS ProductionType,
p.QTYGOOD AS ActualQuantity,
p.PRODPRIO AS ProductionPriority
FROM INVENTPICKINGLISTJOUR pl
JOIN PRODTABLE p ON pl.INVENTREFID = p.PRODID AND pl.DATAREAID = p.DATAREAID
WHERE pl.LEDGERVOUCHERPOSTEDDATETIME IS NOT NULL AND p.CREATEDDATETIME >= '{StartDate}' AND p.CREATEDDATETIME <= '{EndDate}' AND p.DATAREAID = '{CompanyCode}'
UNION ALL
SELECT
p.PRODID AS ProductionOrderNumber,
'Production Order Released' AS ActivityName,
p.RELEASEDATE AS EventTime,
'Dynamics 365 BYOD' AS SourceSystem,
GETUTCDATE() AS LastDataUpdate,
p.PRODSTATUS AS ProductionOrderStatus,
p.SCHEDSTART AS PlannedStartDate,
p.SCHEDEND AS PlannedEndDate,
p.MODIFIEDBY AS UserId,
p.INVENTSITEID AS ProductionPlant,
p.ITEMID AS ProductNumber,
p.PRODTYPE AS ProductionType,
p.QTYGOOD AS ActualQuantity,
p.PRODPRIO AS ProductionPriority
FROM PRODTABLE p
WHERE p.RELEASEDATE IS NOT NULL AND p.PRODSTATUS >= 4 AND p.CREATEDDATETIME >= '{StartDate}' AND p.CREATEDDATETIME <= '{EndDate}' AND p.DATAREAID = '{CompanyCode}'
UNION ALL
SELECT
p.PRODID AS ProductionOrderNumber,
'Production Order Adjusted' AS ActivityName,
p.MODIFIEDDATETIME AS EventTime,
'Dynamics 365 BYOD' AS SourceSystem,
GETUTCDATE() AS LastDataUpdate,
p.PRODSTATUS AS ProductionOrderStatus,
p.SCHEDSTART AS PlannedStartDate,
p.SCHEDEND AS PlannedEndDate,
p.MODIFIEDBY AS UserId,
p.INVENTSITEID AS ProductionPlant,
p.ITEMID AS ProductNumber,
p.PRODTYPE AS ProductionType,
p.QTYGOOD AS ActualQuantity,
p.PRODPRIO AS ProductionPriority
FROM PRODTABLE p
WHERE p.RELEASEDATE IS NOT NULL AND p.MODIFIEDDATETIME > p.RELEASEDATE AND p.PRODSTATUS IN (4, 5) AND p.CREATEDDATETIME >= '{StartDate}' AND p.CREATEDDATETIME <= '{EndDate}' AND p.DATAREAID = '{CompanyCode}'
UNION ALL
SELECT
p.PRODID AS ProductionOrderNumber,
'Production Started' AS ActivityName,
p.STARTEDUPDATETIME AS EventTime,
'Dynamics 365 BYOD' AS SourceSystem,
GETUTCDATE() AS LastDataUpdate,
p.PRODSTATUS AS ProductionOrderStatus,
p.SCHEDSTART AS PlannedStartDate,
p.SCHEDEND AS PlannedEndDate,
p.MODIFIEDBY AS UserId,
p.INVENTSITEID AS ProductionPlant,
p.ITEMID AS ProductNumber,
p.PRODTYPE AS ProductionType,
p.QTYGOOD AS ActualQuantity,
p.PRODPRIO AS ProductionPriority
FROM PRODTABLE p
WHERE p.STARTEDUPDATETIME IS NOT NULL AND p.PRODSTATUS >= 5 AND p.CREATEDDATETIME >= '{StartDate}' AND p.CREATEDDATETIME <= '{EndDate}' AND p.DATAREAID = '{CompanyCode}'
UNION ALL
SELECT
prt.PRODID AS ProductionOrderNumber,
'Operation Completed' AS ActivityName,
prt.TRANSDATE AS EventTime,
'Dynamics 365 BYOD' AS SourceSystem,
GETUTCDATE() AS LastDataUpdate,
p.PRODSTATUS AS ProductionOrderStatus,
p.SCHEDSTART AS PlannedStartDate,
p.SCHEDEND AS PlannedEndDate,
prt.CREATEDBY AS UserId,
p.INVENTSITEID AS ProductionPlant,
p.ITEMID AS ProductNumber,
p.PRODTYPE AS ProductionType,
p.QTYGOOD AS ActualQuantity,
p.PRODPRIO AS ProductionPriority
FROM PRODROUTETRANS prt
JOIN PRODTABLE p ON prt.PRODID = p.PRODID AND prt.DATAREAID = p.DATAREAID
WHERE prt.POSTINGTYPE = 8 AND prt.TRANSDATE IS NOT NULL AND p.CREATEDDATETIME >= '{StartDate}' AND p.CREATEDDATETIME <= '{EndDate}' AND p.DATAREAID = '{CompanyCode}'
UNION ALL
SELECT
p.PRODID AS ProductionOrderNumber,
'Production Reported As Finished' AS ActivityName,
p.LASTUPDDATEPRINT AS EventTime,
'Dynamics 365 BYOD' AS SourceSystem,
GETUTCDATE() AS LastDataUpdate,
p.PRODSTATUS AS ProductionOrderStatus,
p.SCHEDSTART AS PlannedStartDate,
p.SCHEDEND AS PlannedEndDate,
p.MODIFIEDBY AS UserId,
p.INVENTSITEID AS ProductionPlant,
p.ITEMID AS ProductNumber,
p.PRODTYPE AS ProductionType,
p.QTYGOOD AS ActualQuantity,
p.PRODPRIO AS ProductionPriority
FROM PRODTABLE p
WHERE p.PRODSTATUS = 6 AND p.LASTUPDDATEPRINT IS NOT NULL AND p.CREATEDDATETIME >= '{StartDate}' AND p.CREATEDDATETIME <= '{EndDate}' AND p.DATAREAID = '{CompanyCode}'
UNION ALL
SELECT
p.PRODID AS ProductionOrderNumber,
'Quality Order Generated' AS ActivityName,
qo.CREATEDDATETIME AS EventTime,
'Dynamics 365 BYOD' AS SourceSystem,
GETUTCDATE() AS LastDataUpdate,
p.PRODSTATUS AS ProductionOrderStatus,
p.SCHEDSTART AS PlannedStartDate,
p.SCHEDEND AS PlannedEndDate,
qo.CREATEDBY AS UserId,
p.INVENTSITEID AS ProductionPlant,
p.ITEMID AS ProductNumber,
p.PRODTYPE AS ProductionType,
p.QTYGOOD AS ActualQuantity,
p.PRODPRIO AS ProductionPriority
FROM INVENTQUALITYORDERTABLE qo
JOIN PRODTABLE p ON qo.INVENTREFID = p.PRODID AND qo.DATAREAID = p.DATAREAID
WHERE qo.INVENTREFTYPE = 9 AND p.CREATEDDATETIME >= '{StartDate}' AND p.CREATEDDATETIME <= '{EndDate}' AND p.DATAREAID = '{CompanyCode}'
UNION ALL
SELECT
p.PRODID AS ProductionOrderNumber,
'Quality Inspection Passed' AS ActivityName,
qo.MODIFIEDDATETIME AS EventTime,
'Dynamics 365 BYOD' AS SourceSystem,
GETUTCDATE() AS LastDataUpdate,
p.PRODSTATUS AS ProductionOrderStatus,
p.SCHEDSTART AS PlannedStartDate,
p.SCHEDEND AS PlannedEndDate,
qo.MODIFIEDBY AS UserId,
p.INVENTSITEID AS ProductionPlant,
p.ITEMID AS ProductNumber,
p.PRODTYPE AS ProductionType,
p.QTYGOOD AS ActualQuantity,
p.PRODPRIO AS ProductionPriority
FROM INVENTQUALITYORDERTABLE qo
JOIN PRODTABLE p ON qo.INVENTREFID = p.PRODID AND qo.DATAREAID = p.DATAREAID
WHERE qo.INVENTREFTYPE = 9 AND qo.STATUS = 2 AND p.CREATEDDATETIME >= '{StartDate}' AND p.CREATEDDATETIME <= '{EndDate}' AND p.DATAREAID = '{CompanyCode}'
UNION ALL
SELECT
p.PRODID AS ProductionOrderNumber,
'Production Order Ended' AS ActivityName,
p.LASTUPDDATEPRINT AS EventTime,
'Dynamics 365 BYOD' AS SourceSystem,
GETUTCDATE() AS LastDataUpdate,
p.PRODSTATUS AS ProductionOrderStatus,
p.SCHEDSTART AS PlannedStartDate,
p.SCHEDEND AS PlannedEndDate,
p.MODIFIEDBY AS UserId,
p.INVENTSITEID AS ProductionPlant,
p.ITEMID AS ProductNumber,
p.PRODTYPE AS ProductionType,
p.QTYGOOD AS ActualQuantity,
p.PRODPRIO AS ProductionPriority
FROM PRODTABLE p
WHERE p.PRODSTATUS = 7 AND p.LASTUPDDATEPRINT IS NOT NULL AND p.CREATEDDATETIME >= '{StartDate}' AND p.CREATEDDATETIME <= '{EndDate}' AND p.DATAREAID = '{CompanyCode}'
UNION ALL
SELECT
p.PRODID AS ProductionOrderNumber,
'Production Order Cancelled' AS ActivityName,
p.MODIFIEDDATETIME AS EventTime,
'Dynamics 365 BYOD' AS SourceSystem,
GETUTCDATE() AS LastDataUpdate,
p.PRODSTATUS AS ProductionOrderStatus,
p.SCHEDSTART AS PlannedStartDate,
p.SCHEDEND AS PlannedEndDate,
p.MODIFIEDBY AS UserId,
p.INVENTSITEID AS ProductionPlant,
p.ITEMID AS ProductNumber,
p.PRODTYPE AS ProductionType,
p.QTYGOOD AS ActualQuantity,
p.PRODPRIO AS ProductionPriority
FROM PRODTABLE p
WHERE p.PRODSTATUS = 0 AND p.CREATEDDATETIME >= '{StartDate}' AND p.CREATEDDATETIME <= '{EndDate}' AND p.DATAREAID = '{CompanyCode}'; Étapes
- Vérifiez que Power BI Desktop, ou un autre outil approuvé intégrant Power Query, est disponible et que l’utilisateur est autorisé à lire les entités de données Microsoft Dynamics 365 Manufacturing requises. Confirmez l’URL de l’environnement, l’entité juridique ou le périmètre de la société, ainsi que la méthode d’authentification approuvée.
- Dans Power BI Desktop, sélectionnez Get data, puis choisissez le connecteur Dynamics 365 approuvé ou la connexion OData ou Dataverse propre à votre organisation. Utilisez [Your Dynamics 365 environment connection] et [Your credentials] selon la configuration définie par votre administrateur. Ne partez pas du principe qu’une entité, un point de terminaison ou un chemin de menu donné est disponible dans tous les déploiements.
- Sélectionnez l’entité d’en-tête des ordres de fabrication, l’entité des opérations ou des gammes, l’entité des prélèvements de matières ou des listes de prélèvement, les entités de comptabilisation de la production, l’entité des ordres qualité, ainsi que toute entité d’audit, d’historique ou de suivi des modifications approuvée et nécessaire pour identifier les changements de statut. Remplacez chaque référence source de la requête par l’entité ou la requête correspondante disponible dans votre environnement.
- Configurez le périmètre de l’extraction. Appliquez [Start date parameter], [End date parameter] et [Your company or legal entity filter]. Limitez la requête aux ordres de fabrication des sites, produits, types d’ordres et statuts requis. Conservez les horodatages sources nécessaires pour distinguer la création, l’estimation, la planification, le prélèvement, la libération, l’ajustement, le démarrage, l’achèvement des opérations, la déclaration de fin de production, la qualité, la clôture et l’annulation.
- Dans Power Query, standardisez les noms et les types de données des colonnes sources. Convertissez les horodatages des événements dans un type datetime cohérent et normalisez les identifiants, les valeurs de statut, les sociétés, les sites, les références produits, les utilisateurs, les quantités et les priorités. Lorsqu’un champ source n’est pas disponible, renvoyez une valeur null plutôt que d’en inventer une. Utilisez le numéro de l’ordre de fabrication comme identifiant de cas.
- Créez une table d’événements par activité. Chaque table doit renvoyer ProductionOrderNumber, ActivityName, EventTime, SourceSystem, LastDataUpdate, ProductionOrderStatus, PlannedStartDate, PlannedEndDate, UserId, ProductionPlant, ProductNumber, ProductionType, ActualQuantity et ProductionPriority. Le nom de l’activité doit être une valeur fixe correspondant à l’un des 13 noms requis.
- Identifiez Production Order Adjusted uniquement à partir d’une source approuvée d’historique, d’audit ou de suivi des modifications présentant les valeurs avant et après. Comparez des champs pertinents tels que la quantité, les dates planifiées, le statut, le site, le produit et la priorité. Générez une ligne d’ajustement pour chaque modification admissible, en utilisant l’horodatage enregistré de la modification. Ne déduisez pas un ajustement à partir du seul instantané actuel de l’ordre de fabrication.
- Combinez les 13 tables d’activités avec UNION ALL. Supprimez les lignes dépourvues de numéro d’ordre de fabrication ou d’horodatage d’événement, mais ne dédupliquez pas les achèvements d’opérations, les ajustements ou les événements qualité répétés qui sont légitimes. Triez par ProductionOrderNumber et EventTime, avec un ordre secondaire déterministe lorsqu’il est disponible.
- Chargez la table obtenue dans Power BI ou exportez-la au format CSV, ou dans un autre format de journal d’événements pris en charge par ProcessMind. Vérifiez que les en-têtes exportés sont exactement ProductionOrderNumber, ActivityName, EventTime, SourceSystem, LastDataUpdate, ProductionOrderStatus, PlannedStartDate, PlannedEndDate, UserId, ProductionPlant, ProductNumber, ProductionType, ActualQuantity et ProductionPriority.
- Avant le chargement dans ProcessMind, vérifiez que chaque activité requise est représentée par une ligne explicite du journal d’événements, que les horodatages utilisent un fuseau horaire cohérent, que ProductionOrderNumber est renseigné et que LastDataUpdate identifie l’actualisation de l’extraction. ProcessMind lit le journal d’événements tel quel et ne reconstitue pas les événements manquants.
Configuration
- Connexion : Utilisez le connecteur Power Query et la méthode d’authentification approuvés pour l’environnement Dynamics 365. Remplacez [Your Dynamics 365 environment connection] et [Your credentials] par les valeurs approuvées par votre organisation.
- Entités sources : Sélectionnez les entités d’en-tête des ordres de fabrication, d’opérations ou de gammes, de prélèvements de matières ou de listes de prélèvement, de comptabilisation de la production, d’ordres qualité, ainsi que les entités d’audit ou de suivi des modifications approuvées disponibles dans l’environnement. Les noms et la disponibilité des entités varient selon le déploiement et doivent être confirmés dans le navigateur de métadonnées.
- Plage de dates : Commencez par une période de 3 à 6 mois. Utilisez si possible des filtres EventTime à la source et étendez la période lors de la validation des ordres de fabrication de longue durée ou des transitions de statut historiques.
- Filtres de société et de site : Appliquez [Your company or legal entity filter] et, le cas échéant, le filtre du site de production requis. N’utilisez pas un filtre de société générique si l’environnement contient plusieurs entités juridiques avec des numéros d’ordre qui se chevauchent.
- Filtres des ordres de fabrication : Filtrez selon les types d’ordres de fabrication, produits, sites, statuts et plages de numéros d’ordre requis. Évitez d’exclure les ordres annulés ou clôturés lorsque ces résultats sont nécessaires à l’analyse du processus.
- Inclusion des événements : Conservez les événements répétés d’achèvement d’opération, de prélèvement de matières, de qualité et d’ajustement. Ne réduisez pas le journal à une seule ligne par ordre de fabrication.
- Fuseau horaire : Convertissez tous les horodatages sources dans un même fuseau horaire documenté. Conservez l’horodatage source ou le décalage de fuseau lorsque la source le fournit.
- Métadonnées d’actualisation : Renseignez LastDataUpdate avec l’horodatage de l’actualisation ou de l’extraction pour chaque ligne. Un horodatage d’actualisation unique est acceptable lorsque l’ensemble des données est extrait lors d’une seule actualisation.
- Performances : Appliquez les filtres de date, de société, de site et d’ordre à la source. Sélectionnez uniquement les colonnes nécessaires, évitez les jointures superflues, préparez des requêtes sources réutilisables et envisagez une actualisation incrémentielle pour les grands volumes de données.
- Prérequis : Power BI Desktop ou un hôte Power Query approuvé, un accès réseau à l’environnement Dynamics 365, des autorisations de lecture valides pour toutes les entités sélectionnées, ainsi que les accès Dynamics 365 Manufacturing, entrepôt, qualité, audit ou suivi des modifications requis.
- Données dépendantes de la configuration : Si une source d’événements requise n’est pas activée, utilisez [Configure based on your system] et documentez la source manquante. Ne remplacez pas les événements historiques par un instantané du statut actuel.
a Exemple de requête sql
let
StartDate = #datetime(2026, 1, 1, 0, 0, 0),
EndDate = #datetime(2026, 6, 30, 23, 59, 59),
CompanyFilter = "[Your company or legal entity filter]",
SourceSystemValue = "Microsoft Dynamics 365 Manufacturing",
RefreshTime = DateTimeZone.RemoveZone(DateTimeZone.UtcNow()),
ProductionOrderHeader = [Your production order header query],
ProductionOrderOperation = [Your production order operation or route query],
MaterialPicking = [Your material picking or picking list query],
ProductionPosting = [Your production posting query],
QualityOrder = [Your quality order query],
ProductionOrderHistory = [Your approved production order audit or change tracking query],
Header = Table.SelectRows(ProductionOrderHeader, each [EventTime] >= StartDate and [EventTime] <= EndDate and [Company] = CompanyFilter),
Operations = Table.SelectRows(ProductionOrderOperation, each [EventTime] >= StartDate and [EventTime] <= EndDate and [Company] = CompanyFilter),
Picking = Table.SelectRows(MaterialPicking, each [EventTime] >= StartDate and [EventTime] <= EndDate and [Company] = CompanyFilter),
Posting = Table.SelectRows(ProductionPosting, each [EventTime] >= StartDate and [EventTime] <= EndDate and [Company] = CompanyFilter),
Quality = Table.SelectRows(QualityOrder, each [EventTime] >= StartDate and [EventTime] <= EndDate and [Company] = CompanyFilter),
History = Table.SelectRows(ProductionOrderHistory, each [EventTime] >= StartDate and [EventTime] <= EndDate and [Company] = CompanyFilter),
Created = Table.SelectRows(Header, each [EventType] = "Created" or [EventType] = "Firmed"),
Estimated = Table.SelectRows(Header, each [EventType] = "Estimated"),
Scheduled = Table.SelectRows(Operations, each [EventType] = "Scheduled"),
Picked = Table.SelectRows(Picking, each [EventType] = "Picked" or [EventType] = "Posted"),
Released = Table.SelectRows(Header, each [EventType] = "Released"),
Adjusted = Table.SelectRows(History, each [ChangedField] = "Quantity" or [ChangedField] = "PlannedStartDate" or [ChangedField] = "PlannedEndDate" or [ChangedField] = "Status" or [ChangedField] = "ProductionPlant" or [ChangedField] = "ProductNumber" or [ChangedField] = "ProductionPriority"),
Started = Table.SelectRows(Posting, each [EventType] = "Started"),
OperationCompleted = Table.SelectRows(Operations, each [EventType] = "Completed"),
ReportedFinished = Table.SelectRows(Posting, each [EventType] = "Reported as finished" or [EventType] = "Finished"),
QualityGenerated = Table.SelectRows(Quality, each [EventType] = "Generated" or [EventType] = "Created"),
QualityPassed = Table.SelectRows(Quality, each [EventType] = "Passed" or [EventType] = "Validated"),
Ended = Table.SelectRows(Header, each [EventType] = "Ended"),
Cancelled = Table.SelectRows(Header, each [EventType] = "Cancelled"),
ToEvent = (InputTable as table, Activity as text) as table =>
let
Selected = Table.SelectColumns(InputTable, {"ProductionOrderNumber", "EventTime", "ProductionOrderStatus", "PlannedStartDate", "PlannedEndDate", "UserId", "ProductionPlant", "ProductNumber", "ProductionType", "ActualQuantity", "ProductionPriority"}, MissingField.UseNull),
Named = Table.AddColumn(Selected, "ActivityName", each Activity, type text),
Source = Table.AddColumn(Named, "SourceSystem", each SourceSystemValue, type text),
Updated = Table.AddColumn(Source, "LastDataUpdate", each RefreshTime, type datetime),
Ordered = Table.ReorderColumns(Updated, {"ProductionOrderNumber", "ActivityName", "EventTime", "SourceSystem", "LastDataUpdate", "ProductionOrderStatus", "PlannedStartDate", "PlannedEndDate", "UserId", "ProductionPlant", "ProductNumber", "ProductionType", "ActualQuantity", "ProductionPriority"}),
Valid = Table.SelectRows(Ordered, each [ProductionOrderNumber] <> null and [ProductionOrderNumber] <> "" and [EventTime] <> null)
in
Valid,
EventsCreated = ToEvent(Created, "Production Order Created"),
EventsEstimated = ToEvent(Estimated, "Production Order Estimated"),
EventsScheduled = ToEvent(Scheduled, "Production Order Scheduled"),
EventsPicked = ToEvent(Picked, "Materials Picked For Production"),
EventsReleased = ToEvent(Released, "Production Order Released"),
EventsAdjusted = ToEvent(Adjusted, "Production Order Adjusted"),
EventsStarted = ToEvent(Started, "Production Started"),
EventsOperationCompleted = ToEvent(OperationCompleted, "Operation Completed"),
EventsReportedFinished = ToEvent(ReportedFinished, "Production Reported As Finished"),
EventsQualityGenerated = ToEvent(QualityGenerated, "Quality Order Generated"),
EventsQualityPassed = ToEvent(QualityPassed, "Quality Inspection Passed"),
EventsEnded = ToEvent(Ended, "Production Order Ended"),
EventsCancelled = ToEvent(Cancelled, "Production Order Cancelled"),
EventLog = Table.Combine({EventsCreated, EventsEstimated, EventsScheduled, EventsPicked, EventsReleased, EventsAdjusted, EventsStarted, EventsOperationCompleted, EventsReportedFinished, EventsQualityGenerated, EventsQualityPassed, EventsEnded, EventsCancelled}),
Typed = Table.TransformColumnTypes(EventLog, {{"ProductionOrderNumber", type text}, {"ActivityName", type text}, {"EventTime", type datetime}, {"SourceSystem", type text}, {"LastDataUpdate", type datetime}, {"ProductionOrderStatus", type text}, {"PlannedStartDate", type datetime}, {"PlannedEndDate", type datetime}, {"UserId", type text}, {"ProductionPlant", type text}, {"ProductNumber", type text}, {"ProductionType", type text}, {"ActualQuantity", type number}, {"ProductionPriority", type text}}),
Sorted = Table.Sort(Typed, {{"ProductionOrderNumber", Order.Ascending}, {"EventTime", Order.Ascending}, {"ActivityName", Order.Ascending}})
in
Sorted Prêt à commencer ?
Grâce à ce modèle complet, vous disposez de tout le nécessaire pour commencer à extraire et à analyser vos données de planification de la production. Commencez dès aujourd’hui à optimiser vos opérations pour atteindre une efficacité maximale.
Atteignez une efficacité maximale : optimisez dès aujourd’hui la planification de production
Repérez les goulots d’étranglement et réduisez le temps de cycle de production de 30 % ou davantage.
Aucune carte bancaire requise, configuration en quelques minutes.