Sto cercando di dividere DT-2 (allegato) - Dividi per: Marcatore, Dividi colonne: Risultati. Voglio "mantenere tutte" le colonne rimanenti.
Il problema che sto riscontrando è che alcuni indicatori hanno più righe di altri. Quindi, quando divido, combina il "lotto" successivo per riempire gli altri indicatori che hanno meno righe del massimo nella tabella.
Ad esempio, dovrebbero esserci solo 3 valori per CD19+ per il lotto 7587082, ma dopo la suddivisione ne mostra 6, assorbendo i valori del lotto successivo, 7587083.
Come faccio a farlo funzionare correttamente? Mi sfugge qualcosa? Idealmente, vorrei che fosse in uno script... che al momento si presenta così (non è visibile l'intero script, solo la divisione):
dt3 = dt2 << Dividi( Dividi per( :Marcatore ), Dividi( :Risultati ));
Ogni aiuto sarà molto apprezzato!!!
Immagino di non capire perché se selezioni le opzioni Mantieni le colonne, riempirà le colonne mantenute con dati permutati che non corrispondono correttamente ai dati divisi dalle righe originali della tabella originale. In quale possibile situazione sarebbe utile questo comportamento predefinito?
Ad esempio, perché non dovrebbe passare attraverso la tabella originale riga per riga e dopo la divisione generare una nuova tabella con una riga corrispondente per ciascuna originale ma solo con la colonna selezionata divisa.
Il modo in cui si comporta per me è che mentre esegue la divisione finisce con i dati permutati nelle colonne mantenute.
L'unico modo per mantenere i dati correttamente associati riga per riga consiste nell'includere tutte le colonne conservate nel raggruppamento.
Mi piacerebbe caricare un datatable qui come esempio, ma ovviamente la mia azienda non ci consente di condividere nessuno dei dati privati.
*modifica: ho ricodificato la tabella quindi la caricherò qui.
Questa tabella ha le colonne da A a G.
Voglio dividere Col G per Col B mantenendo tutte le etichette in col A, C, D, E correttamente associate ai dati corrispondenti nello split col G.
L'esecuzione dello script seguente genera una tabella incasinata con le voci in col A,C,D,E non corrispondenti ai loro valori relativi dal col G diviso.
Data Table( "example-table" ) << Split( Split By( :B ), Split( :G ) )
Questo genera un risultato corretto penso:
Data Table( "example-table" ) << Split(
Split By( :B ),
Split( :G ),
Group( :A, :C, :D, :E ),
Sort by Column Property
)
Ma ancora non capisco perché qualcosa debba essere raggruppato al 1° posto:
Se eseguo il seguente script, mi mostra che la tabella originale ha solo una riga per una determinata combinazione di A, B, C, D, E, quindi non dovrebbe essere richiesto alcun raggruppamento giusto?
Data Table( "example-table" ) << Summary(
Group( :A, :C, :D, :E, :B ),
Freq( "None" ),
Weight( "None" )
)
La piattaforma Split è una piattaforma generica.Non legge alcuna informazione dalla tabella dati, come raggruppamento, ecc.Richiede all'utente di compilare le colonne Dividi per, Dividi colonne e Raggruppa.
Vorrei riproporre questa vecchia domanda.
Puoi spiegare perché si verifica questo comportamento?
Ho riscontrato lo stesso problema ed è controintuitivo per me perché devi raggruppare per alcune variabili invece di JMP che lo fa automaticamente quando mantieni le colonne?
L'ha fatto. Grazie txnelson!
Gruppo( :Numero di lotto, :Strumento )