Hai bisogno di aiuto per importare Excel, foglio di lavoro specifico con titolo della cartella di lavoro per la concatenazione alla tabella esistenteHo una serie di file Excel da cui trasferisco i dati in JMP per l'analisi. Fino a poco tempo fa, lo facevo in un modo molto medievale, aprendo manualmente i file Excel e copiando le informazioni rilevanti direttamente nelle tabelle JMP. Sebbene ciò sia sostenibile, credo che la funzione di importazione (insieme alla concatenazione da aggiungere alle tabelle di dati esistenti) sia una soluzione a lungo termine molto migliore per migliorare l'efficacia.
Le mie informazioni rilevanti si trovano nel foglio 4 di ogni cartella di lavoro ed è etichettato "ciclo". Devo importare da 4 a 20 cartelle di lavoro di questo tipo alla volta, con cui aggiornare le mie tabelle JMP. Ogni cartella di lavoro ha un titolo di stringa, solitamente lungo 8 caratteri. Questo è un identificatore univoco dell'oggetto da testare.
Le mie domande sono queste: è possibile sostituire il nome della tabella generata al momento dell'importazione (ad esempio, in questo momento se importo 8 file, le tabelle generate in JMP sono "ciclo" "ciclo 2", "ciclo 3" ecc.) .) devono essere i titoli delle cartelle di lavoro Excel originali (diventando in questo esempio "cartella di lavoro 1", "cartella di lavoro 2", "cartella di lavoro 3" ecc.)?
La mia prossima domanda riguarda la concatenazione. È possibile per me scrivere uno script in grado di analizzare una cella specifica (ad esempio, quella generata dal tuo script, che copia il titolo della cartella di lavoro in una colonna specifica durante l'importazione), e quindi utilizzare il valore all'interno di quella cella per aggiungere le informazioni nelle colonne rimanenti in una tabella JMP esistente?
Per chiarire, immaginiamo che sto testando un oggetto, in questo caso etichettato "A71320". Ho una tabella dati JMP chiamata anche "A71320", che è una raccolta di tutti i miei dati rilevanti per questo oggetto di test. Ogni nuovo test genera un file Excel, anch'esso etichettato "A71320". Vorrei importare questo file utilizzando il tuo script. Se ho capito bene, copierà tutti i dati dal foglio 4, "ciclo", creerà una nuova tabella JMP, etichettata "ciclo", e quindi all'interno di questa nuova tabella creerà una nuova colonna con 1 cella popolata, "A71320" . Vorrei quindi eseguire uno script che vedrà questa cella "A71320", riconoscerà una tabella esistente all'interno di JMP chiamata "A71320" e aggiungerà tutte le informazioni tranne la cella titolare, da "ciclo" a "A71320". È possibile?
I miei più sinceri ringraziamenti per aver dedicato del tempo a leggere questa domanda.
Antilope
Personalizzazione di massafinestreRi: Ho bisogno di aiuto per importare Excel, foglio di lavoro specifico con titolo della cartella di lavoro per la concatenazione alla tabella esistenteEcco uno script che dovrebbe darti un buon inizio per scrivere il tuo script per completare il tuo compito.Assicurati di studiare lo script fornito, in modo da capire come funziona.
Names Default To Here( 1 );
// Set the object in question
object = "A71322";
// Get a list of input xls files to proces
// I am using the method where all files to be processed are moved into a single directory
dir = "C:\users\xxxx\input files\";
theFiles = Files In Directory( dir );
// Create the start of the final data table
dt = New Table( "Combined",
New Column( "Run",
formula(
If(
Row() == 1, 1,
:Cycle ID == 1 & Lag( :Cycle ID ) != 1, Lag( :Run ) + 1,
Lag( :Run )
)
)
),
New Column( "Total Cycle Number", formula( Row() ) )
);
// Loop through all of the file names and select only object in question files
For( i = 1, i <= N Items( theFiles ), i++,
If( Contains( theFiles[i], object ) == 1,
dtCycle = Open(
Char( dir ) || theFiles[i],
Worksheets( "cycle" ),
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( "-" )
)
);
dt = dt << concatenate( dtCycle, Append to first table( 1 ) );
// Clean up
Close( dtCycle, nosave );
)
);Ri: Ho bisogno di aiuto per importare Excel, foglio di lavoro specifico con titolo della cartella di lavoro per la concatenazione alla tabella esistenteCIAO @txnelson ,
Ti sento! Per favore vedere l'allegato. Come descritto sopra, genero frequentemente "nuovi" file A71322.xls. Ogni istanza del file è unica (ho una struttura di file system per archiviarli/differenziarli) e ciascuno corrisponde a un "Run" come descritto nella tabella .jmp. Di solito apro manualmente il file excel, quindi copio tutti i dati sotto le intestazioni di colonna nel foglio di lavoro "ciclo", quindi li incollo nella tabella .jmp sotto l'ultima voce nella colonna "ID ciclo". Le formule per "Total Cycle Number" e "Run" generano voci corrette nella tabella dati.
Finora sono stato in grado di ricreare quanto sopra importando i libri Excel, solo il foglio del ciclo e quindi utilizzando la funzione di concatenazione di base. Tuttavia, attualmente è lento e il fatto che venga importato solo il nome del foglio (ovvero l'importazione, diciamo, 4 cartelle di lavoro porta a "ciclo" "ciclo 1" "ciclo 2" e "ciclo 3") a volte crea confusione. È più veloce per me continuare manualmente come ho fatto.
Tuttavia, i miei set di dati sono in continua crescita e quindi sto cercando una soluzione di scripting. Eseguo test per più batterie (ad es. A71321, A71311 ecc.) e sono fiducioso di poter adattare la soluzione fornita.
Un'altra cosa da notare, il titolo della cella può essere trovato nel foglio "test", cella I-6 se è utile (tuttavia, questo non è così flessibile come poter importare il titolo della cartella di lavoro nel mio scenario. ).
Ancora una volta, la tua pazienza nel leggere la mia richiesta e qualsiasi risposta imminente sono entrambe apprezzate. Se hai bisogno di altre informazioni sarò a tua disposizione per rispondere.
Saluti,
Antilope
Re: Ho bisogno di aiuto per importare Excel, foglio di lavoro specifico con titolo della cartella di lavoro per la concatenazione alla tabella esistenteQuesto non sembra essere un compito difficile... tuttavia, i dettagli specifici sono troppo ambigui per tentare di scrivere una sceneggiatura che soddisfi le tue esigenze.Esempi delle tue cartelle di lavoro Excel di input e tabelle di dati finali sarebbero davvero utili nel tentativo di guidarti attraverso lo sviluppo di uno script.