Zusammenführen zweier Datensätze zwischen Datumsangaben nach Kennung.Hallo zusammen, Erstbesucher,
Ich versuche, zwei verschiedene Tabellen/Datensätze aus zwei verschiedenen Quellen mit sehr wenigen eindeutigen Kennungen zu kombinieren und abzugleichen ...
Prozessbeispiel: Ein Widget wird verarbeitet (in diesem Fall mit zwei verschiedenen Reagenzien). Die Ausgabetabelle (unten, eine Zeile pro Ereignis) enthält „Operation Start Date Time“ und „Operation Completion Date Time“. Die eindeutige Kennung für das Widget ist „SFC“ sowie „Shop Order“.
Ausgabetabelle 1

Zwischen „Datum und Uhrzeit des Vorgangsstarts“ und „Datum und Uhrzeit des Vorgangsabschlusses“ werden Prozessdaten übermittelt (unten, 24 Zeilen pro Ereignis) …
Ausgabetabelle 2

Ich versuche, die Übermittlungsdaten (Ausgabetabelle 2) mit den Ereignisdaten (Ausgabetabelle 1) abzugleichen, also im Wesentlichen die Ergebnisse jedes Ereignisses. Obwohl jedes „SFC“ (Widget) mit „Shop Order“ verknüpft ist, verfügen sie über mehrere Ereignisdatensätze; z. B. SN12345 = Shop Order 98765, und es können mehrere „DATE“-Übermittlungen vorhanden sein (Ausgabetabelle 2), wobei jedoch jede „DATE“-Übermittlung eine eindeutige „GROUP_ID“ pro Übermittlung enthält.
Das Hauptziel besteht darin, „NAME“ und „WERT“ der Ausgabetabelle 2 mit „Reagenztyp“ in Ausgabetabelle 1 abzugleichen, damit ich dann den Vergleich der Reagenzien visualisieren kann.
Ich hoffe, ich habe es gut genug erklärt (klar wie Kloßbrühe) und hoffe, dass diese Site so funktioniert!
Dank im Voraus!
Datenzusammenführung und -bereinigungErgebnisse teilen und kommunizierenBetreff: Zusammenführen von zwei Datensätzen zwischen Datumsangaben nach Kennung.Was für eine unglaubliche Gemeinschaft! Danke schön!
Betreff: Zusammenführen von zwei Datensätzen zwischen Datumsangaben nach Kennung.Ich bin mir nicht sicher, ob dies genau das ist, was Sie wollen.Die Beispieldaten bieten keine wirklich gute Übereinstimmung basierend auf der Start- und Abschlusszeit in Ihren Beispieldaten.Bitte führen Sie den folgenden Code für vollständigere Daten aus. Ich habe auch die 2 von Ihnen bereitgestellten Beispieldatentabellen angehängt.
Names Default To Here( 1 );
dt1 = Data Table( "Output 1" );
dt2 = Data Table( "Output 2" );
// Loop through the Output 1 data table and set a unique id,
// and assign the same unique id to the Output 2 data rows
// that fall within the start and completion times
dt1 << New Column( "The Row", formula( Row() ) );
// Turn values to static
dt1:The Row << delete formula;
// Add a new column to the Output 2 data table that will be
// filled in below
dt2 << New Column( "The Row" );
For( i = 2, i <= N Rows( dt1 ), i++,
foundRows = dt2 << get rows where(
dt2:SFC == dt1:SFC[i] & dt2:SHOP_ORDER == dt1:Shop Order[i] & dt1:Operation Start Date Time[i] <= dt2
:DATETIME & dt1:Operation Completion Date Time[i] >= dt2:DATETIME
);
If( N Rows( foundRows ) > 0,
dt2:The Row[foundRows] = dt1:The Row[i];
)
);
// Join the data
dt3 = dt1 << Join(
With( dt2 ),
By Matching Columns(
:SFC = :SFC,
:Shop Order = :SHOP_ORDER,
:The Row = :The Row
),
Drop multiples( 0, 0 ),
Include Nonmatches( 1, 0 ),
Preserve main table order( 1 )
);
// Cleanup the data tables
// uncomment the 2 lines below to automate the cleanup
// dt1 << delete columns(:The Row );
// dt2 << delete columns(:The Row );
Betreff: Zusammenführen von zwei Datensätzen zwischen Datumsangaben nach Kennung.Könnten Sie Beispieldatensätze zum Testen bereitstellen? Wenn Sie müssen, können Sie Daten anonymisieren, indem Sie die Anonymisierungsfunktion von JMP verwenden, die Sie im Menü Tabellen finden. Ich denke, Sie können alles außer Zeiten, SFC, anonymisieren, da diese für den Abgleich benötigt werden