Bug nell'utilizzo di Concatena/Aggiungi su tabelle con colonne con Controllo elenco<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />// Questo codice mostra il bug.La concatenazione con Aggiungi alla prima tabella provoca il danneggiamento dei dati.
dtA = nuova tabella("A");
dtB = nuova tabella("B");
dtA << Aggiungi righe(3);
dtB << Aggiungi righe(1);
colA = Colonna(dtA, 1);
colB = Colonna(dtB, 1);
colA[1]="A";
colA[2]="A";
colA[3]="C";
colB[1]="B";
dtA << Comprimi colonne selezionate (dtA << Ottieni nomi di colonne ());
// Questi dati non hanno un controllo elenco, ma non sono danneggiati
(dtA << Concatena (dtB)) << Imposta nome ("Non danneggiato");
// Questi dati sono danneggiati
dtA << Concatena(dtB, Aggiungi alla prima tabella(1)) << Imposta nome("corrotto");
Ri: Bug nell'utilizzo di Concatena/Aggiungi su tabelle con colonne con controllo elencoOk, grazie Martin per il consiglio su come farlo entrare nel radar del team di sviluppo...
- Bob
Ri: Bug nell'utilizzo di Concatena/Aggiungi su tabelle con colonne con controllo elencoCiao Bob,
scusate per la risposta tardiva, ero in viaggio per visitare i clienti.
Capisco il tuo punto di vista. Allo stesso tempo penso che ci sia poco che si possa fare per evitare che ciò accada. Cercherò di spiegare perché. Con la compressione si ha un controllo dell'elenco avviato con i valori che si trovano all'interno delle colonne al momento della compressione. Supponiamo che non vi sia stata alcuna compressione e che tu crei un controllo elenco da solo. Lo scopo di un controllo dell'elenco è consentire solo a tali valori di trovarsi in quella colonna. Altri hanno detto che non vuoi avere altri valori oltre a quelli.
Non importa se concateni altre tabelle all'originale con il controllo dell'elenco o semplicemente digitando nuove osservazioni in quella tabella, consentirà solo quei valori poiché ritiene che tu abbia impostato quelle regole per scopo e non vorrei che il software funzionasse contro il mio stabilire regole.
Detto questo, è compito del creatore delle regole modificare le regole se è necessario consentire l'inserimento di altri valori.
Detto questo, e sono sicuro che tu abbia già capito quanto sopra, si tratta di un comportamento previsto, anche se non esattamente quello che ti piace.
Ti suggerisco di scrivere al nostro supporto tecnico ( support@jmp.com ) per aggiungere una richiesta di miglioramento per aggiungere una finestra di dialogo delle domande nel caso in cui si concateni una tabella di dati selezionata (o compressa) con una nuova tabella utilizzando il flag "aggiungi alla tabella originale". La finestra di dialogo potrebbe affermare qc. in questo modo: "C'è un controllo elenco attivo nella tabella originale. La tua tabella da concatenare ha valori non elencati lì, tali valori verranno convertiti in valori mancanti dopo la concatenazione. Vuoi comunque concatenare? (In caso contrario devi prima modificare le proprietà del controllo dell'elenco)" - o qualcosa di più breve
Per risolvere il problema hai due scelte: prima creare una nuova tabella che poi comprimi (potresti voler avere la tabella dati "invisibile" finché la compressione non è stata eseguita). Oppure in secondo luogo per modificare o rimuovere in anticipo la proprietà di controllo dell'elenco.
Spero che aiuti,
Martino
Ri: Bug nell'utilizzo di Concatena/Aggiungi su tabelle con colonne con controllo elencoScusa, non intendevo discutere sulla parola "corrotto", né stavo cercando di ignorare quello che ritieni sia un bug.
Stavo cercando di spiegare cosa hai ottenuto. Se rimuovi la proprietà di controllo elenco dalla colonna, l'aggiunta funzionerà come previsto.
È stata la proprietà di controllo dell'elenco che sembra causare confusione.
Per definizione, la proprietà di controllo dell'elenco indica che solo i valori nella tabella di controllo dell'elenco sono validi.
Se aggiungi o modifichi un valore nella colonna in un valore che non è presente nella tabella di controllo elenco, verrà impostato come mancante.
Ri: Bug nell'utilizzo di Concatena/Aggiungi su tabelle con colonne con controllo elencoIO Veramente non capisco il senso di discutere sulla semantica della parola "corrotto".La tabella dati risultante è una concatenazione valida delle due tabelle dati originali?Chiaramente non lo è.I record sono stati modificati, nonostante il corretto utilizzo delle funzionalità JMP.Il fatto che Concatena SENZA Aggiungi alla prima tabella dia un risultato diverso (corretto) rispetto a Concatena CON Aggiungi alla prima tabella dovrebbe preoccuparti.Anche il fatto che un cliente ti dica che c'è un bug dovrebbe preoccuparti...
Grazie,
- Bob
Ri: Bug nell'utilizzo di Concatena/Aggiungi su tabelle con colonne con controllo elencoCome ha detto Martin, la tabella dei dati non è stata "corrotta".
Presumo che tu intenda che la tabella dati risultante non è quella che ti aspettavi. Ti aspettavi che "B" fossero i dati per la quarta riga.
Se guardi la proprietà di controllo elenco generata, ci sono 2 valori, "A" e "C".
Per definizione, solo "A" e "C" sono dati validi per la colonna.
Poiché "B" non è un valore valido, è stato mappato su mancante.
Compress genera la tabella di controllo dell'elenco in base alle informazioni che conosce al momento.
Forse Concat dovrebbe essere più intelligente ed espandere la tabella di controllo dell'elenco.
In alternativa, rimuovere completamente la proprietà di controllo dell'elenco se non tutte le colonne da concatenare hanno la stessa proprietà di controllo dell'elenco.
Ri: Bug nell'utilizzo di Concatena/Aggiungi su tabelle con colonne con controllo elencoMartino,
Grazie per l'attenzione.Quella "B" mancante È la corruzione dei dati.JMP ha introdotto un valore (stringa vuota) che non era presente prima della concatenazione e ha eliminato un valore ("B") che era presente prima della concatenazione.Quindi la tabella non è una concatenazione valida delle due tabelle originali.Se si trattasse di un'applicazione aziendale critica, JMP inietterebbe errori, giusto?
Capisco come succede, ma JMP dovrebbe rivalutare gli elementi necessari nel controllo dell'elenco per garantire che il set di dati concatenato non perda/modifichi alcun dato.
Grazie,
- Bob
Ri: Bug nell'utilizzo di Concatena/Aggiungi su tabelle con colonne con controllo elencoCiao Roberto,
Ho provato il tuo script e non vedo corruzione dei dati. Vedo solo che c'è una quarta riga in dtA senza voci a causa del controllo dell'elenco. Se usi il menu "tabella dati" -> "concatena" e poi hai le tabelle A e B e la casella di controllo Aggiungi alla prima tabella selezionata E controlla l'opzione "Colonna origine dati" vedrai che ci sono i dati dalla tabella B , ma non inserito a causa del controllo dell'elenco, introdotto a causa della compressione.

Se non è questo che intendi, poiché ora non ho set di dati danneggiati (e direi che i dati danneggiati non sono più leggibili), aiutami a capire il tuo problema. Se ottieni davvero una tabella dati danneggiata che non puoi più aprire, invia la tua domanda al nostro supporto tecnico in modo che venga monitorata anche per il nostro sviluppo e, si spera, possano aiutarti a trovare il motivo ( Support@jmp.com ).
A proposito. Ho usato JMP 12.1.
Saluti,
Martino