Vergleichen Sie Datenergebnisse in Datenordnern grafischHallo,
Ich bin relativ neu bei JMP und möchte den folgenden, ziemlich herausfordernden Vorgang automatisch ausführen, vorzugsweise über ein automatisiertes JMP-Skript oder eine andere Lösung, die Ihnen Experten empfehlen könnten
.
Meine Daten:
Ich habe zwei Ergebnisordner, Datenordner1 und Datenordner2. Es handelt sich technisch gesehen um die gleichen Messungen. Es gibt einen geringfügigen Unterschied, da der Aufbau und die gleichen Messungen nach und vor der Änderung wiederholt werden.
Jeder Ordner verfügt über mehrere TXT-Dateien, bei denen es sich um Ergebnisdateien im TXT-Tabellenformat handelt. Die TXT-Dateien haben für jeden Ordner dieselben Namen und die Spaltennamen sind dieselben. In der Praxis unterscheiden sich lediglich die numerischen Daten für jede Datei geringfügig.
Was ich möchte:
Ich möchte die Differenz zwischen Ergebnisdatenordner1 und Ergebnisdatenordner2 für jede Spalte mit demselben TXT-Namen grafisch vergleichen und eine PDF-Ausgabe der Ergebnisse generieren. Es gelang mir, die gewünschte Ausgabe im .pdf-Format zu generieren, aber ich musste 8–12 Stunden manuelle Arbeit leisten, um diese Ausgabe mit dem Graph Builder zu erhalten. Die Ausgabedatei heißt „wanted_output.pdf“. Jetzt muss ich viele weitere ähnliche Fälle bearbeiten, und die manuelle Bearbeitung würde viele Monate dauern.
Die Datendateien liegen als Anhang bei. [Daten wurden inzwischen entfernt]
Vielen Dank im Voraus, ich kämpfe seit Monaten mit diesem Problem und ich hoffe, JMP hat eine einfache Lösung dafür!
MassenanpassungBetreff: Datenergebnisse in Datenordnern grafisch vergleichenHallo Txnelson und Ian
Klappt wunderbar! Danke schön!
Ich musste die Variable datafolder2 von Ordner1 in Ordner2 ändern.
Außerdem ließ sich der PDF-Druck aus irgendeinem Grund nicht gut skalieren. Ich musste die Standarddruckeinstellungen „Datei“ = „Seite einrichten“ ändern.
Problem gelöst, danke für jede Hilfe!
PS. Ich musste Daten aus dem ersten Beitrag entfernen, aber technisch gesehen funktionieren alle Vorher- und Nachher-Datenordner mit diesem Skript.
Betreff: Datenergebnisse in Datenordnern grafisch vergleichenUnd als Alternative zu @txnelson Ansatz von und der ursprünglichen Idee folgen (und die Option „Unterordner einbeziehen“ verwenden):
NamesDefaultToHere(1);
// Unzip the example file 'net_data.zip' to your Desktop
// Generated via 'File > Open Multiple..': tabList is a list of 'paired' tables
// that are built automatically according to the commonality of column names
tabList =
Multiple File Import(
<<SET folder=""></SET>
Wie üblich hängt die Integrität der Endergebnisse davon ab, was Sie über die Regelmäßigkeit der Daten annehmen können (und was nicht).
Betreff: Datenergebnisse in Datenordnern grafisch vergleichenIch musste ein paar Dinge erraten, aber das folgende Skript erstellt ein separates PDF für jede der Dateien, die in den Datentabellenordnern gefunden werden.Ich habe das Diagrammformat etwas geändert.Wie ich am besten beurteilen kann, werden darin alle dieselben Informationen angezeigt, jedoch in einer etwas anderen Form.
Im Skript müssen Sie die Pfade zu Ordner 1 und Ordner 2 eingeben. Derzeit werden die PDFs im Verzeichnis $TEMP gespeichert.Sie müssen sie in einen echten Ordner ändern.
Names Default To Here( 1 );
// Set folder1 and folder2 paths
folder1 = "path to folder 1";
folder2 = "path to folder 2";
// Get files in datafolder 1 folder
fileNamesList = Files In Directory( folder1 );
For( File = 1, File <= N Items( fileNamesList ), File++,
// Open the file in datafolder1
dt1 = Open(
folder1 || "/" || fileNamesList[File],
Import Settings(
End Of Line( CRLF, CR, LF ),
End Of Field( Tab, Comma, CSV( 1 ) ),
Strip Quotes( 1 ),
Use Apostrophe as Quotation Mark( 0 ),
Use Regional Settings( 0 ),
Scan Whole File( 1 ),
Treat empty columns as numeric( 0 ),
CompressNumericColumns( 0 ),
CompressCharacterColumns( 0 ),
CompressAllowListCheck( 0 ),
Labels( 1 ),
Column Names Start( 1 ),
Data Starts( 2 ),
Lines To Read( "All" ),
Year Rule( "20xx" )
)
);
// New column: Index
dt1 << New Column( "Index", Numeric, "ordinal", Format( "Best", 12 ), Set Each Value( Row() ) );
// New column: Index
dt1 << New Column( "Measured", Character, Set Each Value( "Before" ) );
// Open the file in datafolder2
dt2 = Open(
folder1 || "/" || fileNamesList[File],
Import Settings(
End Of Line( CRLF, CR, LF ),
End Of Field( Tab, Comma, CSV( 1 ) ),
Strip Quotes( 1 ),
Use Apostrophe as Quotation Mark( 0 ),
Use Regional Settings( 0 ),
Scan Whole File( 1 ),
Treat empty columns as numeric( 0 ),
CompressNumericColumns( 0 ),
CompressCharacterColumns( 0 ),
CompressAllowListCheck( 0 ),
Labels( 1 ),
Column Names Start( 1 ),
Data Starts( 2 ),
Lines To Read( "All" ),
Year Rule( "20xx" )
)
);
// New column: Index
dt2 << New Column( "Index", Numeric, "Ordinal", Format( "Best", 12 ), Set Each Value( Row() ) );
// New column: Index
dt2 << New Column( "Measured", Character, Set Each Value( "After" ) );
// Concatenate tables
// → Data Table( "HW.DiodeTest.ADP_diodes" )
dt1 << Concatenate( dt2, Append to first table );
// Close the After data table
Close( dt2, nosave );
// get all continuous columns in the data table
colNamesList = dt1 << get column names( continuous, string );
theJournal = New Window( fileNamesList[File], <<JOURNAL></JOURNAL>
Betreff: Datenergebnisse in Datenordnern grafisch vergleichenKönnten Sie mir eine private Nachricht in der JMP-Community senden? Ich kann vielleicht etwas einfacher per E-Mail helfen und dann können wir möglicherweise die endgültige Lösung hier veröffentlichen.
Betreff: Datenergebnisse in Datenordnern grafisch vergleichenVielen Dank, Jarmo, für die schnelle Antwort!
Ich brauche in der Tat eine JSL, um das alles zu erledigen, es ist zu zeitaufwändig, dies für mehrere andere Fälle zu tun.
Aus architektonischer Sicht könnte die folgende JSL funktionieren:
1.Importieren Sie alle Dateien aus beiden Ordnern.
2. Beitreten/& Ergebnisse in einer Datei verketten, scheint JMP automatisch eine Art Indizierung hinzuzufügen, wenn der Tabellenname derselbe ist (von XXXX).
3. Sortieren Sie die Spaltennamen in alphabetischer Reihenfolge.
4. Plotten Sie Spalte 1 und 2 in einem Plot, zeichnen Sie Spalte 3 und 4 für den nächsten Plot, zeichnen Sie Spalte 5 und 6 für den nächsten Plot ... Wiederholen Sie das Plotten der folgenden Zahlen, bis keine Spalten mehr vorhanden sind.
Das hört sich alles einfach an, aber ich verstehe JSL nur als Anfänger. Gibt es Tipps und Beispiele für die einzelnen Schritte?
Betreff: Datenergebnisse in Datenordnern grafisch vergleichen„Datei/Mehrere Dateien importieren“ könnte Ihnen den Einstieg ziemlich einfach machen. Beim Importieren der Dateien müssen Sie einige Änderungen an den Standardeinstellungen vornehmen (Trennzeichen von Komma auf Tabulator ändern).
Ab diesem Punkt können Sie mit dem Verknüpfen der Datentabellen beginnen. Ich bin mir nicht sicher, ob es außer JSL und dem Durchlaufen der Liste der Datentabellen, die Sie gerade im vorherigen Schritt erhalten haben, eine einfache Möglichkeit gibt, dies zu tun.
Wiederholen Sie diesen Vorgang für beide Ordner, verketten Sie dann die Datentabellen und erstellen Sie schließlich ein Diagramm mit dem Graph Builder (möglicherweise müssen Sie die Daten stapeln, bevor Sie ein Diagramm erstellen).