Hallo,
Ich habe einige Herausforderungen bei der Konvertierung von Excel-Datenblättern, bei denen die Daten so verbreitet werden. Ich habe auch die Tabelle angehängt.
irgendwelche Gedanken dazu? Wie kann ich ein ähnliches Datum schnell von einem Excel-Blatt in einen JMP-Datensatz konvertieren?
Vielen Dank

Mit der neuen JMP-Version 16 habe ich einfach die interaktiven Schritte zum Ändern der Daten durchlaufen und dann die JSL aus dem Protokoll ausgeschnitten und in mein Skript eingefügt.Ich habe dann einige meiner eigenen Einstellungen auf den Code angewendet, aber das wäre nicht notwendig gewesen.
Hinweis: Ich habe auch die Grafiken und die endgültigen Ergebnisspalten aus dem Excel-Datenblatt Data Wrangler gelöscht, bevor ich es in JMP geöffnet habe

names default to here(1);
dt = Open(
"<PATH to="">/Data wrangling .xlsx",
Worksheets( "Sheet1" ),
Use for all sheets( 1 ),
Concatenate Worksheets( 0 ),
Create Concatenation Column( 0 ),
Worksheet Settings(
1,
Has Column Headers( 1 ),
Number of Rows in Headers( 1 ),
Headers Start on Row( 1 ),
Data Starts on Row( 2 ),
Data Starts on Column( 1 ),
Data Ends on Row( 0 ),
Data Ends on Column( 0 ),
Replicated Spanned Rows( 1 ),
Replicated Spanned Headers( 0 ),
Suppress Hidden Rows( 1 ),
Suppress Hidden Columns( 1 ),
Suppress Empty Columns( 1 ),
Treat as Hierarchy( 0 ),
Multiple Series Stack( 0 ),
Import Cell Colors( 0 ),
Limit Column Detect( 0 ),
Column Separator String( "-" )
)
);
// Delete selected rows
dt << Select Where(
:Column 1 == "" & Is Missing( :Column 2 ) & Is Missing( :Column 3 ) & :Column 4
== "" & Is Missing( :Column 5 ) & Is Missing( :Column 6 ) &
Is Missing( :Column 7 )
) << Delete Rows;
// New column: Column 8
dt << New Column( "Group",
character,
formula(If( Is Missing( :Column 1 ) & Is Missing( :Column 2 ) & Is Missing( :Column 3 ),
:Column 4
))
);
// Delete column formula: Group
dt:Group << Delete Formula;
For(i=1,i<=nrows(dt),i++,
if(:group[i]=="",:group[i]=:group[i-1])
);
// Delete selected rows
dt << Select Where(
:Column 1 == "" & Is Missing( :Column 2 ) & Is Missing( :Column 3 ) &
Is Missing( :Column 5 ) & Is Missing( :Column 6 ) & Is Missing( :Column 7 )
) << Delete Rows;
// Change column info: Column 4
dt:Column 4 << Data Type( Numeric ) <<
Set Modeling Type( "Continuous" ) << Set Field Width( 12 );
// Transpose data table
// → Data Table( "Transpose of Sheet1" )
dtTrans = dt << Transpose(
columns( :Column 2, :Column 3, :Column 4, :Column 5, :Column 6, :Column 7 ),
By( :Column 1, :Group ),
Output Table( "Transpose of Sheet1" )
);
// Change column name: Column 1 → T(Type)
dtTrans:Column 1 << Set Name( "T(Type)" );
// Delete column: Label
dtTrans << Delete Columns( :Label );
// Change column name: Row 1 → Response
dtTrans:Row 1 << Set Name( "Response" );
// New column: Column 4
dtTrans << New Column( "SI. No.",
Numeric,
"Continuous",
Formula( Row() ),
Format( "Best", 12 )
);
// Delete column formula: SI. No.
Data Table( "Transpose of Sheet1" ):SI. No. << Delete Formula;
// Move selected columns
Data Table( "Transpose of Sheet1" ) <<
Move Selected Columns( {:"T(Type)"n, :Group, :Response}, after( :SI. No. ) );</PATH>Da kein Skript oder automatisierter Prozess angefordert wurde, können Sie dies wie folgt manuell tun (und höchstwahrscheinlich kann das JMP16-erweiterte Protokoll dies auch leicht automatisieren. Am schwierigsten ist es, die Gruppennamen von Zeilen zu Spalten zu erhalten. Dies sollte mit der Formel recht einfach sein 
1. Öffnen Sie die .xslx-Datei als datierbare Datei OHNE Header

2. Erstellen Sie eine neue Spalte mit dem Namen Gruppe und kopieren Sie die Gruppennamen entsprechend

3. Wählen Sie eine der Spalten mit fehlendem Wert aus. Rechtsklick -> Übereinstimmende Zellen auswählen -> Zeilen löschen

(3.5: Spalte 4 auf Numeric Continuous fixieren)
4. Wählen Sie im Tabellenmenü die Option Stapel

5. Ändern Sie die Werte in der Spalte T (Typ) mit Recode, entfernen / verbergen Sie zusätzliche Spalten
6. Fügen Sie bei Bedarf Spalteneigenschaften für die Wertreihenfolge hinzu und sortieren Sie sie nach Spalten
