Ihr Daten-Template für die Produktionsplanung
Ihr Daten-Template für die Produktionsplanung
- Empfohlene Attribute für die Erfassung
- Wichtige Aktivitäten für die Nachverfolgung
- Hinweise zur Extraktion für Microsoft Dynamics 365 Manufacturing
Attribute der Produktionsplanung
| Name | Beschreibung | ||
|---|---|---|---|
| Produktionsauftrag ProductionOrderNumber | Die eindeutige Kennung eines Produktionsauftrags. Sie dient als primäre Case-ID zur Nachverfolgung aller zugehörigen Planungs- und Ausführungsaktivitäten. | ||
| Beschreibung Die Produktionsauftragsnummer, in Microsoft Dynamics 365 häufig als ProdId bezeichnet, ist die zentrale Kennung, die alle Ereignisse, Materialien, Ressourcen und Kosten eines bestimmten Fertigungsauftrags miteinander verknüpft. Sie ermöglicht eine durchgängige Analyse des Lebenszyklus von Produktionsplanung und -ausführung für eine einzelne Arbeitseinheit. Im Process Mining ist dieses Attribut entscheidend, um zusammengehörige Ereignisse zu einem einzelnen Case zu gruppieren. Die Analyse nach Produktionsauftragsnummer hilft, Engpässe, Verzögerungen und Abweichungen im standardmäßigen Produktionsablauf zu erkennen, von der ersten Erstellung und Einplanung bis zum Abschluss und zur Kostenkalkulation. Warum das wichtig ist Dies ist die grundlegende Case-Kennung. Sie ist entscheidend, um alle zugehörigen Ereignisse zu gruppieren und den durchgängigen Produktionsplanungsprozess für die Analyse zu rekonstruieren. Bezugsquelle Dies ist das Feld „ProdId“ in der Tabelle „ProdTable“ von Microsoft Dynamics 365 Manufacturing. Beispiele WO-000456WO-000457WO-000458 | |||
| Aktivitätsname ActivityName | Der Name des konkreten Geschäftsevents oder Prozessschritts, der innerhalb des Produktionsplanungsprozesses stattgefunden hat. | ||
| Beschreibung Der Aktivitätsname beschreibt einen einzelnen Schritt im Lebenszyklus der Produktionsplanung, etwa „Production Order Created“, „Materials Picked For Production“ oder „Production Started“. Diese Aktivitäten bilden die Grundlage der Prozesslandkarte. Die Analyse ihrer Reihenfolge und Dauer ermöglicht die Visualisierung des Prozessablaufs, die Identifizierung typischer Pfade, das Erkennen von Nacharbeitschleifen und die Messung der in den einzelnen Phasen verbrachten Zeit. Dieses Attribut ist entscheidend, um zu verstehen, was an den jeweiligen Prozessschritten geschieht. Warum das wichtig ist Dieses Attribut definiert die Prozessschritte und ermöglicht den Aufbau einer Prozesslandkarte sowie die Analyse von Prozessablauf, Varianten und Engpässen. Bezugsquelle Dieser Wert wird in der Regel aus Event Logs abgeleitet oder durch die Zuordnung verschiedener Statusänderungen und Transaktionstypen in Tabellen wie „ProdRouteTrans“ und „ProdJournalBOM“ sowie aus Änderungen der Statusfelder in der „ProdTable“ ermittelt. Beispiele Produktionsauftrag erstelltProduktionsauftrag freigegebenProduktion gestartetProduktion als fertig gemeldet | |||
| Ereigniszeit EventTime | Der genaue Timestamp, der angibt, wann die Aktivität stattgefunden hat. | ||
| Beschreibung Die Ereigniszeit, also der Timestamp, erfasst das genaue Datum und die genaue Uhrzeit, zu denen eine bestimmte Aktivität stattgefunden hat. Diese Daten bilden die Grundlage für alle zeitbezogenen Process-Mining-Analysen, darunter die Berechnung von Durchlaufzeiten, die Identifizierung von Verzögerungen zwischen Schritten und die Bewertung der Prozessleistung im Zeitverlauf. In der Produktionsplanung wird dieses Attribut verwendet, um Zeitspannen wie die Planungsdurchlaufzeit, Verzögerungen beim Produktionsstart und die gesamte Auftragsabwicklungszeit zu messen. Genaue und chronologisch korrekte Timestamps sind entscheidend für ein korrektes und aussagekräftiges Prozessmodell. Warum das wichtig ist Dieser Timestamp ist entscheidend für die zeitliche Sortierung von Ereignissen, die Berechnung von Zeitspannen zwischen Aktivitäten und jede zeitbezogene Analyse, etwa von Durchlaufzeiten und Engpässen. Bezugsquelle Der Wert findet sich in verschiedenen Transaktionstabellen, beispielsweise als „createdDateTime“ in der „ProdTable“ oder in Datumsfeldern für Transaktionen in „ProdRouteTrans“, „ProdJournalRoute“ und „ProdJournalBOM“. Beispiele 2023-04-15T09:00:12Z2023-04-15T11:30:00Z2023-04-16T14:22:05Z | |||
| Letzte Datenaktualisierung LastDataUpdate | Der Timestamp, der angibt, wann die Daten für dieses Ereignis zuletzt aus dem Quellsystem aktualisiert oder extrahiert wurden. | ||
| Beschreibung Dieses Attribut enthält Datum und Uhrzeit des letzten Datenabrufs aus dem Quellsystem. Es handelt sich um ein Metadatenfeld, das entscheidend ist, um die Aktualität und den zeitlichen Stand der Analyse zu verstehen. Wenn bekannt ist, wann die Daten zuletzt aktualisiert wurden, können Analysten und Fachanwender die aus dem Process-Mining-Tool gewonnenen Erkenntnisse besser einordnen. So wird deutlich, ob die Dashboards aktuelle Informationen oder Daten aus einem früheren Zeitpunkt abbilden. Das ist für operative Entscheidungen wichtig. Warum das wichtig ist Dieses Attribut ist für Data Governance von großer Bedeutung. Es stellt sicher, dass Benutzer die Aktualität der Daten verstehen und der zeitlichen Relevanz der Prozesserkenntnisse vertrauen können. Bezugsquelle Dieser Timestamp wird während des Prozesses zur Extraktion, Transformation und zum Laden der Daten (ETL) erzeugt und jedem Datensatz hinzugefügt. Beispiele 2023-05-20T05:00:00Z2023-05-21T05:00:00Z | |||
| Quellsystem SourceSystem | Das führende System, aus dem die Daten extrahiert wurden. | ||
| Beschreibung Dieses Attribut identifiziert das Informationssystem, aus dem die Ereignisdaten stammen. In dieser Prozessansicht lautet der Wert durchgehend „Microsoft Dynamics 365 Manufacturing“. In Umgebungen mit mehreren integrierten Systemen ist dieses Feld entscheidend für die Datenherkunft, die Behebung von Problemen mit der Datenqualität und das Verständnis des Beitrags einzelner Systeme zum Gesamtprozess. Es schafft Klarheit über den Ursprung der analysierten Daten. Warum das wichtig ist Das Attribut liefert wichtigen Kontext zur Herkunft der Daten. Dieser ist für Data Governance, Validierung und die Verwaltung von Datenpipelines aus mehreren Unternehmenssystemen entscheidend. Bezugsquelle Dies ist ein statischer Wert, der während der Datenextraktion und -transformation ergänzt werden sollte, um die Herkunft des Datensatzes zu kennzeichnen. Beispiele Microsoft Dynamics 365 ManufacturingD365 F&O | |||
| Benutzer UserId | Die Kennung des Benutzers, der die Aktivität ausgeführt hat oder dafür verantwortlich ist. | ||
| Beschreibung Die Benutzer-ID identifiziert den Mitarbeiter oder das Systemkonto, das einen bestimmten Prozessschritt ausgeführt hat, etwa die Freigabe eines Auftrags oder die Meldung des Abschlusses. Diese Information zeigt, wer die Arbeit im Prozess ausführt. Die Analyse nach Benutzern hilft, die Arbeitslastverteilung zu verstehen, Schulungsbedarf zu erkennen, die Leistung einzelner Personen oder Teams zu vergleichen und von bestimmten Benutzern verursachte Abweichungen zu untersuchen. Sie ist außerdem für Compliance und Prüfpfade wichtig. Warum das wichtig ist Damit lässt sich die Prozessleistung nach Benutzer oder Team analysieren. Außerdem hilft das Attribut, Automatisierungsmöglichkeiten zu erkennen und für wichtige Prozessaktivitäten einen Prüfpfad bereitzustellen. Bezugsquelle Der Wert findet sich in Feldern wie „modifiedBy“ oder „createdBy“ verschiedener Tabellen sowie in Benutzerfeldern von Transaktionsprotokolltabellen wie „ProdJournalTable“. Beispiele j.smithm.jonesAX_BATCH_SVC | |||
| Geplantes Enddatum PlannedEndDate | Datum und Uhrzeit, zu denen der Produktionsauftrag planmäßig abgeschlossen sein soll. | ||
| Beschreibung Das geplante Enddatum ist der vom Einplanungsmodul bestimmte Zielzeitpunkt für den Abschluss eines Produktionsauftrags. Dabei werden Vorgangszeiten, Ressourcenkalender und Durchlaufzeiten berücksichtigt, um den Zeitpunkt der Verfügbarkeit der fertigen Erzeugnisse zu prognostizieren. In der Prozessanalyse ist dieses Attribut entscheidend für die Bewertung der termingerechten Fertigstellung. Der Vergleich des geplanten Enddatums mit dem tatsächlichen Abschluss-Timestamp aus der Aktivität „Production Reported As Finished“ oder „Production Order Ended“ ermöglicht die Berechnung des KPI für die termingerechte Fertigstellung und hilft, systematische Ursachen für verspätete Lieferungen zu erkennen. Warum das wichtig ist Dieses Attribut dient als Referenz für die Messung der termingerechten Fertigstellung und die Analyse der Genauigkeit der Produktionsplanung. Bezugsquelle Dies ist das Feld „SchedEnd“ in der Tabelle „ProdTable“. Beispiele 2023-04-25T17:00:00Z2023-04-26T17:00:00Z2023-04-27T17:00:00Z | |||
| Geplantes Startdatum PlannedStartDate | Datum und Uhrzeit, zu denen der Produktionsauftrag planmäßig beginnen soll. | ||
| Beschreibung Das geplante Startdatum ist ein wichtiges Ergebnis der Einplanung und bezeichnet den Zielzeitpunkt für den Beginn der Produktionsaktivitäten eines Auftrags. Es wird anhand der Materialverfügbarkeit, der Ressourcenkapazität und der Bedarfstermine bestimmt. Dieses Attribut ist für die Analyse der Termintreue entscheidend. Durch den Vergleich des geplanten Startdatums mit dem tatsächlichen Produktionsstart, der über den Timestamp der Aktivität „Production Started“ erfasst wird, können Unternehmen die Pünktlichkeit messen, Verzögerungsursachen erkennen und KPIs wie die Termintreue der Produktionsplanung berechnen. Warum das wichtig ist Es dient als Referenz für die Messung der Termintreue und die Identifizierung von Verzögerungen zwischen Planung und tatsächlichem Produktionsbeginn. Bezugsquelle Dies ist das Feld „SchedStart“ in der Tabelle „ProdTable“. Beispiele 2023-04-18T08:00:00Z2023-04-19T08:00:00Z2023-04-20T08:00:00Z | |||
| Produktionspriorität ProductionPriority | Eine Einstufung, die die Dringlichkeit oder Priorität des Produktionsauftrags angibt. | ||
| Beschreibung Production Priority ist ein Feld, das Planer und Disponenten verwenden, um die Reihenfolge der Arbeiten in der Fertigung zu steuern. Aufträge mit höherer Priorität können vorgezogen werden und dadurch den geplanten Ablauf anderer Aufträge beeinträchtigen. Die Analyse dieses Attributs zeigt, wie häufig Produktionspläne durch dringende oder priorisierte Aufträge unterbrochen werden. Wenn Sie Prioritätsänderungen über den Lebenszyklus eines Auftrags verfolgen, können Sie Instabilität bei Nachfrage oder Planung erkennen. Dies ist eine wichtige Grundlage für das Dashboard „Expedited Production Trends“ und die KPI „Expedited Production Rate“. Warum das wichtig ist Damit lassen sich Häufigkeit und Auswirkungen vorgezogener Aufträge erkennen. Diese können auf instabile Planung oder ein reaktives Betriebsmanagement hindeuten. Bezugsquelle Dies kann ein Standardfeld oder ein benutzerdefiniertes Feld in „ProdTable“ sein. Die Konfiguration ist häufig unternehmensspezifisch. Beispiele NormalHochDringend | |||
| Produktionsstandort ProductionPlant | Der Fertigungsstandort oder das Werk, an dem der Produktionsauftrag ausgeführt wird. | ||
| Beschreibung Der Produktionsstandort bezeichnet den physischen Ort oder die Anlage, die für den Fertigungsprozess verantwortlich ist. Er ist eine wichtige organisatorische Dimension, um die Produktionsleistung zu segmentieren und zu vergleichen. Im Process Mining ermöglicht dieses Attribut den Vergleich der Leistung verschiedener Werke. Analysten können Durchlaufzeiten, Ressourcenauslastung und die Einhaltung von Standardprozessen zwischen Standorten vergleichen, um Best Practices zu erkennen oder Werke mit Verbesserungsbedarf zu identifizieren. Für die Analyse der Kapazitätsauslastung ist es unverzichtbar. Warum das wichtig ist Damit können Leistung und Kennzahlen verschiedener Fertigungsstandorte verglichen werden. So lassen sich Best Practices und standortspezifische Probleme erkennen. Bezugsquelle Dies ist das Feld „InventSiteId“ in der Tabelle „ProdTable“. Beispiele SITE-ASITE-BMain-WH | |||
| Produktionstyp ProductionType | Die Klassifizierung des Produktionsauftrags, beispielsweise als Standardproduktion, Nacharbeit oder projektbezogene Produktion. | ||
| Beschreibung Production Type kategorisiert den Auftrag anhand seines Verwendungszwecks. Ein Auftrag vom Typ „Standard“ dient beispielsweise der regulären Lagerproduktion, ein Auftrag vom Typ „Rework“ behebt Fehler an einem zuvor produzierten Artikel und ein Auftrag vom Typ „Project“ ist mit einem bestimmten Kundenprojekt verknüpft. Dieses Attribut ist wichtig, um vergleichbare Analyseansichten zu erstellen. Der Prozess für einen Rework-Auftrag unterscheidet sich grundsätzlich von einem Standardauftrag. Wenn Sie die Prozessanalyse nach Production Type segmentieren, werden Vergleiche aussagekräftig und die spezifischen Herausforderungen und Abläufe der einzelnen Typen verständlicher. Warum das wichtig ist Mit diesem Attribut können Sie die Analyse segmentieren, da unterschiedliche Auftragstypen wie „Standard“ und „Rework“ naturgemäß verschiedenen Prozessen folgen und unterschiedlichen Leistungserwartungen unterliegen. Bezugsquelle Dies ist das Feld „ProdType“ in der Tabelle „ProdTable“. Beispiele StandardNacharbeitProjekt | |||
| Produktnummer ProductNumber | Die eindeutige Kennung des herzustellenden Artikels. | ||
| Beschreibung Die Produktnummer oder Artikel-ID bezeichnet das Fertigerzeugnis, das mit dem Produktionsauftrag hergestellt werden soll. Sie verknüpft den Produktionsprozess mit dem konkreten Produkt sowie der zugehörigen Stückliste und den Arbeitsplananweisungen. Die Analyse nach Produktnummer macht produktspezifische Unterschiede im Fertigungslebenszyklus sichtbar. Sie kann zeigen, dass bestimmte Produkte längere Durchlaufzeiten haben, mehr Nacharbeit erfordern oder häufiger von Verzögerungen betroffen sind. Diese Erkenntnisse liefern wertvolle Hinweise für Produkt- und Prozessingenieure. Warum das wichtig ist Damit lassen sich Prozessvarianten nach dem hergestellten Produkt analysieren und produktspezifische Engpässe oder Qualitätsprobleme erkennen. Bezugsquelle Dies ist das Feld „ItemId“ in der Tabelle „ProdTable“. Beispiele FG-1001FG-2050ASSY-500B | |||
| Status des Produktionsauftrags ProductionOrderStatus | Gibt den aktuellen Status des Produktionsauftrags im Lebenszyklus an. | ||
| Beschreibung Der Status des Produktionsauftrags zeigt den Fortschritt des Auftrags im Fertigungslebenszyklus. Zu den gängigen Statuswerten in Dynamics 365 gehören Created, Estimated, Scheduled, Released, Started, Reported as finished und Ended. Dieses Attribut zeigt den aktuellen Stand jedes Auftrags. Im Process Mining sind Statusänderungen ein zentraler Ansatz, um Aktivitäten zu definieren und den Prozessablauf zu verstehen. Sie können verwendet werden, um Aufträge in einem bestimmten Status zu filtern, die Verweildauer in den einzelnen Statuswerten zu analysieren und festzustellen, welche Aufträge feststecken oder verzögert sind. Warum das wichtig ist Dieses Attribut bietet einen Überblick über den Fortschritt eines Auftrags. Es ist entscheidend für Filterungen, Conformance Checking und die Analyse der in den verschiedenen Produktionsphasen verbrachten Zeit. Bezugsquelle Dies ist das Feld „ProdStatus“ in der Tabelle „ProdTable“. Beispiele EingeplantFreigegebenGestartetBeendet | |||
| Tatsächliche Menge ActualQuantity | Die Menge der Waren, die für den Auftrag erfolgreich produziert und als fertig gemeldet wurde. | ||
| Beschreibung Die Actual Quantity gibt die Anzahl der Einheiten an, die für einen bestimmten Produktionsauftrag fertiggestellt und die Qualitätsprüfung bestanden haben. Dieser Wert wird erfasst, wenn die Produktion als „Reported as finished“ gemeldet wird. Dieses Attribut dient zur Analyse von Produktionsausbeute und Effizienz. Durch den Vergleich der Actual Quantity mit der Planned Quantity lassen sich Ausschussquoten berechnen und Produktionsverluste nachvollziehen. Außerdem ist der Wert ein wichtiger Bestandteil von Dashboards zur Durchsatzanalyse und Kapazitätsauslastung. Warum das wichtig ist Der Wert ist entscheidend für die Berechnung von Produktionsausbeute, Ausschussquoten und tatsächlichem Durchsatz. Dadurch erhalten Sie Erkenntnisse über Effizienz und Leistung der Fertigung. Bezugsquelle Dieser Wert stammt häufig aus dem Feld „QtyGood“ in der Tabelle „ProdTable“ oder aus zugehörigen Tabellen für Journalbuchungen, wenn ein Auftrag als fertig gemeldet wird. Beispiele 100985000 | |||
| Endzeit EndTime | Der genaue Timestamp, der angibt, wann die Aktivität abgeschlossen wurde. | ||
| Beschreibung Die End Time kennzeichnet den Abschluss einer bestimmten Aktivität. Während die Start Time den Beginn angibt, benötigen Sie die End Time, um die tatsächliche Dauer beziehungsweise Bearbeitungszeit dieses einzelnen Schritts zu bestimmen. Im Process Mining ermöglicht die Erfassung von Start Time und End Time für Aktivitäten eine detailliertere Analyse von Warte- und Bearbeitungszeiten. So lässt sich unterscheiden, wie lange aktiv an einer Aktivität gearbeitet wurde und wie lange auf den Beginn des nächsten Schritts gewartet wurde. Das ist für eine präzise Bottleneck-Analyse entscheidend. Warum das wichtig ist Damit lässt sich die Bearbeitungszeit einer Aktivität berechnen und von der Wartezeit unterscheiden. So wird eine präzisere Bottleneck-Analyse möglich. Bezugsquelle Dieser Wert wird häufig abgeleitet. Die Endzeit von „Production Started“ kann beispielsweise der Startzeit von „Operation Completed“ entsprechen. In manchen Logs wird ein End-Timestamp ausdrücklich erfasst. Beispiele 2023-04-15T09:30:45Z2023-04-15T12:00:00Z2023-04-16T15:00:10Z | |||
| Geplante Menge PlannedQuantity | Die Menge des Artikels, deren Produktion geplant ist. | ||
| Beschreibung Die Planned Quantity ist die Zielmenge der Einheiten, die für einen bestimmten Produktionsauftrag gefertigt werden sollen. Diese Menge wird typischerweise durch die Nachfrage aus Verkaufsaufträgen, Sicherheitsbestandsanforderungen oder die Masterplanung bestimmt. Dieses Attribut bildet die Grundlage für Leistungskennzahlen wie Ausbeute und Ausschuss. Durch den Vergleich der Planned Quantity mit der tatsächlich produzierten Actual Quantity können Planer die Produktionseffizienz und Materialabweichungen überwachen. Der Wert ist ein grundlegender Datenpunkt für die Kapazitäts- und Materialbedarfsplanung. Warum das wichtig ist Diese Basismenge dient zur Messung von Produktionsausbeute und Ausschussquoten, indem sie mit der tatsächlich produzierten Menge verglichen wird. Bezugsquelle Dies ist das Feld „QtySched“ in der Tabelle „ProdTable“. Beispiele 1005000250 | |||
| Materialverfügbarkeit MaterialAvailabilityStatus | Gibt an, ob die für den Produktionsauftrag benötigten Rohmaterialien verfügbar sind. | ||
| Beschreibung Dieses Attribut erfasst die Bereitschaft der für die Produktion benötigten Komponenten. Es kann Statuswerte wie „Available“, „On Order“ oder „Shortage“ abbilden. Diese Information ist für Disponenten entscheidend, um einzuschätzen, ob ein Produktionsauftrag wie geplant beginnen kann. Im Process Mining ist dieses Attribut wichtig, um die Ursachen von Verzögerungen beim Produktionsstart zu ermitteln. Wenn Sie den Status mit der Zeit zwischen „Production Order Released“ und „Production Started“ verknüpfen, können Sie den Einfluss von Materialengpässen auf Termintreue und gesamte Durchlaufzeit quantifizieren. Dies unterstützt direkt das Dashboard „Material Availability Delay Impact“. Warum das wichtig ist Dies ist entscheidend, um Verzögerungen beim Produktionsstart durch Materialengpässe zu verstehen und zu quantifizieren sowie die Leistung der Lieferkette mit der Fertigungseffizienz zu verknüpfen. Bezugsquelle Dieser Status ist häufig kein einzelnes Feld, sondern wird abgeleitet, indem die verfügbaren Bestände aller Artikel in der Bill of Materials (BOM) des Produktionsauftrags über die Tabelle „InventSum“ geprüft werden. Beispiele Vollständig verfügbarTeilweiser FehlbestandNicht verfügbar | |||
| Nummer des Qualitätsauftrags QualityOrderNumber | Die Kennung eines mit dem Produktionsauftrag verknüpften Qualitätsprüfauftrags. | ||
| Beschreibung Wenn eine Qualitätsprüfung erforderlich ist, wird in Dynamics 365 häufig ein Quality Order erstellt. Dieses Attribut verknüpft den Produktionsprozess mit dem Qualitätssicherungsprozess und erfasst die ID des zugehörigen Qualitätsauftrags. Diese Verknüpfung ermöglicht eine umfassendere End-to-End-Sicht auf den Prozess, einschließlich der Schritte des Qualitätsmanagements. Sie hilft dabei zu analysieren, wie sich Qualitätsprüfungen auf Produktionsdurchlaufzeiten auswirken, Verzögerungen im Qualitätsprozess zu erkennen und die Häufigkeit von Qualitätsprüfungen für verschiedene Produkte oder Produktionslinien zu verstehen. Warum das wichtig ist Damit wird der Produktionsprozess mit dem Qualitätssicherungsprozess verknüpft. So lässt sich analysieren, wie sich Qualitätsprüfungen auf die gesamte Durchlaufzeit auswirken. Bezugsquelle Diese Information wird in Tabellen des Qualitätsmanagements gespeichert, beispielsweise in „InventQualityOrderTable“, und muss mit dem Produktionsauftrag verknüpft werden. Beispiele QO-00123QO-00124QO-00125 | |||
| Produktionslinie ProductionLine | Die konkrete Produktionslinie, der Arbeitsbereich oder die Ressourcengruppe, die dem Produktionsauftrag zugewiesen ist. | ||
| Beschreibung Die Production Line bezeichnet die konkrete Maschine, Fertigungszelle oder Ressourcengruppe, die die Fertigungsoperationen ausführt. Sie bietet eine detailliertere Ebene als das Production Plant. Die Analyse nach Production Line ist für eine detaillierte Kapazitäts- und Auslastungsanalyse entscheidend. Sie hilft dabei, überlastete Arbeitsbereiche zu erkennen, die Effizienz verschiedener Linien für dasselbe Produkt zu vergleichen und ressourcenspezifische Bottlenecks zu identifizieren, die auf Werksebene möglicherweise nicht sichtbar sind. Warum das wichtig ist Damit können Sie Ressourcenauslastung und Leistung detailliert analysieren und überlastete Arbeitsbereiche oder ineffiziente Linien erkennen. Bezugsquelle Diese Information steht häufig im Feld „WrkCtrId“ der Transaktionen für Produktionsrouten, etwa in den Tabellen „ProdRoute“ oder „ProdRouteTrans“. Beispiele LINE-01LINE-02CNC-A | |||
| Pünktlicher Start ProductionScheduleAdherence | Ein boolesches Kennzeichen, das den Wert true annimmt, wenn der Produktionsauftrag am geplanten Startdatum oder früher begonnen wurde. | ||
| Beschreibung Dieses berechnete Attribut liefert einen einfachen binären Indikator für die Termintreue beim Produktionsstart. Es vergleicht den tatsächlichen Start-Timestamp des Events „Production Started“ mit dem Attribut „PlannedStartDate“. Das Kennzeichen eignet sich besonders für übersichtliche Dashboards und KPIs wie die „Production Schedule Adherence Rate“. Sie können damit einfach filtern und aggregieren, welcher Anteil der Aufträge pünktlich startet. Außerdem lassen sich die Merkmale verspäteter Aufträge analysieren, ohne Datumsvergleiche direkt im Analysetool durchführen zu müssen. Warum das wichtig ist Dies vereinfacht Reporting und KPI-Berechnung zur Termintreue. Pünktliche und verspätete Aufträge lassen sich einfach filtern und aggregieren. Bezugsquelle Dies ist eine berechnete Kennzahl. Die Logik lautet: EventTime von „Production Started“ <= PlannedStartDate. Beispiele truefalse | |||
| Revisionsnummer ProductionOrderRevisionNumber | Die Anzahl der Anpassungen eines Produktionsplans nach seiner ursprünglichen Erstellung. | ||
| Beschreibung Dieses Attribut erfasst die Anzahl der Revisionen oder wesentlichen Änderungen an einem Produktionsauftrag, etwa an Menge, Terminen oder Routing, nachdem er eingeplant oder freigegeben wurde. Ein höherer Wert weist auf eine größere Instabilität des Plans hin. Dies ist ein direktes Maß für die KPI „Production Plan Revision Rate“. Die Analyse hilft, Ursachen für Planungsinstabilität zu erkennen, etwa häufige Nachfrageänderungen oder eine ungenaue Erstplanung. Sie quantifiziert den Aufwand für Nacharbeit und Umplanung, der häufig zu Ineffizienzen führt. Warum das wichtig ist Damit wird die Planungsstabilität direkt gemessen. Außerdem unterstützt das Attribut die KPI „Production Plan Revision Rate“, indem Prozesse mit übermäßigen Änderungen und Nacharbeit sichtbar werden. Bezugsquelle Dies ist ein abgeleitetes Attribut, für das die Vorkommen der Aktivitäten „Production Order Adjusted“ je Case gezählt werden müssen. Beispiele 012 | |||
| Verzögerung beim Produktionsstart ProductionStartDelay | Die verstrichene Zeit zwischen der Freigabe des Auftrags und dem tatsächlichen Produktionsstart. | ||
| Beschreibung Diese berechnete Dauer misst die Warte- beziehungsweise Warteschlangenzeit in der Fertigung. Sie entspricht der Zeitdifferenz zwischen den Aktivitäten „Production Order Released“ und „Production Started“. Diese KPI ist für das Dashboard „Resource Allocation Delay Analysis“ wichtig, da sie Verzögerungen nach Abschluss der Planung und nach der Ausführungsfreigabe sichtbar macht. Hohe Werte können auf Probleme bei Ressourcenverfügbarkeit, Materialbereitstellung oder Informationsfluss in die Fertigung hindeuten und liefern damit einen klaren Ansatzpunkt für operative Verbesserungen. Warum das wichtig ist Damit wird die Verzögerung zwischen Ausführungsbereitschaft und Start präzise gemessen. So lassen sich Bottlenecks bei Ressourcenverfügbarkeit oder Fertigungsbereitschaft gezielt erkennen. Bezugsquelle Dies ist eine berechnete Kennzahl: Timestamp(„Production Started“) - Timestamp(„Production Order Released“). Beispiele 0 T 4 Std. 15 Min.1 T 2 Std. 0 Min.0 T 1 Std. 30 Min. | |||
Aktivitäten der Produktionsplanung
| Aktivität | Beschreibung | ||
|---|---|---|---|
| Produktion als fertig gemeldet | Dieses Ereignis zeigt an, dass der Fertigungsprozess für die angegebene Produktmenge physisch abgeschlossen ist und sich die fertigen Erzeugnisse nun im Bestand befinden. Diese wichtige Statusaktualisierung löst Bestandsbuchungen aus. | ||
| Warum das wichtig ist Damit endet die physische Produktion. Das Ereignis ist entscheidend für die Berechnung des Anteils termingerecht abgeschlossener Aufträge, der tatsächlichen Produktionsdauer und des Durchsatzes. Bezugsquelle Dieses Ereignis wird erfasst, wenn sich der Status des Produktionsauftrags in der ProdTable in „Reported as finished“ ändert. Ausgelöst wird es durch die Buchung eines Journals „Report as Finished“. Erfassen Ermitteln Sie den Timestamp, an dem sich das Feld ProdStatus in der ProdTable in „Reported as finished“ ändert. Ereignistyp inferred | |||
| Produktion gestartet | Dieses Ereignis kennzeichnet den Beginn der physischen Produktionsarbeit für den Auftrag in der Fertigung. Es wird häufig erfasst, wenn der erste Vorgang oder Job über ein Produktionsterminal oder eine Journalbuchung gestartet wird. | ||
| Warum das wichtig ist Diese Aktivität liefert die tatsächliche Startzeit der Produktion. Sie ist entscheidend für die Berechnung von Startverzögerungen, Termintreue und tatsächlichen Durchlaufzeiten. Bezugsquelle Dieses Ereignis wird erfasst, wenn sich der Status des Produktionsauftrags in der ProdTable in „Started“ ändert. Häufig wird es durch die Buchung einer Arbeitskarte oder Routenkartenjournalbuchung für den ersten Vorgang ausgelöst. Erfassen Ermitteln Sie den Timestamp, an dem sich das Feld ProdStatus in der ProdTable in „Started“ ändert. Ereignistyp inferred | |||
| Produktionsauftrag beendet | Dies ist die letzte Aktivität und steht für den finanziellen Abschluss des Produktionsauftrags. Alle Kosten wurden berechnet und gebucht, weitere Transaktionen für den Auftrag sind nicht mehr möglich. | ||
| Warum das wichtig ist Damit ist der Auftrag sowohl physisch als auch finanziell vollständig abgeschlossen. Verzögerungen zwischen „Reported as Finished“ und „Ended“ können auf Probleme bei der Kostenrechnung oder beim finanziellen Abschluss hinweisen. Bezugsquelle Diese abschließende Statusänderung wird erfasst, wenn das Feld „ProdStatus“ in der „ProdTable“ auf „Ended“ gesetzt wird. Ausgelöst wird sie durch die Ausführung der Kostenberechnung und den Abschluss des Auftrags. Erfassen Ermitteln Sie den Timestamp, an dem sich das Feld ProdStatus in der ProdTable in „Ended“ ändert. Ereignistyp inferred | |||
| Produktionsauftrag eingeplant | Diese Aktivität kennzeichnet die Einplanung des Produktionsauftrags. Dabei werden konkrete Ressourcen, Termine und Zeiten für die Vorgänge festgelegt. Der Schritt kann sowohl die Vorgangsplanung als auch eine detailliertere Jobplanung umfassen. | ||
| Warum das wichtig ist Die Einplanung ist entscheidend für die Kapazitätsplanung und das Ressourcenmanagement. Die Analyse der benötigten Zeit für die Einplanung sowie der Zeitspanne bis zur Freigabe macht Planungs- und Kapazitätsengpässe sichtbar. Bezugsquelle Dieses Ereignis wird erfasst, wenn sich der Status des Produktionsauftrags in der ProdTable in „Scheduled“ ändert. Ausgelöst wird es durch die Ausführung einer Einplanungsfunktion durch einen Benutzer. Erfassen Ermitteln Sie den Timestamp, an dem sich das Feld ProdStatus in der ProdTable in „Scheduled“ ändert. Ereignistyp inferred | |||
| Produktionsauftrag erstellt | Diese Aktivität kennzeichnet die Erstellung eines Produktionsauftrags, der den Bedarf für eine bestimmte Produktmenge formalisiert. Sie wird in der Regel erfasst, wenn ein geplanter Produktionsauftrag fest eingeplant wird und im System ein offizieller Datensatz mit einer eindeutigen ID entsteht. | ||
| Warum das wichtig ist Dies ist das primäre Start-Ereignis des Produktionsprozesses. Die Analyse der Zeit zwischen dieser Erstellung und den nachfolgenden Schritten hilft dabei, die gesamte Planungsdurchlaufzeit und Effizienz zu messen. Bezugsquelle Dieses Ereignis wird aus dem Erstellungs-Timestamp des Produktionsauftragsdatensatzes in der ProdTable abgeleitet. Der anfängliche Status lautet in der Regel „Created“. Erfassen Erfassen Sie den Erstellungs-Timestamp eines neuen Eintrags in der ProdTable, dessen ProdStatus „Created“ lautet. Ereignistyp inferred | |||
| Produktionsauftrag freigegeben | Diese Aktivität zeigt an, dass der Produktionsauftrag genehmigt und zur Ausführung in der Produktion freigegeben wurde. Dieser wichtige Meilenstein gibt Dokumente wie Arbeitskarten und Routenkarten frei. | ||
| Warum das wichtig ist Dies ist die offizielle Übergabe von der Planung an die Ausführung. Die Zeit zwischen „Scheduled“ und „Released“ kann auf Genehmigungsverzögerungen oder abschließende Prüfungen hinweisen. Die Zeit zwischen „Released“ und „Started“ zeigt, wie schnell die Produktion bereit ist. Bezugsquelle Dieses Ereignis wird erfasst, wenn sich der Status des Produktionsauftrags in der ProdTable in „Released“ ändert. Ausgelöst wird es durch eine manuelle oder automatisierte Benutzeraktion. Erfassen Ermitteln Sie den Timestamp, an dem sich das Feld ProdStatus in der ProdTable in „Released“ ändert. Ereignistyp inferred | |||
| Materialien für die Produktion kommissioniert | Dieses Ereignis zeigt an, dass die für den Produktionsauftrag benötigten Rohmaterialien aus dem Lager entnommen wurden und zur Verwendung bereitstehen. Es wird nach Abschluss eines Kommissionierauftrags für Rohmaterialien oder nach der Buchung eines Kommissionierlistenjournals protokolliert. | ||
| Warum das wichtig ist Diese Aktivität ist ein entscheidender Übergang vor Produktionsbeginn. Verzögerungen zwischen Einplanung und Materialkommissionierung weisen auf Probleme im Lagerbetrieb oder bei der Materialverfügbarkeit hin. Bezugsquelle In der Regel handelt es sich um ein explizites Ereignis, das in Lagerverwaltungstabellen wie der WHSWorkTable oder in Bestandsjournalen wie InventJournalTrans erfasst und mit dem Produktionsauftrag verknüpft wird. Erfassen Erfassen Sie den Buchungs-Timestamp des mit dem Produktionsauftrag verknüpften Kommissionierlistenjournals. Ereignistyp explicit | |||
| Produktionsauftrag angepasst | Dieses Ereignis steht für eine wesentliche Änderung am Produktionsauftrag nach dessen Freigabe, etwa eine Mengenänderung oder eine Terminänderung. Es wird durch den Vergleich wichtiger Felder vor und nach einer Änderung abgeleitet. | ||
| Warum das wichtig ist Häufige Anpassungen weisen auf instabile Planungen oder eine schwankende Nachfrage hin und führen zu Ineffizienzen und Nacharbeit. So lassen sich Häufigkeit und Auswirkungen dieser Änderungen quantifizieren. Bezugsquelle Das Ereignis wird durch die Analyse von Änderungsprotokollen oder den Vergleich von Snapshots des ProdTable-Datensatzes abgeleitet, beispielsweise für die Felder „QtySched“ oder „SchedEnd“, nachdem der Auftragsstatus „Released“ lautet. Erfassen Identifizieren Sie Änderungen an wichtigen Feldern, etwa Menge oder Terminen, in der ProdTable nach dem Timestamp des Ereignisses „Released“. Ereignistyp calculated | |||
| Produktionsauftrag kalkuliert | Diese Aktivität steht für die Berechnung des voraussichtlichen Materialverbrauchs und der Kosten des Produktionsauftrags. Sie ist ein wichtiger Planungsschritt, damit die finanziellen und materiellen Anforderungen vor der Ausführung bekannt sind. | ||
| Warum das wichtig ist Verzögerungen bei der Kalkulation können in der Planungsphase einen erheblichen Engpass darstellen. Die Nachverfolgung dieser Aktivität hilft, Ineffizienzen in der Kosten- und Materialplanung zu erkennen. Bezugsquelle Dieses Ereignis wird erfasst, wenn sich der Status des Produktionsauftrags in der ProdTable in „Estimated“ ändert. Ausgelöst wird es durch die Ausführung der Funktion „Estimate“ für den Auftrag. Erfassen Ermitteln Sie den Timestamp, an dem sich das Feld ProdStatus in der ProdTable in „Estimated“ ändert. Ereignistyp inferred | |||
| Produktionsauftrag storniert | Dieses Ereignis steht für die Stornierung eines Produktionsauftrags vor dessen Abschluss. Es handelt sich um ein alternatives, nicht erfolgreiches Ende des Prozesses. | ||
| Warum das wichtig ist Die Nachverfolgung von Stornierungen hilft, Ursachen für Prozessabbrüche zu erkennen, etwa Nachfrageänderungen oder Planungsfehler. Eine hohe Stornierungsquote kann auf systematische Probleme hinweisen. Bezugsquelle Dies ist ein aus einer Statusänderung abgeleiteter alternativer Endstatus. Der genaue Status kann abweichen. Häufig wird der Auftragsstatus auf einen früheren Status zurückgesetzt und der Auftrag als storniert gekennzeichnet. Erfassen Ermitteln Sie eine Statusänderung, die auf eine Stornierung hinweist. Dafür kann eine spezifische Analyse des Systems erforderlich sein. Ereignistyp inferred | |||
| Qualitätsauftrag erstellt | Zur Prüfung der Ergebnisse des Produktionsauftrags wurde ein Qualitätsauftrag erstellt. Dieses Ereignis kennzeichnet den Beginn der Qualitätssicherung für die produzierten Waren. | ||
| Warum das wichtig ist Die Nachverfolgung des Qualitätsprozesses ist wichtig, um die gesamte Durchlaufzeit zu verstehen. Verzögerungen bei der Qualitätsprüfung können verhindern, dass Waren versendet oder in nachfolgenden Prozessen verwendet werden. Bezugsquelle Dieses explizite Ereignis basiert auf der Erstellung eines Datensatzes in der InventQualityOrderTable, der auf den ursprünglichen Produktionsauftrag verweist. Erfassen Erfassen Sie den Erstellungs-Timestamp des mit der Produktionsauftrags-ID verknüpften Qualitätsauftrags in der InventQualityOrderTable. Ereignistyp explicit | |||
| Qualitätsprüfung bestanden | Dieses Ereignis steht für den erfolgreichen Abschluss und die Validierung eines mit dem Produktionslauf verknüpften Qualitätsauftrags. Damit wird bestätigt, dass die produzierten Artikel die erforderlichen Qualitätsstandards erfüllen. | ||
| Warum das wichtig ist Dies ist ein wichtiger Meilenstein im Qualitätsprozess. Die Dauer zwischen der Erstellung des Qualitätsauftrags und dem Bestehen der Prüfung zeigt die Effizienz des QA-Teams. Bezugsquelle Das Ereignis wird aus einer Statusänderung des Datensatzes in der InventQualityOrderTable in den Status „Pass“ abgeleitet. Der konkrete Statuswert kann abweichen. Erfassen Ermitteln Sie den Timestamp, an dem der Status des zugehörigen Datensatzes in der InventQualityOrderTable auf „Pass“ aktualisiert wird. Ereignistyp inferred | |||
| Vorgang abgeschlossen | Diese Aktivität kennzeichnet den Abschluss eines einzelnen Fertigungsvorgangs oder Prozessschritts in der Produktionsroute. Ein Produktionsauftrag umfasst in der Regel mehrere solcher Ereignisse. | ||
| Warum das wichtig ist Die Analyse der Zeit zwischen den Vorgängen hilft, Engpässe innerhalb des Produktionsprozesses zu erkennen. Sie ermöglicht eine detailliertere Betrachtung des Ablaufs in der Fertigung. Bezugsquelle Dieses explizite Ereignis wird durch die Buchung von Routenkartenjournalen (ProdJournalRoute) für jeden Vorgang erfasst und zeigt den Abschluss dieses Schritts an. Erfassen Erfassen Sie den Buchungs-Timestamp jedes mit dem Produktionsauftrag verknüpften ProdJournalRoute-Datensatzes. Ereignistyp explicit | |||
Extraktionsanleitungen
Schritte
- Zum Arbeitsbereich Datenverwaltung navigieren: Melden Sie sich bei Microsoft Dynamics 365 Finance and Operations an. Suchen Sie über die Suchleiste den Arbeitsbereich
Data managementund öffnen Sie ihn. - Neues Exportprojekt erstellen: Wählen Sie im Arbeitsbereich die Kachel
Export, um ein neues Datenexportprojekt zu erstellen. Vergeben Sie einen aussagekräftigen Namen, zum BeispielProcessMind_Production_Orders. - Exportdateiformat auswählen: Wählen Sie in der Projektkonfiguration das gewünschte Datenformat für den Export, zum Beispiel CSV oder Excel. Legen Sie die Option
Entityfest und geben Sie die Formatdetails an. Für Leistung und Kompatibilität wird CSV empfohlen. - Erforderliche Datenentitäten hinzufügen: Fügen Sie dem Projekt die erforderlichen Datenentitäten hinzu, um alle Ereignisse zu Produktionsaufträgen zu erfassen. Fügen Sie die folgenden Entitäten einzeln hinzu:
Produktionsaufträge,Production order route transactions,Inventory quality ordersundProduction picking list journal lines. Wählen Sie für jede Entität alle relevanten Felder gemäß dem Abschnitt query aus. - Datenfilter anwenden: Verwenden Sie für jede Entität die Option
Filtern, um den Umfang des Datenexports festzulegen. Filtern Sie mindestens nachCompany, um die richtige juristische Einheit auszuwählen. Es wird dringend empfohlen, zusätzlich einen Datumsbereich für ein wichtiges Datumsfeld festzulegen, etwaCreation datein der EntitätProduktionsaufträge, um das Datenvolumen auf einen überschaubaren Zeitraum wie die letzten sechs Monate zu begrenzen. - Inkrementelle Exporte konfigurieren (optional): Konfigurieren Sie das Projekt für laufende Analysen mit inkrementellen Exporten. Dazu können Sie Änderungen an den Quellentitäten verfolgen und nur seit dem letzten Export neu hinzugekommene oder geänderte Datensätze extrahieren. Dadurch verkürzt sich die Exportdauer deutlich.
- Exportauftrag ausführen: Starten Sie den Export nach der Konfiguration des Projekts, indem Sie im Aktionsbereich auf
Exportklicken. Sie können ihn sofort ausführen oder als wiederkehrenden Batchauftrag planen. - Exportierte Dateien herunterladen: Öffnen Sie nach erfolgreichem Abschluss des Exportauftrags die Auftragschronik. Laden Sie das Paket herunter. Es handelt sich um eine ZIP-Datei mit separaten Datendateien für jede einbezogene Entität.
- Daten in ein Event Log transformieren: Die exportierten Dateien enthalten Rohdaten aus Tabellen, jedoch kein formatiertes Event Log. Verwenden Sie ein externes Tool, etwa ein Python-Script, Power Query in Excel oder Power BI oder ein ETL-Tool, um die Daten aus diesen Dateien zu verarbeiten und zusammenzuführen. Wenden Sie die im Abschnitt query beschriebene Transformationslogik an, um Datums- und Statusfelder der verschiedenen Entitäten in eine einzelne Event-Log-Datei mit einer Zeile pro Aktivität zu überführen.
- Fertiges Event Log strukturieren: Stellen Sie sicher, dass die abschließend transformierte CSV-Datei die erforderlichen Spalten
ProductionOrderNumber,ActivityName,EventTime,SourceSystemundLastDataUpdatesowie alle empfohlenen Attribute enthält. Die Datei sollte eine Kopfzeile enthalten und für den Upload in ProcessMind bereit sein.
Konfiguration
- Wichtige Datenentitäten: Die Extraktion basiert auf dem Export mehrerer Entitäten, die später miteinander verknüpft werden. Die wichtigsten Entitäten sind
Production orders(ProdTable),Production order route transactions(ProdRouteTrans) undInventory quality orders(InventQualityOrderTable). - Filter für den Datumsbereich: Wenden Sie zur Begrenzung des Datenvolumens immer einen Datumsfilter an. Bewährt hat sich ein Filter der Entität
Production ordersnachCreation date(CREATEDDATETIME) für die letzten 3 bis 6 Monate. So erfassen Sie vollständige, aktuelle Prozesse, ohne das System zu überlasten. - Unternehmensfilter: Legen Sie unbedingt einen Filter für das konkrete Unternehmen beziehungsweise die juristische Einheit fest, die Sie analysieren möchten. Dies erfolgt über die Option
Filterfür jede Entität im Exportprojekt. - Vollständiger oder inkrementeller Export: Für die erste Extraktion ist ein vollständiger Export erforderlich. Für spätere Aktualisierungen empfiehlt es sich dringend, die Änderungsverfolgung für die Entitäten zu konfigurieren und inkrementelle Exporte durchzuführen. Das verbessert die Leistung und reduziert die Datenlast.
- Voraussetzungen: Der Benutzer, der den Export ausführt, benötigt geeignete Sicherheitsrollen, typischerweise
Data management administratoroder eine Rolle mit Berechtigungen für den Zugriff auf die erforderlichen Datenentitäten.
a Beispielabfrage 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 Schritte
- BYOD in Dynamics 365 konfigurieren: Stellen Sie sicher, dass die Funktion „Bring your own database“ in Ihrer Dynamics 365-Umgebung für Finance and Operations konfiguriert ist. Dazu richten Sie eine Azure SQL Database ein und konfigurieren den Datenexport aus Dynamics 365.
- Erforderliche Entitäten veröffentlichen: Öffnen Sie im Workspace „Data management“ den Bereich „Data entities“. Suchen und veröffentlichen Sie die folgenden wichtigen Entitäten in Ihrer BYOD-Datenbank: ProdTable, ProdRouteTrans, InventPickingListJour und InventQualityOrderTable. Konfigurieren Sie sie für den wiederkehrenden Export.
- Datensynchronisierung prüfen: Vergewissern Sie sich, dass die Daten der veröffentlichten Entitäten erfolgreich und regelmäßig mit Ihrer Azure SQL-Zieldatenbank synchronisiert werden. Prüfen Sie die Historie der Exportaufträge auf Fehler.
- Mit der BYOD-Datenbank verbinden: Verwenden Sie einen SQL-Client wie SQL Server Management Studio (SSMS) oder Azure Data Studio, um eine Verbindung mit der Azure SQL Database herzustellen, in der Ihre Dynamics-365-Daten gespeichert sind.
- SQL-Abfrage vorbereiten: Öffnen Sie ein neues Abfragefenster. Kopieren Sie die vollständige SQL-Abfrage aus diesem Dokument.
- Abfrageparameter festlegen: Suchen Sie in der Abfrage die Platzhaltervariablen. Ersetzen Sie
'{StartDate}','{EndDate}'und'{CompanyCode}'durch den gewünschten Datumsbereich und die DataAreaId des Unternehmens, das Sie analysieren möchten. - Abfrage ausführen: Führen Sie die angepasste SQL-Abfrage auf der BYOD-Datenbank aus. Die Ausführungszeit hängt vom Datenvolumen und dem festgelegten Datumsbereich ab.
- Ergebnisse prüfen: Prüfen Sie nach Abschluss der Abfrage, ob die Ausgabe die erwarteten Spalten und Daten für alle extrahierten Aktivitäten enthält. Das Ergebnis ist das Event Log.
- Event Log exportieren: Exportieren Sie die Abfrageergebnisse in eine CSV-Datei. Die meisten SQL-Clients bieten eine integrierte Funktion zum direkten Speichern der Ergebnisse in einer Datei.
- Für ProcessMind formatieren: Stellen Sie sicher, dass die exportierte CSV-Datei UTF-8-codiert ist und die Spaltenüberschriften den von ProcessMind benötigten Attributnamen entsprechen, etwa CaseId, Activity und Timestamp. Die bereitgestellte Abfrage verwendet bereits die richtigen Aliase.
Konfiguration
- Wichtige Datenentitäten: Die Abfrage setzt voraus, dass die folgenden Entitäten in Ihre BYOD-Instanz exportiert wurden:
PRODTABLE: Enthält die wichtigsten Kopfdaten und Statusinformationen der Produktionsaufträge.PRODROUTETRANS: Liefert Details zu einzelnen Produktionsoperationen und deren Abschluss.INVENTPICKINGLISTJOUR: Protokolliert die Materialentnahme für Produktionsaufträge.INVENTQUALITYORDERTABLE: Erfasst mit der Produktion verknüpfte Qualitätssicherungsaufträge.
- Datumsbereich: Beginnen Sie mit einem begrenzten Datumsbereich, beispielsweise 3 bis 6 Monaten, um eine überschaubare Abfrageleistung sicherzustellen. Die Abfrage verwendet das Erstellungsdatum des Produktionsauftrags (
CREATEDDATETIMEausPRODTABLE) als Filter. - Filter für den Unternehmenscode: Das Feld
DATAREAIDdient dazu, Daten für eine bestimmte juristische Einheit oder ein bestimmtes Unternehmen zu filtern. Ersetzen Sie den Platzhalter'{CompanyCode}'durch die relevante ID, zum Beispielusmf. - Voraussetzungen: Für diese Methode benötigen Sie Administratorzugriff auf Dynamics 365 Finance and Operations, um BYOD zu konfigurieren, sowie Contributor-Berechtigungen für die Azure SQL Database, um Abfragen auszuführen.
- Leistung: Bei sehr großen Datenmengen über mehrere Jahre oder Unternehmen hinweg sollten Sie die Abfrage außerhalb der Spitzenzeiten ausführen. Sie können die Extraktion auch in kleinere Zeiträume aufteilen und die Ergebnisse später zusammenführen.
a Beispielabfrage 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}'; Schritte
- Vergewissern Sie sich, dass Power BI Desktop oder ein anderes freigegebenes Tool mit Power Query verfügbar ist und der Benutzer zum Lesen der erforderlichen Microsoft Dynamics 365 Manufacturing-Datenentitäten berechtigt ist. Bestätigen Sie die Umgebungs-URL, den Geltungsbereich der juristischen Einheit oder Company sowie die freigegebene Authentifizierungsmethode.
- Wählen Sie in Power BI Desktop „Daten abrufen“ und anschließend den freigegebenen Dynamics 365-Konnektor oder die organisationsspezifische OData- bzw. Dataverse-Verbindung. Verwenden Sie [Your Dynamics 365 environment connection] und [Your credentials] entsprechend der Konfiguration durch Ihren Administrator. Gehen Sie nicht davon aus, dass in jeder Bereitstellung dieselbe Entität, derselbe Endpunkt oder derselbe Menüpfad verfügbar ist.
- Wählen Sie die Entität für den Kopf der Produktionsaufträge, die Entität für Produktionsauftragsvorgänge oder Arbeitspläne, die Entität für Materialentnahmen oder Entnahmelisten, die Entitäten für Produktionsbuchungen, die Entität für Qualitätsaufträge sowie alle freigegebenen Entitäten für Audit, Historie oder Änderungsverfolgung aus, die zur Ermittlung von Statusänderungen erforderlich sind. Ersetzen Sie jeden Quellverweis in der Abfrage durch die entsprechende Entität oder Abfrage aus Ihrer Umgebung.
- Konfigurieren Sie den Extraktionsumfang. Wenden Sie [Start date parameter], [End date parameter] und [Your company or legal entity filter] an. Beschränken Sie die Abfrage auf Produktionsaufträge der erforderlichen Werke, Produkte, Auftragstypen und Statuswerte. Behalten Sie die Quellzeitstempel bei, die zur Unterscheidung von Erstellung, Schätzung, Planung, Entnahme, Freigabe, Anpassung, Start, Abschluss eines Vorgangs, Rückmeldung als fertig, Qualität, Beendigung und Stornierung erforderlich sind.
- Vereinheitlichen Sie in Power Query die Namen und Datentypen der Quellspalten. Konvertieren Sie Ereigniszeitstempel in einen einheitlichen Datetime-Typ und normalisieren Sie Identifikatoren, Statuswerte, Company-Werte, Werkswerte, Produktnummern, Benutzer, Mengen und Prioritäten. Wenn ein Quellfeld nicht verfügbar ist, geben Sie einen Nullwert zurück, statt einen Wert zu erfinden. Verwenden Sie die Produktionsauftragsnummer als Case-ID.
- Erstellen Sie für jede Aktivität eine eigene Ereignistabelle. Jede Tabelle muss ProductionOrderNumber, ActivityName, EventTime, SourceSystem, LastDataUpdate, ProductionOrderStatus, PlannedStartDate, PlannedEndDate, UserId, ProductionPlant, ProductNumber, ProductionType, ActualQuantity und ProductionPriority zurückgeben. Der Aktivitätsname muss ein fester Wert sein und einem der 13 erforderlichen Namen entsprechen.
- Ermitteln Sie Production Order Adjusted ausschließlich aus einer freigegebenen Quelle für Vorher-Nachher-Daten, Historie, Audit oder Änderungsverfolgung. Vergleichen Sie relevante Felder wie Menge, geplante Daten, Status, Werk, Produkt und Priorität. Erzeugen Sie für jede qualifizierende Änderung eine Anpassungszeile mit dem erfassten Änderungszeitstempel. Leiten Sie eine Anpassung nicht allein aus dem aktuellen Snapshot des Produktionsauftrags ab.
- Führen Sie alle 13 Aktivitätstabellen mit UNION ALL zusammen. Entfernen Sie Zeilen ohne Produktionsauftragsnummer oder Ereigniszeitstempel, deduplizieren Sie jedoch keine legitimen wiederholten Vorgangsabschlüsse, Anpassungen oder Qualitätsereignisse. Sortieren Sie nach ProductionOrderNumber und EventTime. Verwenden Sie, sofern verfügbar, eine deterministische sekundäre Sortierung.
- Laden Sie die resultierende Tabelle in Power BI oder exportieren Sie sie als CSV oder in einem anderen von ProcessMind unterstützten Event-Log-Format. Stellen Sie sicher, dass die exportierten Kopfzeilen exakt ProductionOrderNumber, ActivityName, EventTime, SourceSystem, LastDataUpdate, ProductionOrderStatus, PlannedStartDate, PlannedEndDate, UserId, ProductionPlant, ProductNumber, ProductionType, ActualQuantity und ProductionPriority lauten.
- Prüfen Sie vor dem Upload in ProcessMind, ob jede erforderliche Aktivität als explizite Event-Log-Zeile enthalten ist, die Zeitstempel eine einheitliche Zeitzone verwenden, ProductionOrderNumber befüllt ist und LastDataUpdate die Aktualisierung der Extraktion angibt. ProcessMind liest das Event Log unverändert ein und leitet fehlende Ereignisse nicht ab.
Konfiguration
- Verbindung: Verwenden Sie den freigegebenen Power-Query-Konnektor und die freigegebene Authentifizierungsmethode für die Dynamics 365-Umgebung. Ersetzen Sie [Your Dynamics 365 environment connection] und [Your credentials] durch von Ihrer Organisation freigegebene Werte.
- Quellentitäten: Wählen Sie die im Umfeld verfügbaren Entitäten für Produktionsauftragskopf, Vorgang oder Arbeitsplan, Materialentnahme oder Entnahmeliste, Produktionsbuchung, Qualitätsauftrag sowie freigegebene Audit- oder Änderungsverfolgung aus. Namen und Verfügbarkeit der Entitäten unterscheiden sich je nach Bereitstellung und müssen im Metadatenbrowser bestätigt werden.
- Datumsbereich: Beginnen Sie mit einem Zeitraum von 3 bis 6 Monaten. Verwenden Sie nach Möglichkeit EventTime-Filter an der Quelle und erweitern Sie den Zeitraum, wenn Sie lang laufende Produktionsaufträge oder historische Statusübergänge prüfen.
- Company- und Werksfilter: Wenden Sie [Your company or legal entity filter] sowie, sofern erforderlich, den Filter für das Produktionswerk an. Verwenden Sie keinen allgemeinen Company-Filter, wenn die Umgebung mehrere juristische Einheiten mit sich überschneidenden Auftragsnummern enthält.
- Filter für Produktionsaufträge: Filtern Sie nach den erforderlichen Produktionsauftragstypen, Produkten, Werken, Statuswerten und Auftragsnummernbereichen. Schließen Sie stornierte oder beendete Aufträge nicht aus, wenn diese Ergebnisse für die Prozessanalyse erforderlich sind.
- Ereigniseinbindung: Behalten Sie wiederholte Vorgangsabschlüsse, Materialentnahmen, Qualitätsereignisse und Anpassungsereignisse bei. Reduzieren Sie das Log nicht auf eine Zeile pro Produktionsauftrag.
- Zeitzone: Konvertieren Sie alle Quellzeitstempel in eine dokumentierte Zeitzone. Bewahren Sie den Quellzeitstempel oder den Zeitzonenoffset auf, sofern die Quelle diese Informationen bereitstellt.
- Aktualisierungsmetadaten: Befüllen Sie LastDataUpdate für jede Zeile mit dem Zeitstempel der Aktualisierung oder Extraktion. Ein einheitlicher Aktualisierungszeitstempel ist zulässig, wenn der gesamte Datensatz in einer Aktualisierung extrahiert wird.
- Leistung: Übertragen Sie Datums-, Company-, Werks- und Auftragsfilter an die Quelle. Wählen Sie nur erforderliche Spalten aus, vermeiden Sie unnötige Zusammenführungen, stellen Sie wiederverwendbare Quellabfragen bereit und ziehen Sie bei großen Datenmengen eine inkrementelle Aktualisierung in Betracht.
- Voraussetzungen: Power BI Desktop oder ein freigegebener Power-Query-Host, Netzwerkzugriff auf die Dynamics 365-Umgebung, gültige Leseberechtigungen für alle ausgewählten Entitäten sowie gegebenenfalls erforderliche Zugriffsrechte für Dynamics 365 Manufacturing, Lager, Qualität, Audit oder Änderungsverfolgung.
- Konfigurationsabhängige Daten: Wenn eine erforderliche Ereignisquelle nicht aktiviert ist, verwenden Sie [Configure based on your system] und dokumentieren Sie die fehlende Quelle. Ersetzen Sie historische Ereignisse nicht durch einen aktuellen Status-Snapshot.
a Beispielabfrage 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 Bereit für den Start?
Mit diesem umfassenden Template verfügen Sie über alles, was Sie benötigen, um Ihre Daten zur Produktionsplanung zu extrahieren und zu analysieren. Beginnen Sie noch heute damit, Ihre Abläufe auf maximale Effizienz auszurichten.
Maximale Effizienz erreichen: Produktionsplanung jetzt optimieren
Erkennen Sie Bottlenecks und verkürzen Sie die Produktionszykluszeit um 30 % oder mehr.
Keine Kreditkarte erforderlich, Einrichtung in wenigen Minuten.