Il tentativo di abbinare due tabelle utilizzando Table\Join e Table\Update non ha avuto successo.In allegato trovate le tabelle A, B e C.
La tabella A contiene 30 voci inserite da Peter.
La tabella B contiene 8.790 voci inserite da Jane.
La tabella C è la tabella unita corretta, creata manualmente.
Voglio abbinare le voci di Peter e Jane e creare un sottoinsieme contenente solo le "Posizioni" nella Tabella A, quindi la Tabella C.
Avevo utilizzato le funzioni Table\Join e Table\Update, ma i risultati non erano accurati.
Ad esempio, se si utilizza Location=-216,161, l'output della tabella unita dovrebbe essere il seguente...
Posizione Peter Jane
-216.161 RDL_Membrana RDL_Membrana
-216.161 RDL_Membrane .
-216.161 Detriti Detriti
Automazione e scriptingOggetto: Tentativo di abbinamento di due tabelle tramite Table\Join e Table\Update senza successoL'operazione di join/aggiornamento funziona correttamente poiché sono presenti più corrispondenze. Molto probabilmente sarà necessario aggiungere una funzione di rimozione dei valori per eliminare questi valori "in eccesso".

Oggetto: Tentativo di abbinamento di due tabelle tramite Table\Join e Table\Update senza successoCiao Jarmo,
Il tuo output non è corretto. Per Location= -216,161, Peter ha 3 output e Jane ha 2 output. Il risultato dovrebbe essere quello riportato di seguito. Come scriveresti un JSL per automatizzarlo?
Posizione Peter Jane
-216.161 RDL_Membrana RDL_Membrana
-216.161 RDL_Membrane .
-216.161 Detriti Detriti
Oggetto: Tentativo di abbinamento di due tabelle tramite Table\Join e Table\Update senza successoQuell'output è corretto per un'operazione di join/aggiornamento, ma potrebbe non essere quello che stai cercando.
1. Crea una colonna duplicata di Jane nella Tabella B
2. Utilizzare la nuova colonna (la colonna 3 nel mio caso) come colonna di corrispondenza per l'aggiornamento.

3. Seleziona le colonne Posizione e Jane, Righe > Selezione righe > Elimina duplicati
4. Seleziona solo la colonna Jane (clicca sull'intestazione della colonna (a volte è necessario tenere premuto Alt)) ed elimina i valori corrispondenti (premi Canc).


Oggetto: Tentativo di abbinamento di due tabelle tramite Table\Join e Table\Update senza successoVorrei realizzare quanto sopra tramite JSL. Inoltre, il set di dati cambierà e ci saranno momenti in cui la colonna di Jane conterrà un duplicato, e questo non è un problema.
Oggetto: Tentativo di abbinamento di due tabelle tramite Table\Join e Table\Update senza successoProbabilmente proverei a farlo tramite un flusso di lavoro. Ovviamente, puoi usare direttamente JSL se sei in grado di scrivere uno script di questo tipo.
Oggetto: Tentativo di abbinamento di due tabelle tramite Table\Join e Table\Update senza successoPrenderesti in considerazione la possibilità di modificare prima la formattazione dei tuoi dati? Per esperienza, a volte è più semplice riformattare i dati in un formato più adatto all'analisi, piuttosto che utilizzare script complessi per adattare l'analisi al formato dei dati. Avere più righe corrispondenti a una particolare posizione (formato "Tall") funziona in molti casi, ma diventa problematico quando sono presenti anche osservazioni duplicate (ovvero più righe completamente identiche). JMP non sempre sa come gestire tali duplicati, quindi potrebbe non fornire i risultati attesi durante l'unione.
Ad esempio: prendereste in considerazione la possibilità di cambiare il formato da "Alto" a "Largo"? Una soluzione di questo tipo è comune, ad esempio, nei dati di ispezione/test dei semiconduttori, quando sono presenti diverse categorie di errore o livelli di resa.
Scopri di più...
Local( {obj},
obj = Data Table( "Table A" ) << Tabulate(
Add Table(
Column Table(
Grouping Columns( :Peter ),
Add Aggregate Statistics( :Peter )
),
Row Table( Grouping Columns( :Location ) )
)
);
obj << Make Into Data Table;
obj << Close Window;
);
Il risultato è una tabella simile a questa:

Unire le tabelle in questo formato per entrambi gli operatori sarebbe molto più semplice.
Un'altra opzione che potresti prendere in considerazione è il tipo di modellazione a risposta multipla. Ad esempio:
Scopri di più...
dt=Data Table( "Table A" ) << Split(
Split By( :Peter ),
Split( :Peter ),
Group( :Location ),
Output Table( "Split of Table A by Peter" ),
Sort by Column Property
);
// New formula column: Concatenate[BL_Twin,Debris,Good_FS,Probemarks,RDL_Membrane,RDL_SpotsDark]
dt <<
New Formula Column(
Operation( Category( "Character" ), "Concatenate with Comma" ),
Columns(
:BL_Twin, :Debris, :Good_FS, :Probemarks, :RDL_Membrane, :RDL_SpotsDark
)
) << Run Formulas;
dt:"Concatenate[BL_Twin,Debris,Good_FS,Probemarks,RDL_Membrane,RDL_SpotsDark]"n <<
Set Modeling Type( "Multiple Response" );
che ha questo aspetto:
