Unire tabelle diverse con uno script generaleCIAO,
So che possiamo unire facilmente le tabelle sotto l'intestazione Tabella, ma sto cercando di sviluppare uno script che sia in grado di unire le tabelle senza dover specificare i nomi delle colonne.
Ho tre tabelle dati. Le prime due colonne sono sempre le stesse, ma le altre possono sempre cambiare nome. La situazione si complica perché, per un batch diverso, posso usare le stesse tre tabelle dati, ma il nome delle prime due colonne potrebbe cambiare. Quindi sto cercando di unire tutte e tre queste tabelle usando la posizione delle prime due colonne come colonna di collegamento e di aggiungere le altre colonne insieme in un'unica grande tabella dati.
Ho provato a usare variabili o posizioni di colonna, ma non ha funzionato. Ho provato anche con la funzione New SQL Query(), ma credo che anche quella debba specificare le colonne.
Qualcuno ha un'idea su come possiamo sviluppare uno script generale che possa semplicemente unire tre tabelle diverse in una?
Combinazione e pulizia dei datiRe: Unire tabelle diverse con uno script generaleLa soluzione più semplice sarebbe scrivere uno script che rinomini le colonne in modo che siano uguali, ma è anche possibile scrivere uno script che utilizzi nomi di colonna diversi.
Re: Unire tabelle diverse con uno script generaleC'è un modo per rendere lo script "generale"? In modo da non dover specificare i nomi delle colonne all'interno dello script?
Forse è meglio far sì che lo script prenda i nomi delle colonne dai dati stessi?
Re: Unire tabelle diverse con uno script generaleHo capito la sceneggiatura:
dt = {Tabella dati ("X"), Tabella dati ("Y"), Tabella dati ("Z")};
// Inizia con la prima tabella come base
unitoDT = dt[1];
// Unisci in sequenza ogni tabella rimanente al risultato accumulato
Per(i = 2, i <= N elementi(dt), i++,
tmpDT = joinedDT << Unisci(
Con(responseTables[i]),
Elimina multipli (1,1),
Includi non corrispondenze (0,0),
Unisci colonne con lo stesso nome,
Mantieni l'ordine della tabella principale (1)
);
// Rinomina la tabella intermedia
tmpDT << Set Name("Tabella dati intermedi");
// Sostituisci joinedDT con la tabella appena unita per la prossima iterazione
joinedDT = tmpDT;
);
Avrei preferito che nell'indice degli script ci fossero più informazioni su questa parte della funzione Join:
Elimina multipli (1,1),
Includi non corrispondenze (0,0),
Unisci colonne con lo stesso nome,
Mantieni l'ordine della tabella principale (1)
Ho dovuto procedere per tentativi ed errori per capirlo!
Re: Unire tabelle diverse con uno script generaleIn genere, il modo migliore per imparare cose di questo tipo è farlo in modo interattivo in JMP. Puoi anche andare alla pagina della Guida in "Scripting Index" per maggiori informazioni : "Usare JMP > Rimodellare i dati > Unire tabelle dati".
Re: Unire tabelle diverse con uno script generaleGrazie, non sapevo che portasse direttamente alla pagina di supporto. È utile, ma non c'è una spiegazione dello script. Era quello che cercavo, perché volevo creare uno script per creare un componente aggiuntivo che lo facesse automaticamente.
Re: Unire tabelle diverse con uno script generaleA volte il riferimento alla sintassi JSL è migliore della pagina di aiuto che apre la Guida allo scripting (a volte fa riferimento al riferimento alla sintassi JSL)
Riferimento alla sintassi JSL > Messaggi JSL > Messaggi della tabella dati e cerca <

È possibile trovare la versione .pdf di JSL Syntax Reference (preferirei che la ricerca nella Guida di JMP fosse un'altra cosa...) nella documentazione di JMP.
Inoltre, la pagina di aiuto spiega le opzioni, ma può essere un po' più difficile comprenderle appieno dalla pagina di aiuto della piattaforma:
Drop Multiples(1,1),

Include Nonmatches(0,0),

Unisci colonne con lo stesso nome,

Preserve Main Table Order(1)

In generale, il metodo per iniziare a imparare JSL è quello di provare ed sbagliare (o lasciare che JMP esegua lo scripting per te).
Re: Unire tabelle diverse con uno script generaleÈ molto utile, grazie mille per avermi indicato la giusta direzione!