Dopo aver creato una nuova colonna, come la sposti in modo che diventi la prima colonna usando uno script?Ciao a tutti,
Sfondo:
Quindi sto cercando di automatizzare un processo che utilizzo per recuperare dati di esempio da un database SQL. Quello che faccio è utilizzare il generatore di query del database ed estrarre i dati con uno script post-query che è dove andrà il codice fittizio di seguito.
Problema:
Al momento ho lo script per creare una nuova colonna e dargli le formule che voglio, ma ciò che sarebbe veramente utile è avere alcune righe di codice per poi mescolare alcune di queste nuove colonne.
Il mio codice fittizio è il seguente:
"
New Column( "ColumnToMove",
Numeric,
"Nominal",
Format( "Best", 12 )
Formula(1));
Move Selected Columns({“ColumnToMove”}, To First);
"
(Per favore perdona eventuali malintesi su come funziona questo linguaggio di scripting, al momento sono molto nuovo)
Molte grazie per qualsiasi aiuto dato
Ri: Dopo aver creato una nuova colonna come la sposti in modo che diventi la prima colonna usando uno script?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Non c'è niente di sbagliato nell'ordinare le colonne ed è fantastico mantenere le cose organizzate durante la codifica.Tuttavia, PUÒ rallentare il tuo codice.L'ovvio è che sta aggiungendo un ulteriore passaggio che in realtà non fa nulla.Riordinare una tabella invisibile sarà più veloce, ma, di nuovo, le tabelle sono invisibili, quindi il riordino non serve a nulla.
Inoltre, un programmatore alle prime armi potrebbe anche prendere l'abitudine di riordinare le colonne per eseguire tale o tale analisi sulle prime 5 colonne o sulle ultime 5 colonne, il che è una cattiva abitudine e produce un codice meno flessibile e più lento.
Infine, scegliere tra l'aggiunta di colonne con SQL o JSL è un'opinione personale.Ovviamente entrambi possono aggiungere una colonna in più dove Colonna 3 = Colonna 1 + Colonna 2. Con SQL questo trasferisce la potenza di elaborazione dal computer host alla CPU del server, che potrebbe essere più lenta/più veloce ma sarà più coerente tra le piattaforme.Con SQL arriva l'ulteriore vantaggio di poter posizionare quella colonna dove vuoi senza aggiungere uno o due passaggi aggiuntivi.Detto questo, spesso preferisco usare JSL per aggiungere colonne.
Ri: Dopo aver creato una nuova colonna come la sposti in modo che diventi la prima colonna usando uno script?Grazie per tutto il vostro aiuto a tutti, lo apprezzo davvero. Ho la mia risposta e altro ancora
(msharp - il motivo per cui non sto usando SQL per fare più lavoro è perché sto usando il generatore di query per ottenere i miei dati da SQL e non credo che tu possa apportare ulteriori modifiche all'SQL che sta usando. Ora potrei scrivere tutta la mia query nel linguaggio di scripting e fare tutto il lavoro all'interno di SQL anziché di JMP. Tuttavia trovo molto utile poter selezionare diverse variabili utilizzando il generatore di query ogni volta prima di estrarle (piuttosto che codificarle e dover trovare ogni volta le voci nello script). Allo stesso modo, però, potrei perdermi qualcosa.
Inoltre sono d'accordo sul livello di presentazione, ma attualmente lo trovo abbastanza utile in questo momento mentre sto facendo i conti con le cose da organizzare mentre procedo. Inoltre ho un bel numero di colonne (il mio prossimo passo sarà raggrupparle usando il linguaggio di scripting) il che significa che quando si tratta di esplorazione dei dati (che è attualmente quello che sto facendo) è utile avere le colonne più rilevanti più vicino a portata di mano. Inoltre, quando arrivo a utilizzare il generatore di grafici, ecc., Rende l'esplorazione dei dati un po 'più semplice. Grazie ancora per tutto il vostro aiuto)
(Jeff Perkinson - No, non lo sapevo. Grazie mille per averlo portato alla mia attenzione. Sarà molto utilizzato d'ora in poi)
Ri: Dopo aver creato una nuova colonna come la sposti in modo che diventi la prima colonna usando uno script?Suggerimento fantastico.
Generalmente non sposto mai le colonne.O Ordinare le colonne è più una questione di presentazione da allora i dati non dovrebbero dipendere dall'ordine delle colonne.È meglio lasciare la presentazione a un livello di presentazione come un grafico o un grafico e non una tabella di dati.
Ri: Dopo aver creato una nuova colonna come la sposti in modo che diventi la prima colonna usando uno script?
A proposito: se non l'hai già trovato, il Indice degli script sotto il Aiuto menu è tuo amico.

Ri: Dopo aver creato una nuova colonna come la sposti in modo che diventi la prima colonna usando uno script?Se fornisci i nomi delle colonne a sposta le colonne selezionate non è necessario selezionarli per spostarli.
dt = New Table( "Untitled", Add Rows( 1 ),
New Column( "First", Numeric, "Continuous", Format( "Best", 12 ),
Set Values( [1] ) ),
New Column( "Second", Numeric, "Continuous", Format( "Best", 12 ),
Set Values( [2] ) )
);
dt << New Column( "ColumnToMove", Numeric, "Nominal", Format( "Best", 12 ), Formula(1));
wait(2); // Put a delay to see the effect
dt << Move Selected Columns({"ColumnToMove"}, To First);
Ri: Dopo aver creato una nuova colonna come la sposti in modo che diventi la prima colonna usando uno script?Lo spostamento delle colonne è possibile, ma sembra sempre che siano necessari due o tre passaggi in più rispetto a quanto dovrebbe.Principalmente, puoi spostare solo colonne selezionate e non è facile selezionare le colonne.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Go To( :Age );
Wait( 2 );
dt << Move Selected Columns( To last );
dt << Clear Column Selection;
Wait( 2 );
dt << Reverse Order;
C'è qualche motivo per cui non puoi semplicemente modificare il tuo SQL per ottenere le colonne nell'ordine che desideri?SQL è un linguaggio abbastanza robusto che puoi eseguire la maggior parte degli script di colonne direttamente nel pull dei dati.
Ri: Dopo aver creato una nuova colonna come la sposti in modo che diventi la prima colonna usando uno script?Penso che tu possa utilizzare l'aggiunta di più colonne per impostare la posizione quando la crei o utilizzare il messaggio di spostamento delle colonne selezionate che menzioni:
dt=currentdatatable();
dt<<ADD multiple="" columns=""></ADD>
È possibile specificare la posizione con After(col) per entrambi i metodi