Ciao,
Sto incontrando alcune sfide nella conversione del foglio dati Excel in cui i dati vengono distribuiti in questo modo. ho allegato anche il foglio di calcolo.
qualche idea su questo? come posso convertire rapidamente una data simile da un foglio Excel a un set di dati JMP?
Grazie

Utilizzando la nuova versione 16 di JMP, ho semplicemente seguito i passaggi interattivi per modificare i dati, quindi ho tagliato e incollato il JSL dal registro nel mio script.Ho quindi applicato alcune delle mie preferenze al codice, ma non sarebbe stato necessario.
Nota: ho anche eliminato la grafica e le colonne dei risultati finali dal foglio dati di Excel, Data wrangler, prima di aprirlo in JMP

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>Poiché non è stato richiesto alcun processo di scripting o automatizzato, ecco come puoi farlo manualmente (e molto probabilmente il registro avanzato di JMP16 potrebbe facilmente automatizzare anche questo, la parte più difficile è molto probabilmente ottenere i nomi dei gruppi dalle righe alle colonne, dovrebbe essere abbastanza semplice con la formula 
1. Aprire il file .xslx come databile SENZA intestazioni

2. Creare una nuova colonna denominata Gruppo e copiare e incollare i nomi dei gruppi di conseguenza

3. Selezionare una delle colonne con valore mancante. Fare clic con il tasto destro -> Seleziona celle corrispondenti -> Elimina righe

(3.5: Correggi la colonna 4 in Numerico continuo)
4. Dal menu delle tabelle scegliere Stack

5. Modificare i valori nella colonna T (tipo) con Ricodifica, rimuovere / nascondere le colonne aggiuntive
6. Aggiungere le proprietà della colonna Ordine valori, se necessario, e ordinare per colonne
