Skip to content
Simio background artwork

Simio-Datentabellen für die datengesteuerte Modellierung verwenden

Adam Sneath

September 19, 2024

Im vorangegangenen Beitrag dieser Serie haben wir erwähnt, dass sich die datengesteuerte Modellierung in Simio auf zwei wichtige Schritte reduzieren lässt: die Übertragung von Daten in Simio und die Verwendung der Daten zur Steuerung von Simio-Modellobjekten und -Prozessen. In diesem Beitrag konzentrieren wir uns darauf, wie Simio-Datentabellen verwendet werden können, um die datengesteuerte Modellierung und die Integration mit externen Anwendungen zu erleichtern.

Simio Datentabellen speichern tabellarische Daten in einer Standard-Zeilen/Spalten-Struktur, in der einzelne Datenelemente mit den Standardfunktionen Table[Row, Column] oder Table[Row].ColumnName dynamisch referenziert werden können. Die eigentliche Stärke liegt jedoch in der Verwendung von Row References, um bestimmte Tabellenzeilen auf Simio Objects oder Tokens abzubilden. Sobald eine Row Reference gesetzt ist, werden die Datenelemente über den Table.ColumnName referenziert und die spezifische Tabellenzeile wird aus der Row Reference abgeleitet. Dies erleichtert die datengesteuerte Modellierung, bei der ein großer Teil der Modelllogik und der Eigenschaften über Datentabellen festgelegt wird.

Erste Schritte

Betrachten Sie ein Systemmodell für den Kundenservice, bei dem Server-Objekte zur Darstellung einzelner Kundenservice-Prozesse verwendet werden, Entitäten zur Darstellung von Kunden und die Bearbeitungszeiten auf den Servern vom Kundentyp und dem Schritt in der Bearbeitungsfolge des Kunden abhängen. Indem bei der Erstellung einer Entität eine Zeilenreferenz gesetzt wird und der Kundentyp bekannt ist, verwendet die nachfolgende Verarbeitung im Modell die Zeilenreferenz, um direkt auf die kundenartspezifischen Daten zuzugreifen. Somit sind die Eigenschaften des Serverobjekts unabhängig vom Kundentyp, da die typspezifischen Daten in der Tabelle gespeichert sind! Dadurch entfällt die Notwendigkeit, mit bedingter Logik auf den Kundentyp bei jedem Server zu reagieren. Darüber hinaus ist es einfach, neue Kundentypen hinzuzufügen und mit verschiedenen Verarbeitungseigenschaften, Kundenankunftsraten und der Mischung von Kundentypen zu experimentieren, indem Sie die Datentabellen und nicht die Eigenschaften und Logik des Modellobjekts direkt bearbeiten.

Definieren der Tabellenstruktur

Das Erstellen von Datentabellen ist ein einfacher Prozess, bei dem Sie die Tabellenstruktur definieren, indem Sie den Datentyp für jede Spalte angeben. Simio unterstützt eine Vielzahl von Datentypen, darunter Standardtypen wie Integer, Real, String, DateTime und Boolean sowie Simio-spezifische Typen wie Expression, Object reference, Element reference und viele andere. In der Kundentyp-Tabelle unseres Kundendienstsystems könnten wir beispielsweise den Kundentyp über eine Object Reference-Spalte, die Bearbeitungszeit für diesen Kundentyp über eine Expression-Spalte und die Kundenpriorität über eine Integer-Spalte definieren. In diesem Fall wird bei der Erstellung einer Kundenentität der Objekttyp in der Tabelle angegeben und nicht fest im Quellobjekt kodiert. Wenn die Entität bei einem Server ankommt, werden die Priorität und die Bearbeitungszeit aus der Tabelle gelesen und nicht fest im Server-Objekt kodiert.

Daten in die Tabelle eingeben

Nachdem Sie die Struktur einer Tabelle definiert haben, gibt es drei grundlegende Möglichkeiten, Daten in die Tabelle einzugeben – manuell, wie bei einer Tabellenkalkulation; durch Kopieren und Einfügen aus der Windows-Zwischenablage (z.B. Kopieren aus einem Excel-Arbeitsblatt in die Zwischenablage und Einfügen aus der Zwischenablage direkt in eine Simio-Datentabelle); und durch Importieren/Exportieren von Daten mit Hilfe einer Datenbindung. Die manuelle Dateneingabe und das Kopieren und Einfügen von Daten sind einfach zu handhabende Methoden für das Hinzufügen/Bearbeiten relativ kleiner Datenmengen, können aber bei großen Mengen und/oder häufig wechselnden Daten mühsam werden. Hier kommt die Verwendung von Datenbindungen ins Spiel!

Datenbindungen verbinden Simio-Datentabellen mit externen Datenquellen wie CSV-Dateien, Excel-Arbeitsmappen, Datenbanken und Web-API-URLs zum einfachen Importieren und Exportieren. Ein Beispiel für einen Anwendungsfall mit unserem Modell für ein Kundenservicecenter könnte darin bestehen, eine Simio-Ankunftstabelle an eine Datenbank mit historischen Kundenankünften zu binden und das Simio-Modell zu verwenden, um mit alternativen Systemkonfigurationen unter Verwendung der tatsächlichen Kundenankunftsdaten zu experimentieren. Ein anderer Anwendungsfall könnte darin bestehen, eine Exportbindung zu verwenden, um Daten aus dem Modelllauf in eine Excel-Arbeitsmappe zu schreiben, um sie mit einem externen Datenanalysetool wie PowerBI oder Tableau detailliert zu analysieren. Die Verwendung von Data Bindings vereinfacht die Dateneingabe/-ausgabe erheblich und bietet einen Kanal zur Integration von Simio-Modellen in andere Desktop-, Unternehmens- und Cloud-basierte Anwendungen.

Schließlich implementieren Simio Data Tables das relationale Datenmodell mit Schlüsselspalten und Fremdschlüsseln. Dadurch können Sie verwandte Tabellen über gemeinsame Felder „verbinden“, so dass, wenn Sie eine Zeilenreferenz in einer Tabelle setzen, die Zeilenreferenzen für die verwandten Zeilen in den verbundenen Tabellen automatisch gesetzt werden. In unserem Beispiel für den Kundenservice könnte die Tabelle mit den Kundentypen mit der Tabelle mit den Kundenankünften nach Kundentyp verknüpft werden, so dass wir die Daten zu den Kundentypen in einer Tabelle und die Daten zu den Kundenankünften in einer anderen Tabelle speichern können, so dass wir keine Daten replizieren müssen, aber dennoch direkten Zugriff auf alle Daten haben, die wir für einen bestimmten Kunden oder Kundentyp benötigen.

Erfolg mit datengesteuerter Modellierung

Die datengesteuerte Modellierung ist ein sehr leistungsfähiges Paradigma, das bei allen Modellen, die wir bei Simio intern entwickeln, standardmäßig zum Einsatz kommt. Die Verwendung von datengesteuerter Modellierung und relationalen Daten bildet die Grundlage für die datengenerierte Modellierung mit benutzerdefinierten Objekten und Simio-Vorlagen – beides wird in späteren Beiträgen behandelt.

Um mehr über die datengestützte Technologie von Simio zu erfahren, klicken Sie hier.