Ihr Daten-Template für die Produktionsplanung
Ihr Daten-Template für die Produktionsplanung
- Empfohlene Attribute für die Datenerfassung
- Wichtige Aktivitäten für die Nachverfolgung
- Anleitung zur Datenextraktion aus Microsoft Dynamics 365 Manufacturing
Attribute der Produktionsplanung
| Name | Beschreibung | ||
|---|---|---|---|
| Produktionsauftrag ProductionOrderNumber | Die eindeutige Kennung eines Produktionsauftrags. Sie dient als primäre Case-ID, um alle zugehörigen Planungs- und Ausführungsaktivitäten nachzuverfolgen. | ||
| Beschreibung Die Produktionsauftragsnummer, in Microsoft Dynamics 365 häufig als ProdId bezeichnet, ist die zentrale Kennung, die alle Events, Materialien, Ressourcen und Kosten eines bestimmten Fertigungsauftrags miteinander verknüpft. Sie ermöglicht eine durchgängige Analyse des gesamten Lebenszyklus der Produktionsplanung und -ausführung für einen einzelnen Arbeitsauftrag. Beim Process Mining ist dieses Attribut unverzichtbar, um zusammengehörige Events zu einem Case zusammenzufassen. Die Analyse nach Produktionsauftragsnummer hilft, Engpässe, Verzögerungen und Abweichungen vom standardmäßigen Produktionsablauf zu erkennen, von der Erstellung und Terminierung bis zum Abschluss und zur Kostenberechnung. Warum das wichtig ist Dies ist die grundlegende Case-Kennung. Sie ist entscheidend, um alle zugehörigen Events zusammenzufassen und den gesamten Produktionsplanungsprozess für die Analyse zu rekonstruieren. Woher beziehen 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äftsereignisses oder Prozessschritts innerhalb der Produktionsplanung. | ||
| Beschreibung Der Aktivitätsname bezeichnet einen einzelnen Schritt im Lebenszyklus der Produktionsplanung, beispielsweise „Produktionsauftrag erstellt“, „Material für die Produktion kommissioniert“ oder „Produktion gestartet“. Diese Aktivitäten bilden die Bausteine des Prozessmodells. Durch die Analyse der Abfolge und Dauer dieser Aktivitäten lässt sich der Prozessablauf visualisieren. So können Sie häufige Abläufe erkennen, Nacharbeitsschleifen aufdecken und die Zeit in den einzelnen Phasen messen. Dieses Attribut ist entscheidend, um zu verstehen, was an jedem Punkt des Prozesses geschieht. Warum das wichtig ist Dieses Attribut legt die Prozessschritte fest und ermöglicht so den Aufbau eines Prozessmodells sowie die Analyse von Prozessabläufen, Abweichungen und Engpässen. Woher beziehen Dieser Wert stammt üblicherweise aus Event-Logs oder wird durch die Zuordnung verschiedener Statusänderungen und Transaktionstypen in Tabellen wie „ProdRouteTrans“ und „ProdJournalBOM“ sowie von Änderungen an den Statusfeldern 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 Uhrzeit einer bestimmten Aktivität. Diese Daten sind die Grundlage für alle zeitbasierten Process-Mining-Analysen. Dazu gehören die Berechnung von Zykluszeiten, das Erkennen von Verzögerungen zwischen Schritten und die Analyse der Prozessleistung im Zeitverlauf. In der Produktionsplanung dient dieses Attribut dazu, Zeitspannen wie die Vorlaufzeit der Planung, Verzögerungen beim Produktionsstart und die gesamte Auftragsdurchlaufzeit zu messen. Korrekte, chronologisch geordnete Timestamps sind entscheidend für ein aussagekräftiges Prozessmodell. Warum das wichtig ist Dieser Timestamp ist unverzichtbar, um Events zeitlich zu ordnen, die Dauer zwischen Aktivitäten zu berechnen und zeitbasierte Analysen wie die Zykluszeit oder die Ermittlung von Engpässen durchzuführen. Woher beziehen Der Timestamp findet sich in verschiedenen Transaktionstabellen, beispielsweise als „createdDateTime“ in der „ProdTable“ oder in den Datumsfeldern der 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 Event zuletzt aktualisiert oder aus dem Quellsystem extrahiert wurden. | ||
| Beschreibung Dieses Attribut enthält Datum und Uhrzeit des letzten Datenabrufs aus dem Quellsystem. Als Metadatenfeld ist es entscheidend, um die Aktualität der Analyse einzuschätzen. Anhand des Zeitpunkts der letzten Aktualisierung können Analysten und Fachanwender besser beurteilen, wie aktuell die Erkenntnisse aus dem Process-Mining-Tool sind. Das Attribut zeigt, ob die Dashboards Echtzeitinformationen oder Daten aus einem früheren Zeitraum enthalten. Das ist wichtig für operative Entscheidungen. Warum das wichtig ist Dieses Attribut ist wichtig für Data Governance. Es zeigt Benutzern, wie aktuell die Daten sind, und hilft ihnen, die Aktualität der Prozesserkenntnisse einzuschätzen. Woher beziehen Dieser Timestamp wird während des ETL-Prozesses (Extraktion, Transformation und Laden) generiert 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 gibt an, aus welchem Informationssystem die Event-Daten stammen. In dieser Prozessansicht lautet der Wert durchgehend „Microsoft Dynamics 365 Manufacturing“. In Umgebungen mit mehreren integrierten Systemen ist dieses Feld wichtig, um die Datenherkunft nachzuvollziehen, Probleme mit der Datenqualität zu beheben und den Beitrag der einzelnen Systeme zum Gesamtprozess zu verstehen. So bleibt klar, woher die analysierten Daten stammen. Warum das wichtig ist Das Attribut liefert wichtige Informationen zur Herkunft der Daten. Diese sind für Data Governance, Validierung und die Verwaltung von Datenpipelines aus mehreren Unternehmenssystemen unverzichtbar. Woher beziehen Dieser statische Wert sollte bei der Datenextraktion und -transformation hinzugefügt werden, 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 gibt an, welcher Mitarbeiter oder welches Systemkonto einen bestimmten Prozessschritt ausgeführt hat, etwa die Freigabe eines Auftrags oder die Meldung seines Abschlusses. So wird nachvollziehbar, wer die einzelnen Arbeiten im Prozess ausführt. Eine Analyse nach Benutzer hilft, die Arbeitslast zu verteilen, Schulungsbedarf zu erkennen und die Leistung einzelner Personen oder Teams zu vergleichen. Sie erleichtert auch die Untersuchung von Abweichungen, die durch bestimmte Benutzer verursacht wurden. Zudem ist sie für Compliance und Prüfpfade wichtig. Warum das wichtig ist Damit lässt sich die Prozessleistung nach Benutzer oder Team analysieren. Die Auswertung hilft, Automatisierungsmöglichkeiten zu erkennen und wichtige Prozessaktivitäten nachvollziehbar zu dokumentieren. Woher beziehen Zu finden in Feldern wie „modifiedBy“ oder „createdBy“ verschiedener Tabellen sowie in Benutzerfeldern von Transaktionsprotokolltabellen wie „ProdJournalTable“. Beispiele j.smithm.jonesAX_BATCH_SVC | |||
| Geplanter Starttermin PlannedStartDate | Datum und Uhrzeit, zu der der Start des Produktionsauftrags geplant ist. | ||
| Beschreibung Das geplante Startdatum ist ein wichtiges Ergebnis der Terminplanung. Es gibt an, wann die Produktion eines Auftrags beginnen soll. Bei der Festlegung werden die Materialverfügbarkeit, die Kapazität der Ressourcen und die Bedarfstermine berücksichtigt. Dieses Attribut ist entscheidend, um die Einhaltung des Produktionsplans zu analysieren. Vergleichen Unternehmen das geplante Startdatum mit dem tatsächlichen Produktionsbeginn, der über den Timestamp der Aktivität „Produktion gestartet“ erfasst wird, können sie die Termintreue messen, Verzögerungsursachen ermitteln und Kennzahlen wie die Einhaltungsquote des Produktionsplans berechnen. Warum das wichtig ist Der Wert dient als Grundlage, um die Einhaltung des Produktionsplans zu messen und Verzögerungen zwischen Planung und tatsächlichem Produktionsbeginn zu erkennen. Woher beziehen Dies ist das Feld „SchedStart“ in der Tabelle „ProdTable“. Beispiele 2023-04-18T08:00:00Z2023-04-19T08:00:00Z2023-04-20T08:00:00Z | |||
| Geplantes Enddatum PlannedEndDate | Datum und Uhrzeit, zu der der Produktionsauftrag voraussichtlich abgeschlossen sein soll. | ||
| Beschreibung Das geplante Enddatum gibt den vom Planungssystem festgelegten Zielzeitpunkt für den Abschluss eines Produktionsauftrags an. Bei der Berechnung werden Bearbeitungszeiten, Ressourcenkalender und Durchlaufzeiten berücksichtigt, um vorherzusagen, wann die Fertigerzeugnisse bereitstehen. In der Prozessanalyse ist dieses Attribut entscheidend, um die termingerechte Fertigstellung zu bewerten. Durch den Vergleich des geplanten Enddatums mit dem tatsächlichen Abschluss-Timestamp aus der Aktivität „Produktion als fertig gemeldet“ oder „Produktionsauftrag beendet“ lässt sich die Kennzahl zur termingerechten Fertigstellung der Produktion berechnen. Außerdem können systematische Ursachen für verspätete Lieferungen ermittelt werden. Warum das wichtig ist Dieses Attribut dient als Vergleichsgröße für die termingerechte Fertigstellung und die Analyse der Genauigkeit der Produktionsplanung. Woher beziehen Dies ist das Feld „SchedEnd“ in der Tabelle „ProdTable“. Beispiele 2023-04-25T17:00:00Z2023-04-26T17:00:00Z2023-04-27T17:00:00Z | |||
| Produktionsart ProductionType | Die Klassifizierung des Produktionsauftrags, zum Beispiel als Standardauftrag, Nacharbeit oder projektbezogener Auftrag. | ||
| Beschreibung Die Produktionsart ordnet den Auftrag nach seinem Zweck ein. Ein „Standard“-Auftrag dient beispielsweise der regulären Lagerproduktion. Bei einem „Nacharbeits“-Auftrag werden Mängel an einem bereits hergestellten Artikel behoben. Ein „Projekt“-Auftrag ist einem bestimmten Kundenprojekt zugeordnet. Dieses Attribut ist wichtig, um vergleichbare Auswertungen zu erstellen. Der Ablauf eines Nacharbeitsauftrags unterscheidet sich grundsätzlich von dem eines Standardauftrags. Werden Prozesse nach Produktionsart aufgeschlüsselt, bleiben Vergleiche aussagekräftig und die besonderen Herausforderungen und Abläufe der einzelnen Arten werden verständlich. Warum das wichtig ist Mit diesem Attribut lässt sich die Analyse aufschlüsseln. Auftragsarten wie „Standard“ und „Nacharbeit“ folgen unterschiedlichen Abläufen und haben unterschiedliche Leistungserwartungen. Woher beziehen Dies ist das Feld „ProdType“ in der Tabelle „ProdTable“. Beispiele StandardNacharbeitProjekt | |||
| Produktionsauftragsstatus ProductionOrderStatus | Gibt den aktuellen Status des Produktionsauftrags im Lebenszyklus an. | ||
| Beschreibung Der Produktionsauftragsstatus zeigt den Fortschritt des Auftrags im Fertigungslebenszyklus. Zu den gängigen Statuswerten in Dynamics 365 gehören „Erstellt“, „Kalkuliert“, „Terminiert“, „Freigegeben“, „Gestartet“, „Als fertig gemeldet“ und „Abgeschlossen“. Dieses Attribut zeigt den aktuellen Stand jedes Auftrags. Beim Process Mining sind Statusänderungen eine wichtige Grundlage, um Aktivitäten zu definieren und den Prozessablauf zu verstehen. Sie können nach Aufträgen in einem bestimmten Status filtern, die Dauer in den einzelnen Statuswerten analysieren und Aufträge erkennen, die feststecken oder sich verzögern. Warum das wichtig ist Dieses Attribut gibt einen Überblick über den Fortschritt eines Auftrags. Es ist wichtig, um Aufträge zu filtern, eine Konformitätsprüfung durchzuführen und die Dauer in den einzelnen Produktionsphasen zu analysieren. Woher beziehen Dies ist das Feld „ProdStatus“ in der Tabelle „ProdTable“. Beispiele TerminiertFreigegebenGestartetAbgeschlossen | |||
| Produktionspriorität ProductionPriority | Eine Einstufung, die Dringlichkeit oder Priorität des Produktionsauftrags angibt. | ||
| Beschreibung Planer und Disponenten verwenden die Produktionspriorität, um die Reihenfolge der Arbeiten in der Fertigung zu steuern. Aufträge mit höherer Priorität können vorgezogen werden und dadurch die geplante Reihenfolge anderer Aufträge verändern. Die Analyse dieses Attributs zeigt, wie oft dringende oder vorgezogene Aufträge die Produktionsplanung verändern. Änderungen der Priorität während der Laufzeit eines Auftrags können auf eine schwankende Nachfrage oder Probleme bei der Planung hinweisen. Das Attribut ist eine wichtige Grundlage für das Dashboard „Trends bei vorgezogenen Produktionsaufträgen“ und die Kennzahl „Anteil vorgezogener Produktionsaufträge“. Warum das wichtig ist Damit lassen sich Häufigkeit und Auswirkungen vorgezogener Aufträge ermitteln. Sie können auf eine instabile Planung oder eine reaktive Steuerung des Betriebs hinweisen. Woher beziehen Dies kann ein Standard- oder benutzerdefiniertes Feld in „ProdTable“ sein. Die Konfiguration hängt häufig vom jeweiligen Unternehmen ab. Beispiele NormalHochDringend | |||
| Produktionsstandort ProductionPlant | Der Fertigungsstandort, an dem der Produktionsauftrag ausgeführt wird. | ||
| Beschreibung Der Produktionsstandort bezeichnet den physischen Ort oder Betrieb, an dem die Fertigung stattfindet. Er ist eine wichtige organisatorische Dimension, um die Produktionsleistung aufzuschlüsseln und zu vergleichen. Beim Process Mining ermöglicht dieses Attribut den Vergleich verschiedener Standorte. Analysten können Durchlaufzeiten, Ressourcenauslastung und die Einhaltung von Standardprozessen gegenüberstellen, um bewährte Vorgehensweisen zu erkennen oder Standorte mit Verbesserungsbedarf zu ermitteln. Für die Analyse der Kapazitätsauslastung ist es ebenfalls wichtig. Warum das wichtig ist So lassen sich die Leistungen verschiedener Fertigungsstandorte vergleichen und bewerten. Dabei werden bewährte Vorgehensweisen und standortspezifische Probleme sichtbar. Woher beziehen Dies ist das Feld „InventSiteId“ in der Tabelle „ProdTable“. Beispiele STANDORT-ASTANDORT-BHauptlager | |||
| Produktnummer ProductNumber | Die eindeutige Kennung des hergestellten Artikels. | ||
| Beschreibung Die Produktnummer, auch Artikel-ID genannt, bezeichnet das Fertigerzeugnis, das mit dem Produktionsauftrag hergestellt werden soll. Sie verknüpft den Produktionsprozess mit dem jeweiligen Produkt sowie dessen Stückliste und Arbeitsplan. Eine Analyse nach Produktnummer macht produktspezifische Unterschiede im Fertigungsprozess sichtbar. Sie kann zeigen, dass bestimmte Produkte längere Durchlaufzeiten haben, häufiger nachbearbeitet werden müssen oder öfter von Verzögerungen betroffen sind. Diese Erkenntnisse helfen Produkt- und Prozessingenieuren bei ihrer Arbeit. Warum das wichtig ist Damit lassen sich Prozessabweichungen nach dem hergestellten Produkt analysieren und produktspezifische Engpässe oder Qualitätsprobleme erkennen. Woher beziehen Dies ist das Feld „ItemId“ in der Tabelle „ProdTable“. Beispiele FG-1001FG-2050ASSY-500B | |||
| Tatsächliche Menge ActualQuantity | Die Menge der Waren, die für den Auftrag erfolgreich hergestellt und als fertig gemeldet wurde. | ||
| Beschreibung Die tatsächliche Menge gibt an, wie viele Einheiten eines Produktionsauftrags fertiggestellt und bei der Qualitätsprüfung freigegeben wurden. Der Wert wird erfasst, wenn die Produktion als fertig gemeldet wird. Dieses Attribut dient zur Analyse von Produktionsertrag und Effizienz. Der Vergleich der tatsächlichen mit der geplanten Menge hilft, Ausschussquoten zu berechnen und Produktionsverluste zu verstehen. Es ist außerdem eine wichtige Grundlage für Durchsatzanalysen und Dashboards zur Kapazitätsauslastung. Warum das wichtig ist Der Wert ist wichtig, um Produktionsertrag, Ausschussquoten und tatsächlichen Durchsatz zu berechnen und so Effizienz und Leistung der Fertigung zu beurteilen. Woher beziehen Der Wert stammt häufig aus dem Feld „QtyGood“ in „ProdTable“ oder aus zugehörigen Buchungstabellen, wenn ein Auftrag als fertig gemeldet wird. Beispiele 100985000 | |||
| Endzeit EndTime | Der genaue Timestamp, zu dem die Aktivität abgeschlossen wurde. | ||
| Beschreibung Die Endzeit gibt an, wann eine bestimmte Aktivität abgeschlossen wurde. Während die Startzeit den Beginn markiert, wird die Endzeit benötigt, um die tatsächliche Dauer oder Verarbeitungszeit dieses einzelnen Schritts zu ermitteln. Sind für Aktivitäten sowohl Start- als auch Endzeit vorhanden, lässt sich die Wartezeit genauer von der Verarbeitungszeit abgrenzen. So wird sichtbar, wie lange aktiv an einer Aktivität gearbeitet wurde und wie lange bis zum nächsten Schritt gewartet werden musste. Das ist für eine detaillierte Engpassanalyse entscheidend. Warum das wichtig ist Damit lässt sich die Verarbeitungszeit einer Aktivität berechnen und von der Wartezeit abgrenzen. Das ermöglicht eine genauere Engpassanalyse. Woher beziehen Die Endzeit wird häufig abgeleitet. So kann beispielsweise die Endzeit von „Produktion gestartet“ der Startzeit von „Vorgang abgeschlossen“ entsprechen. In manchen Protokollen 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, die hergestellt werden soll. | ||
| Beschreibung Die geplante Menge ist die Zielanzahl der Einheiten, die für einen Produktionsauftrag hergestellt werden sollen. Sie richtet sich in der Regel nach dem Bedarf aus Kundenaufträgen, dem Sicherheitsbestand oder der Absatz- und Produktionsplanung. Dieses Attribut dient als Grundlage für Kennzahlen wie Produktionsertrag und Ausschuss. Durch den Vergleich der geplanten Menge mit der tatsächlich hergestellten Menge können Planer die Produktionseffizienz und Materialabweichungen überwachen. Der Wert ist eine zentrale Datengrundlage für die Kapazitäts- und Materialbedarfsplanung. Warum das wichtig ist Diese Menge dient als Grundlage zur Messung von Produktionsertrag und Ausschussquote im Vergleich zur tatsächlich hergestellten Menge. Woher beziehen 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, ob die für die Produktion benötigten Komponenten bereitstehen. Mögliche Statuswerte sind „Verfügbar“, „Bestellt“ oder „Fehlbestand“. Anhand dieser Information können Disponenten beurteilen, ob ein Produktionsauftrag wie geplant beginnen kann. Beim Process Mining ist das Attribut wichtig, um die Ursachen für Verzögerungen beim Produktionsstart zu ermitteln. Wird der Status mit der Zeit zwischen „Produktionsauftrag freigegeben“ und „Produktion gestartet“ verglichen, lässt sich der Einfluss von Materialengpässen auf die Einhaltung des Produktionsplans und die gesamte Durchlaufzeit quantifizieren. Das unterstützt direkt das Dashboard „Auswirkungen von Verzögerungen durch Materialengpässe“. Warum das wichtig ist Das Attribut hilft, Verzögerungen beim Produktionsstart durch Materialengpässe zu verstehen und zu quantifizieren. So lässt sich die Leistung der Lieferkette mit der Effizienz der Fertigung in Beziehung setzen. Woher beziehen Dieser Status liegt häufig nicht als einzelnes Feld vor. Er wird abgeleitet, indem die verfügbaren Lagerbestände aller Artikel in der Stückliste des Produktionsauftrags anhand der Tabelle „InventSum“ geprüft werden. Beispiele Vollständig verfügbarTeilweise fehlendNicht verfügbar | |||
| Produktionslinie ProductionLine | Die Produktionslinie, der Arbeitsplatz oder die Ressourcengruppe, die dem Produktionsauftrag zugeordnet ist. | ||
| Beschreibung Die Produktionslinie bezeichnet die konkrete Maschine, Fertigungszelle oder Ressourcengruppe, die die Fertigungsschritte ausführt. Sie bietet eine detailliertere Sicht als der Produktionsstandort. Eine Analyse nach Produktionslinie ist für die detaillierte Untersuchung von Kapazität und Auslastung entscheidend. Sie zeigt überlastete Arbeitsplätze, ermöglicht den Effizienzvergleich verschiedener Linien für dasselbe Produkt und macht ressourcenspezifische Engpässe sichtbar, die auf Standortebene verborgen bleiben können. Warum das wichtig ist Damit lassen sich Ressourcenauslastung und Leistung detailliert analysieren. So werden überlastete Arbeitsplätze und ineffiziente Produktionslinien sichtbar. Woher beziehen Diese Information steht häufig im Feld „WrkCtrId“ der Fertigungsauftragsvorgänge in den Tabellen „ProdRoute“ oder „ProdRouteTrans“. Beispiele LINIE-01LINIE-02CNC-A | |||
| Pünktlicher Start ProductionScheduleAdherence | Ein boolescher Wert, der wahr ist, wenn der Produktionsauftrag am geplanten Startdatum oder früher begonnen hat. | ||
| Beschreibung Dieses berechnete Attribut zeigt mit einem einfachen Ja-Nein-Wert an, ob der Produktionsstart planmäßig erfolgte. Dazu wird der tatsächliche Start-Timestamp des Ereignisses „Produktion gestartet“ mit dem Attribut „PlannedStartDate“ verglichen. Der Wert eignet sich besonders für übersichtliche Dashboards und Kennzahlen wie die „Einhaltungsquote des Produktionsplans“. Durch einfaches Filtern und Aggregieren lässt sich ermitteln, welcher Anteil der Aufträge pünktlich beginnt und welche Merkmale verspätete Aufträge aufweisen. Ein direkter Datumsvergleich im Analysetool ist dafür nicht erforderlich. Warum das wichtig ist Das vereinfacht Berichte und die Berechnung von Kennzahlen zur Einhaltung des Produktionsplans. Pünktliche und verspätete Aufträge lassen sich einfach filtern und aggregieren. Woher beziehen Dies ist eine berechnete Kennzahl. Die Logik lautet: EventTime von „Produktion gestartet“ <= PlannedStartDate. Beispiele truefalse | |||
| Qualitätsauftragsnummer 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 Qualitätsauftrag erstellt. Dieses Attribut verknüpft den Produktionsprozess mit der Qualitätssicherung und erfasst die ID des zugehörigen Qualitätsauftrags. Durch diese Verknüpfung lässt sich der gesamte Prozess einschließlich der Schritte des Qualitätsmanagements betrachten. So können Sie analysieren, wie Qualitätsprüfungen die Durchlaufzeiten der Produktion beeinflussen, Verzögerungen im Qualitätsprozess erkennen und die Häufigkeit von Qualitätsprüfungen für verschiedene Produkte oder Produktionslinien ermitteln. Warum das wichtig ist Das Attribut verknüpft den Produktionsprozess mit der Qualitätssicherung. So lässt sich analysieren, wie Qualitätsprüfungen die gesamten Durchlaufzeiten beeinflussen. Woher beziehen Diese Information wird in Tabellen des Qualitätsmanagements gespeichert, zum Beispiel in „InventQualityOrderTable“, und muss mit dem Produktionsauftrag verknüpft werden. Beispiele QO-00123QO-00124QO-00125 | |||
| Revisionsnummer ProductionOrderRevisionNumber | Gibt an, wie oft ein Produktionsplan nach seiner erstmaligen Erstellung angepasst wurde. | ||
| Beschreibung Dieses Attribut erfasst, wie oft ein Produktionsauftrag nach der Planung oder Freigabe überarbeitet oder wesentlich geändert wurde, etwa hinsichtlich Menge, Terminen oder Arbeitsplan. Ein höherer Wert weist auf eine größere Instabilität der Planung hin. Der Wert misst direkt die Kennzahl „Revisionsquote des Produktionsplans“. Die Analyse hilft, Ursachen für Planungsinstabilität zu erkennen, etwa häufige Bedarfsänderungen oder ungenaue Erstplanungen. Sie quantifiziert den Aufwand für Nacharbeit und Umplanung, der häufig zu Ineffizienzen führt. Warum das wichtig ist Der Wert misst direkt die Stabilität der Planung und unterstützt die Kennzahl „Revisionsquote des Produktionsplans“. Er macht Prozesse mit übermäßig vielen Änderungen und Nacharbeiten sichtbar. Woher beziehen Dieses abgeleitete Attribut wird berechnet, indem für jeden Case die Aktivitäten „Produktionsauftrag angepasst“ gezählt werden. Beispiele 012 | |||
| Verzögerung bis zum Produktionsstart ProductionStartDelay | Die Zeit zwischen der Freigabe des Auftrags und dem tatsächlichen Produktionsbeginn. | ||
| Beschreibung Diese berechnete Dauer misst die Warte- oder Warteschlangenzeit in der Fertigung. Sie entspricht der Zeit zwischen den Aktivitäten „Produktionsauftrag freigegeben“ und „Produktion gestartet“. Die Kennzahl ist wichtig für das Dashboard „Analyse von Verzögerungen bei der Ressourcenzuweisung“. Sie zeigt Verzögerungen auf, die entstehen, nachdem die Planung abgeschlossen und der Auftrag ausführungsbereit ist. Hohe Werte können auf Probleme mit der Ressourcenverfügbarkeit, der Materialbereitstellung oder dem Informationsfluss zur Fertigung hinweisen. Damit wird ein konkreter Ansatzpunkt für betriebliche Verbesserungen sichtbar. Warum das wichtig ist Die Kennzahl misst genau die Verzögerung zwischen der Auftragsbereitschaft und dem Produktionsstart. So lassen sich Engpässe bei der Ressourcenverfügbarkeit oder der Einsatzbereitschaft der Fertigung erkennen. Woher beziehen Dies ist eine berechnete Kennzahl: Timestamp(„Produktion gestartet“) - Timestamp(„Produktionsauftrag freigegeben“). 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 Event zeigt an, dass die angegebene Produktmenge physisch fertiggestellt und als Fertigerzeugnis im Bestand erfasst wurde. Diese wichtige Statusänderung löst Lagerbuchungen aus. | ||
| Warum das wichtig ist Damit ist die physische Produktion abgeschlossen. Dieser Zeitpunkt ist entscheidend für die Berechnung termingerecht abgeschlossener Aufträge, der tatsächlichen Produktionsdauer und des Durchsatzes. Woher beziehen Dieses Event wird erfasst, wenn sich der Status des Produktionsauftrags in der ProdTable in „Als fertig gemeldet“ ändert. Ausgelöst wird es durch die Buchung eines Journals für die Fertigmeldung. Erfassung Ermitteln Sie den Timestamp, zu dem sich das Feld ProdStatus in der ProdTable in „Als fertig gemeldet“ ändert. Ereignistyp inferred | |||
| Produktion gestartet | Diese Aktivität markiert den Beginn der tatsächlichen Fertigungsarbeit für den Auftrag. Sie wird häufig erfasst, wenn der erste Arbeitsgang oder Auftrag über ein Fertigungsterminal gestartet oder ein Journal gebucht wird. | ||
| Warum das wichtig ist Diese Aktivität liefert den tatsächlichen Produktionsstart. Dieser ist entscheidend, um Startverzögerungen, die Einhaltung des Produktionsplans und die tatsächlichen Durchlaufzeiten zu berechnen. Woher beziehen Dieses Event wird erfasst, wenn sich der Status des Produktionsauftrags in der ProdTable in „Gestartet“ ändert. Häufig wird es durch die Buchung eines Arbeitskarten- oder Arbeitsplankartenjournals für den ersten Arbeitsgang ausgelöst. Erfassung Ermitteln Sie den Timestamp, zu dem sich das Feld ProdStatus in der ProdTable in „Gestartet“ ändert. Ereignistyp inferred | |||
| Produktionsauftrag abgeschlossen | Dies ist die letzte Aktivität und steht für den finanziellen Abschluss des Produktionsauftrags. Alle Kosten wurden berechnet und gebucht. Weitere Buchungen 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 „Als fertig gemeldet“ und „Abgeschlossen“ können auf Probleme bei der Kostenrechnung oder beim finanziellen Abschluss hinweisen. Woher beziehen Diese abschließende Statusänderung wird erfasst, wenn das Feld „ProdStatus“ in der „ProdTable“ auf „Abgeschlossen“ gesetzt wird. Ausgelöst wird sie durch die Kostenberechnung und den Abschluss des Auftrags. Erfassung Ermitteln Sie den Timestamp, zu dem sich das Feld ProdStatus in der ProdTable in „Abgeschlossen“ ändert. Ereignistyp inferred | |||
| Produktionsauftrag erstellt | Bei dieser Aktivität wird ein Produktionsauftrag angelegt, der den Bedarf für eine bestimmte Produktmenge verbindlich festhält. Dies wird üblicherweise erfasst, wenn ein geplanter Produktionsauftrag bestätigt und mit einer eindeutigen ID im System angelegt wird. | ||
| Warum das wichtig ist Dies ist das primäre Start-Event des Produktionsprozesses. Die Zeitspanne von der Erstellung bis zu den folgenden Schritten zeigt die gesamte Vorlaufzeit und Effizienz der Planung. Woher beziehen Dieses Event wird anhand des Erstellungs-Timestamps des Produktionsauftragsdatensatzes in der ProdTable abgeleitet. Der anfängliche Status lautet üblicherweise „Erstellt“. Erfassung Erfassen Sie den Erstellungs-Timestamp eines neuen Eintrags in der ProdTable, dessen ProdStatus den Wert „Erstellt“ hat. Ereignistyp inferred | |||
| Produktionsauftrag freigegeben | Diese Aktivität zeigt an, dass der Produktionsauftrag freigegeben und für die Ausführung in der Fertigung autorisiert wurde. Dabei handelt es sich um einen wichtigen Meilenstein, bei dem Dokumente wie Arbeitskarten und Arbeitsplankarten bereitgestellt werden. | ||
| Warum das wichtig ist Dies ist die offizielle Übergabe von der Planung an die Ausführung. Die Zeit zwischen „Terminiert“ und „Freigegeben“ kann auf Verzögerungen bei der Freigabe oder abschließenden Prüfungen hinweisen. Die Zeit von „Freigegeben“ bis „Gestartet“ zeigt, wie schnell die Fertigung bereit ist. Woher beziehen Dieses Event wird erfasst, wenn sich der Status des Produktionsauftrags in der ProdTable in „Freigegeben“ ändert. Die Änderung wird durch eine manuelle oder automatisierte Benutzeraktion ausgelöst. Erfassung Ermitteln Sie den Timestamp, zu dem sich das Feld ProdStatus in der ProdTable in „Freigegeben“ ändert. Ereignistyp inferred | |||
| Produktionsauftrag terminiert | Bei dieser Aktivität wird der Produktionsauftrag terminiert. Dabei werden den Arbeitsgängen bestimmte Ressourcen, Daten und Uhrzeiten zugewiesen. Der Schritt kann die Terminierung von Arbeitsgängen oder eine detailliertere Auftragsplanung umfassen. | ||
| Warum das wichtig ist Die Terminierung ist entscheidend für die Kapazitätsplanung und das Ressourcenmanagement. Die Dauer bis zur Terminierung eines Auftrags und die Zeit bis zu seiner Freigabe geben Aufschluss über Planungs- und Kapazitätsengpässe. Woher beziehen Dieses Event wird erfasst, wenn sich der Status des Produktionsauftrags in der ProdTable in „Terminiert“ ändert. Ausgelöst wird es, wenn ein Benutzer eine Terminierungsfunktion ausführt. Erfassung Ermitteln Sie den Timestamp, zu dem sich das Feld ProdStatus in der ProdTable in „Terminiert“ ändert. Ereignistyp inferred | |||
| Arbeitsgang abgeschlossen | Diese Aktivität zeigt an, dass ein einzelner Fertigungsarbeitsgang oder Prozessschritt abgeschlossen wurde. Für einen Produktionsauftrag werden üblicherweise mehrere solcher Events erfasst. | ||
| Warum das wichtig ist Die Analyse der Zeit zwischen den Arbeitsgängen hilft, Engpässe im Produktionsprozess selbst zu erkennen. Sie liefert einen detaillierteren Einblick in den Ablauf in der Fertigung. Woher beziehen Dieses Event wird explizit bei der Buchung von Arbeitsplankartenjournalen (ProdJournalRoute) für die einzelnen Arbeitsgänge erfasst und zeigt an, dass der jeweilige Schritt abgeschlossen wurde. Erfassung Erfassen Sie den Buchungs-Timestamp jedes ProdJournalRoute-Datensatzes, der dem Produktionsauftrag zugeordnet ist. Ereignistyp explicit | |||
| Material für die Produktion kommissioniert | Dieses Event zeigt an, dass die für den Produktionsauftrag benötigten Rohmaterialien aus dem Lager entnommen wurden und für den Verbrauch bereitstehen. Es wird erfasst, sobald ein Kommissionierauftrag für Rohmaterial abgeschlossen oder ein Kommissionierlistenjournal gebucht wurde. | ||
| Warum das wichtig ist Diese Aktivität ist eine wichtige Voraussetzung für den Produktionsstart. Verzögerungen zwischen der Terminierung und der Materialkommissionierung weisen auf Probleme im Lagerbetrieb oder bei der Materialverfügbarkeit hin. Woher beziehen Dieses Event wird üblicherweise explizit in Lagerverwaltungstabellen (WHSWorkTable) oder Lagerbuchungsjournalen (InventJournalTrans) erfasst, die mit dem Produktionsauftrag verknüpft sind. Erfassung Erfassen Sie den Buchungs-Timestamp des Kommissionierlistenjournals, das dem Produktionsauftrag zugeordnet ist. Ereignistyp explicit | |||
| Produktionsauftrag angepasst | Diese Aktivität steht für eine wesentliche Änderung am Produktionsauftrag nach dessen Freigabe, beispielsweise eine Änderung der Menge oder des Termins. Das Event wird durch den Vergleich wichtiger Felder vor und nach einer Änderung abgeleitet. | ||
| Warum das wichtig ist Häufige Anpassungen weisen auf eine instabile Planung oder schwankende Nachfrage hin und führen zu Ineffizienzen und Nacharbeit. Anhand dieser Aktivität lassen sich Häufigkeit und Auswirkungen solcher Änderungen quantifizieren. Woher beziehen Das Event wird abgeleitet, indem Änderungsprotokolle analysiert oder Momentaufnahmen des ProdTable-Datensatzes verglichen werden. Dabei werden nach der Freigabe des Auftrags Felder wie „QtySched“ oder „SchedEnd“ geprüft. Erfassung Ermitteln Sie Änderungen an wichtigen Feldern der ProdTable, etwa Menge oder Termine, nach dem Timestamp des Events „Freigegeben“. Ereignistyp calculated | |||
| Produktionsauftrag kalkuliert | Bei dieser Aktivität werden der voraussichtliche Materialverbrauch und die Kosten für den Produktionsauftrag berechnet. Dieser wichtige Planungsschritt stellt sicher, dass die finanziellen und materiellen Anforderungen vor dem weiteren Vorgehen bekannt sind. | ||
| Warum das wichtig ist Verzögerungen bei der Kalkulation können in der Planungsphase einen erheblichen Engpass verursachen. Durch die Erfassung dieser Aktivität lassen sich Ineffizienzen bei der Kosten- und Materialplanung erkennen. Woher beziehen Dieses Event wird erfasst, wenn sich der Status des Produktionsauftrags in der ProdTable in „Kalkuliert“ ändert. Ausgelöst wird es, wenn ein Benutzer für den Auftrag die Funktion „Kalkulieren“ ausführt. Erfassung Ermitteln Sie den Timestamp, zu dem sich das Feld ProdStatus in der ProdTable in „Kalkuliert“ ändert. Ereignistyp inferred | |||
| Produktionsauftrag storniert | Dieses Event steht für die Stornierung eines Produktionsauftrags vor dessen Abschluss. Es handelt sich um einen alternativen, nicht erfolgreichen Prozessabschluss. | ||
| Warum das wichtig ist Die Erfassung von Stornierungen hilft, Ursachen für Prozessabbrüche wie Nachfrageänderungen oder Planungsfehler zu erkennen. Eine hohe Stornierungsquote kann auf grundlegende Probleme hinweisen. Woher beziehen Dieser alternative Endstatus wird aus einer Statusänderung abgeleitet. Der genaue Status kann abweichen. Häufig wird der Auftragsstatus auf einen vorherigen Status zurückgesetzt und der Auftrag als storniert gekennzeichnet. Erfassung Ermitteln Sie eine Statusänderung, die auf eine Stornierung hinweist. Dafür kann eine gezielte Analyse des Systems erforderlich sein. Ereignistyp inferred | |||
| Qualitätsauftrag erstellt | Für die Prüfung der Ergebnisse des Produktionsauftrags wurde ein Qualitätsauftrag erstellt. Dieses Event markiert den Beginn der Qualitätssicherung für die gefertigten Waren. | ||
| Warum das wichtig ist Die Erfassung des Qualitätsprozesses ist wichtig, um die gesamte Durchlaufzeit zu verstehen. Verzögerungen bei der Qualitätsprüfung können verhindern, dass Waren versandt oder in nachfolgenden Prozessen verwendet werden. Woher beziehen Dieses Event wird explizit erfasst, wenn in der InventQualityOrderTable ein Datensatz angelegt wird, der auf den zugrunde liegenden Produktionsauftrag verweist. Erfassung Erfassen Sie den Erstellungs-Timestamp des Qualitätsauftrags in der InventQualityOrderTable, der mit der Produktionsauftrags-ID verknüpft ist. Ereignistyp explicit | |||
| Qualitätsprüfung bestanden | Diese Aktivität steht für den erfolgreichen Abschluss und die Freigabe eines Qualitätsauftrags für den Produktionslauf. Damit wird bestätigt, dass die gefertigten 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, wie effizient das Qualitätssicherungsteam arbeitet. Woher beziehen Das Event wird aus einer Statusänderung des Datensatzes in der InventQualityOrderTable auf „Bestanden“ abgeleitet. Der konkrete Statuswert kann abweichen. Erfassung Ermitteln Sie den Timestamp, zu dem der Status des zugehörigen Datensatzes in der InventQualityOrderTable auf „Bestanden“ gesetzt wird. Ereignistyp inferred | |||
Anleitungen zur Datenextraktion
Schritte
- Zum Arbeitsbereich „Data management“ wechseln: 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 anzulegen. Geben Sie dem Projekt einen aussagekräftigen Namen, zum BeispielProcessMind_Production_Orders. - Dateiformat für den Export auswählen: Wählen Sie in der Projektkonfiguration das gewünschte Datenformat, zum Beispiel CSV oder Excel. Legen Sie die Option
Entityfest und geben Sie die Formatdetails an. Für Leistung und Kompatibilität empfehlen wir CSV. - Erforderliche Datenentitäten hinzufügen: Fügen Sie dem Projekt die benötigten Datenentitäten hinzu, damit alle Ereignisse der Produktionsaufträge erfasst werden. Nehmen Sie die folgenden Entitäten auf:
Produktionsaufträge,Production order route transactions,Inventory quality ordersundProduction picking list journal lines. Wählen Sie für jede Entität alle relevanten Felder aus, wie im Abfrageabschnitt beschrieben. - Daten filtern: Verwenden Sie für jede Entität die Option
Filtern, um den Datenexport einzugrenzen. Filtern Sie mindestens nachCompany, damit die richtige juristische Person ausgewählt wird. Wir empfehlen außerdem, den Zeitraum über ein wichtiges Datumsfeld einzugrenzen, beispielsweise überCreation datein der EntitätProduktionsaufträge. So bleibt das Datenvolumen überschaubar, etwa durch eine Beschränkung auf die letzten 6 Monate. - Inkrementelle Exporte konfigurieren (optional): Richten Sie für laufende Analysen inkrementelle Exporte ein. Dazu können Sie Änderungen an den Quellentitäten nachverfolgen und nur neue oder seit dem letzten Export geänderte Datensätze extrahieren. Das verkürzt die Exportdauer erheblich.
- Export ausführen: Starten Sie den Export, sobald das Projekt konfiguriert ist. Wählen Sie dazu im Aktionsbereich
Export. Sie können den Export sofort ausführen oder als wiederkehrenden Batchauftrag planen. - Exportierte Dateien herunterladen: Öffnen Sie nach erfolgreichem Abschluss des Exportauftrags den Auftragsverlauf. Laden Sie das Paket herunter. Es handelt sich um eine ZIP-Datei mit separaten Datendateien für jede aufgenommene Entität.
- Daten in ein Event Log umwandeln: Die exportierten Dateien enthalten Rohdaten aus Tabellen und sind noch kein formatiertes Event Log. Verwenden Sie ein externes Tool, etwa ein Python-Skript, Power Query in Excel oder Power BI oder ein ETL-Tool, um die Daten aus den Dateien aufzubereiten und zusammenzuführen. Wenden Sie die im Abfrageabschnitt beschriebene Transformationslogik an, um Datums- und Statusfelder aus den verschiedenen Entitäten in eine einzelne Event-Log-Datei mit einer Zeile pro Aktivität zu überführen.
- Das fertige Event Log strukturieren: Stellen Sie sicher, dass die transformierte CSV-Datei die erforderlichen Spalten
ProductionOrderNumber,ActivityName,EventTime,SourceSystemundLastDataUpdatesowie alle empfohlenen Attribute enthält. Die Datei muss eine Kopfzeile haben und für den Upload in ProcessMind bereit sein.
Konfiguration
- Wichtige Datenentitäten: Für diese Extraktion müssen mehrere Entitäten exportiert und anschließend verknüpft werden. Zu den wichtigsten gehören
Produktionsaufträge(ProdTable),Production order route transactions(ProdRouteTrans) undInventory quality orders(InventQualityOrderTable). - Zeitraumfilter: Begrenzen Sie das Datenvolumen immer mit einem Datumsfilter. Empfehlenswert ist, die Entität
Produktionsaufträgeanhand vonCreation date(CREATEDDATETIME) auf die letzten 3 bis 6 Monate einzugrenzen. So erfassen Sie aktuelle, vollständige Prozesse, ohne das System zu überlasten. - Unternehmensfilter: Filtern Sie unbedingt nach dem Unternehmen oder der juristischen Person, die Sie analysieren möchten. Verwenden Sie dazu im Exportprojekt für jede Entität die Option
Filtern. - Vollständiger oder inkrementeller Export: Für die erste Extraktion ist ein vollständiger Export erforderlich. Für spätere Aktualisierungen empfehlen wir, die Änderungsnachverfolgung für die Entitäten einzurichten und inkrementelle Exporte auszuführen. Das verbessert die Leistung und verringert die Datenlast.
- Voraussetzungen: Der Benutzer, der den Export ausführt, benötigt die passenden Sicherheitsrollen. Dazu gehört in der Regel
Data management administratoroder eine Rolle mit Berechtigungen für den Zugriff auf die erforderlichen Datenentitäten.
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 Finance and Operations-Umgebung eingerichtet ist. Dazu gehören die Einrichtung einer Azure SQL Database und die Konfiguration des Datenexports aus Dynamics 365.
- Erforderliche Entitäten veröffentlichen: Öffnen Sie im Arbeitsbereich „Data management“ den Bereich „Data entities“. Suchen Sie die folgenden wichtigen Entitäten und veröffentlichen Sie sie in Ihrer BYOD-Datenbank: ProdTable, ProdRouteTrans, InventPickingListJour und InventQualityOrderTable. Richten Sie sie für den wiederkehrenden Export ein.
- Datensynchronisierung überprüfen: Vergewissern Sie sich, dass die Daten der veröffentlichten Entitäten erfolgreich und regelmäßig mit Ihrer Azure SQL Database synchronisiert werden. Prüfen Sie den Exportauftragsverlauf auf Fehler.
- Mit der BYOD-Datenbank verbinden: Stellen Sie mit einem SQL-Client wie SQL Server Management Studio (SSMS) oder Azure Data Studio eine Verbindung zu der Azure SQL Database her, in der Ihre Dynamics 365-Daten gespeichert sind.
- SQL-Abfrage vorbereiten: Öffnen Sie ein neues Abfragefenster und kopieren Sie die vollständige SQL-Abfrage aus diesem Dokument.
- Abfrageparameter festlegen: Suchen Sie in der Abfrage nach den Platzhaltervariablen. Ersetzen Sie '{StartDate}', '{EndDate}' und '{CompanyCode}' durch den gewünschten Zeitraum und die DataAreaId des zu analysierenden Unternehmens.
- Abfrage ausführen: Führen Sie die angepasste SQL-Abfrage in der BYOD-Datenbank aus. Die Ausführungsdauer hängt vom Datenvolumen und dem angegebenen Zeitraum 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, um Ergebnisse direkt in einer Datei zu speichern.
- 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 Aliasnamen.
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 den Status der Produktionsaufträge.PRODROUTETRANS: Enthält Details zu einzelnen Produktionsvorgängen und deren Abschluss.INVENTPICKINGLISTJOUR: Protokolliert die Materialentnahme für Produktionsaufträge.INVENTQUALITYORDERTABLE: Erfasst mit der Produktion verknüpfte Qualitätssicherungsaufträge.
- Zeitraum: Beginnen Sie mit einem begrenzten Zeitraum, zum Beispiel 3 bis 6 Monaten, damit die Abfrageleistung nicht beeinträchtigt wird. Die Abfrage filtert nach dem Erstellungsdatum des Produktionsauftrags (
CREATEDDATETIMEausPRODTABLE). - Unternehmenscodefilter: Über das Feld
DATAREAIDfiltern Sie die Daten nach einer bestimmten juristischen Person oder einem Unternehmen. Ersetzen Sie den Platzhalter'{CompanyCode}'durch die passende ID, zum Beispiel 'usmf'. - Voraussetzungen: Für diese Methode benötigen Sie Administratorzugriff auf Dynamics 365 Finance and Operations, um BYOD einzurichten, sowie Contributor-Berechtigungen für die Azure SQL Database, um Abfragen auszuführen.
- Leistung: Bei sehr großen Datensätzen, die mehrere Jahre oder Unternehmen umfassen, sollten Sie die Abfrage außerhalb der Spitzenzeiten ausführen. Sie können die Extraktion auch in kleinere Zeiträume aufteilen und die Ergebnisse anschließend zusammenführen.
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 zugelassenes Tool mit Power Query verfügbar ist und der Benutzer Leseberechtigungen für die benötigten Datenentitäten in Microsoft Dynamics 365 Manufacturing hat. Klären Sie die URL der Umgebung, den Umfang der juristischen Person oder des Unternehmens sowie die zugelassene Authentifizierungsmethode.
- Wählen Sie in Power BI Desktop „Daten abrufen“ und anschließend den zugelassenen Dynamics-365-Konnektor oder die OData- beziehungsweise Dataverse-Verbindung Ihrer Organisation. Verwenden Sie [Your Dynamics 365 environment connection] und [Your credentials] gemäß der Konfiguration durch Ihren Administrator. Gehen Sie nicht davon aus, dass jede Entität, jeder Endpunkt oder jeder Menüpfad in allen Bereitstellungen verfügbar ist.
- Wählen Sie die Entität mit den Kopfdaten der Produktionsaufträge, die Entität für Produktionsvorgänge oder Arbeitspläne, die Entität für Materialentnahmen oder Entnahmelisten, die Buchungsentitäten der Produktion, die Entität für Qualitätsaufträge sowie alle zugelassenen Entitäten für Audit, Verlauf oder Änderungsnachverfolgung, die zur Ermittlung von Statusänderungen erforderlich sind. Ersetzen Sie jede Quellenreferenz in der Abfrage durch die entsprechende Entität oder Abfrage in Ihrer Umgebung.
- Legen Sie den Extraktionsumfang fest. Verwenden Sie [Start date parameter], [End date parameter] und [Your company or legal entity filter]. Beschränken Sie die Abfrage auf Produktionsaufträge der benötigten Werke, Produkte, Auftragstypen und Status. Behalten Sie die Quell-Timestamps bei, die erforderlich sind, um Erstellung, Kalkulation, Terminierung, Materialentnahme, Freigabe, Anpassung, Start, Vorgangsabschluss, Rückmeldung als fertig, Qualitätsprüfung, Beendigung und Stornierung voneinander zu unterscheiden.
- Vereinheitlichen Sie in Power Query die Namen und Datentypen der Quellspalten. Konvertieren Sie Ereignis-Timestamps in einen einheitlichen Datetime-Typ und normalisieren Sie IDs, Statuswerte, Unternehmens- und Werksangaben, 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 Ereignistabelle. Jede Tabelle muss ProductionOrderNumber, ActivityName, EventTime, SourceSystem, LastDataUpdate, ProductionOrderStatus, PlannedStartDate, PlannedEndDate, UserId, ProductionPlant, ProductNumber, ProductionType, ActualQuantity und ProductionPriority enthalten. Der Aktivitätsname muss einem festen Wert entsprechen, der einem der 13 erforderlichen Namen entspricht.
- Ermitteln Sie „Production Order Adjusted“ ausschließlich anhand einer zugelassenen Quelle mit Änderungsverlauf, Auditdaten oder Änderungsnachverfolgung, die Vorher- und Nachher-Werte enthält. Vergleichen Sie relevante Felder wie Menge, geplante Termine, Status, Werk, Produkt und Priorität. Erstellen Sie für jede relevante Änderung eine Anpassungszeile mit dem erfassten Änderungs-Timestamp. 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 Ereignis-Timestamp. Entfernen Sie jedoch keine legitimen Wiederholungen bei Vorgangsabschlüssen, Anpassungen oder Qualitätsereignissen. Sortieren Sie nach ProductionOrderNumber und EventTime und verwenden Sie, sofern verfügbar, eine deterministische sekundäre Sortierung.
- Laden Sie die resultierende Tabelle in Power BI oder exportieren Sie sie als CSV-Datei oder in einem anderen von ProcessMind unterstützten Event-Log-Format. Achten Sie darauf, dass die exportierten Spaltenüberschriften 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 Zeile im Event Log enthalten ist, die Timestamps dieselbe Zeitzone verwenden, ProductionOrderNumber ausgefüllt ist und LastDataUpdate den Zeitpunkt der Aktualisierung angibt. ProcessMind übernimmt das Event Log unverändert und leitet fehlende Ereignisse nicht ab.
Konfiguration
- Verbindung: Verwenden Sie den zugelassenen Power-Query-Konnektor und die zugelassene Authentifizierungsmethode für die Dynamics-365-Umgebung. Ersetzen Sie [Your Dynamics 365 environment connection] und [Your credentials] durch die von Ihrer Organisation freigegebenen Werte.
- Quellentitäten: Wählen Sie die in Ihrer Umgebung verfügbaren Entitäten für Produktionsauftragskopfdaten, Vorgänge oder Arbeitspläne, Materialentnahmen oder Entnahmelisten, Produktionsbuchungen und Qualitätsaufträge sowie zugelassene Audit- oder Änderungsnachverfolgungsdaten. Die verfügbaren Entitäten und ihre Namen hängen von der Bereitstellung ab. Prüfen Sie sie im Metadatenbrowser.
- Zeitraum: Beginnen Sie mit einem Zeitraum von 3 bis 6 Monaten. Filtern Sie nach Möglichkeit die Quellwerte für EventTime und erweitern Sie den Zeitraum, wenn Sie lang laufende Produktionsaufträge oder historische Statusübergänge prüfen.
- Unternehmens- und Werksfilter: Verwenden Sie [Your company or legal entity filter] und gegebenenfalls den erforderlichen Produktionswerksfilter. Verwenden Sie keinen allgemeinen Unternehmensfilter, wenn die Umgebung mehrere juristische Personen mit sich überschneidenden Auftragsnummern enthält.
- Filter für Produktionsaufträge: Filtern Sie nach den benötigten Auftragstypen, Produkten, Werken, Status und Auftragsnummernbereichen. Schließen Sie stornierte oder beendete Aufträge nicht aus, wenn diese Ergebnisse für die Prozessanalyse erforderlich sind.
- Ereignisse einbeziehen: Behalten Sie wiederholte Ereignisse für Vorgangsabschlüsse, Materialentnahmen, Qualitätsprüfungen und Anpassungen bei. Reduzieren Sie das Event Log nicht auf eine Zeile pro Produktionsauftrag.
- Zeitzone: Konvertieren Sie alle Quell-Timestamps in eine einheitliche, dokumentierte Zeitzone. Bewahren Sie den Quell-Timestamp oder den Zeitzonenversatz auf, sofern die Quelle diese Angaben bereitstellt.
- Aktualisierungsmetadaten: Tragen Sie für jede Zeile den Aktualisierungs- oder Extraktions-Timestamp in LastDataUpdate ein. Wenn der gesamte Datensatz in einem Durchlauf extrahiert wird, genügt ein gemeinsamer Timestamp.
- Leistung: Wenden Sie Filter für Zeitraum, Unternehmen, Werk und Auftrag bereits an der Quelle an. Wählen Sie nur erforderliche Spalten aus, vermeiden Sie unnötige Zusammenführungen, bereiten Sie wiederverwendbare Quellabfragen vor und ziehen Sie bei großen Datensätzen eine inkrementelle Aktualisierung in Betracht.
- Voraussetzungen: Power BI Desktop oder ein zugelassenes Power-Query-Hostsystem, 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 Änderungsnachverfolgung.
- 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 Snapshot des aktuellen Status.
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 Möchten Sie loslegen?
Mit diesem umfassenden Template können Sie sofort mit der Extraktion und Analyse Ihrer Produktionsplanungsdaten beginnen. Optimieren Sie Ihre Abläufe noch heute und steigern Sie die Effizienz.
Mehr Effizienz erreichen: Verbessern Sie jetzt Ihre Produktionsplanung
Ermitteln Sie Engpässe und verkürzen Sie die Produktionsdurchlaufzeit um mindestens 30 %.
Keine Kreditkarte erforderlich. Die Einrichtung dauert nur wenige Minuten.