Zusammenführen von zwei Datensätzen 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), und 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 dem „Operation Start Date Time“ und dem „Operation Completion Date Time“ werden Prozessdaten übermittelt (unten, 24 Zeilen pro Ereignis)...
Ausgabetabelle 2

Ich versuche, die Übermittlungsdaten (Ausgabetabelle 2) mit den Ereignisdaten (Ausgabetabelle 1) abzugleichen, im Wesentlichen die Ergebnisse der einzelnen Ereignisse. Während jedes „SFC“ (Widget) mit „Shop Order“ verbunden ist, haben sie mehrere Ereignisdatensätze; dh SN12345 == Shop Order 98765, und kann mehrere "DATE"-Übermittlungen haben (Ausgabetabelle 2), aber jede "DATE"-Übermittlung trägt eine eindeutige "GROUP_ID" pro Übermittlung.
Das Hauptziel besteht darin, Ausgabetabelle 2 "NAME" und "WERT" mit "Reagenztyp" in Ausgabetabelle 1 abzugleichen, wo ich dann den Vergleich der Reagenzien visualisieren kann.
Ich hoffe, ich habe es gut genug erklärt (klar wie Schlamm), und hoffe, dass diese Seite so funktioniert!
Vielen Dank im Voraus!
AnalytikDatentabelleBetreff: 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