COME eliminare gli stessi dati nella tabella?Caro,
ogni volta che vado nel menu quale "riga" cancellare gli stessi dati,
voglio eliminare automaticamente gli stessi dati nella tabella e non so come scrivere JSL
come faccio a scrivere?
Re: COME eliminare gli stessi dati nella tabella?Ho appena iniziato da zero e ha funzionato da parte mia. Ho provato sia MIn() che Max() e ha dato quello che mi aspettavo.
Ho notato un paio di cose:
1. Quando ti ho detto che ho aggiunto la colonna 1, ho dimenticato di dire che l'ho inizializzata su un numero sequenziale. IE ho praticamente replicato il numero di riga.
2. Ho notato che usi le parentesi attorno al nome della tabella e il nome della tabella termina con "$". Queste sono le interpretazioni di MS su SQL. Prova ad eliminarli.
3. Non ricordo se ti ho detto di premere il pulsante di aggiornamento nella finestra SQL personalizzata o meno, ma sembra aiutarmi prima di eseguire la query.
Re: COME eliminare gli stessi dati nella tabella?
mi dispiace dirti che non può funzionare
l'allarme è circolare riferimento ;
SELEZIONA t1.*
DA [Solubilità$] t1,
( SELEZIONARE DISTINTO "LOTTO N.", Min("Colonna 1") come "Colonna 1" DA [Solubilità$] GRUPPO PER "LOTTO NO" ) AS t2
DOVE t1."Colonna 1" = t2."Colonna 1"
Re: COME eliminare gli stessi dati nella tabella?Sono andato avanti e l'ho rifatto inserendo la sottoquery come tabella in modo da poter vedere la differenza. A volte un modo funziona meglio o è più chiaro dell'altro. Qui "t1" e "t2" sono alias.
SELEZIONA t1.*
C Solubilità t1,
( SELEZIONA "LOTTO N." DISTINTO, Min("Colonna 1") COME "Colonna 1" DA Solubilità GRUPPO PER "LOTTO N.") AS t2
DOVE t1."Colonna 1" = t2."Colonna 1"
;
Ri: COME eliminare gli stessi dati nella tabella?Ho commesso un piccolo errore: l'utilizzo di Min restituirà la tabella "elimina".Ri: COME eliminare gli stessi dati nella tabella?Il tuo problema è che stai usando DISTINCT su tutte le colonne di solubilità. Poiché per il LOTTO N. 1700002 sono presenti valori univoci (ad esempio "interruzione elettrica", "foro stenopeico") nel contenuto anomalo della colonna, continui a ottenere le stesse righe perché ogni riga è univoca nell'insieme di colonne.
Se ricordo bene, Excel (ovvero M$) sql ha una PRIMA o ULTIMA versione, SAS (ovvero JMP) no (anche se ciò potrebbe essere cambiato nelle versioni attuali.
Ecco il codice che ho scritto che sembra rispondere alla tua domanda:
SELEZIONA t2.*
DA Solubilità t2
DOVE t2."Colonna 1" IN (
SELEZIONA DISTINTO t1."Colonna 1"
DA Solubilità t1
GRUPPO PER t1."LOTTO NO"
AVERE t1."Colonna 1" = Max(t1."Colonna 1"));
Ho aperto Solubility in JMP
Ho aggiunto una colonna, Colonna 1 (pensala come una colonna Ordina/Ordine)
Successivamente sono entrato nel generatore di query SQL sotto le tabelle
Dopo aver selezionato Solublity come tabella, ho selezionato "colonna 1" e "lotto n.", che utilizzerò in una sottoquery correlata (ovvero una tabella temporanea), ho selezionato solo DISTINCT Rows e ho fatto clic su Aggiungi
Ora ho fatto clic sul triangolo accanto alla query Nome e ho scelto Converti in Sql. Questo mi permetterà di scrivere il codice (30 anni di SAS: fare clic e puntare ti porta solo così lontano).
Ho modificato il codice in base a quello che ti ho fornito sopra, ho eseguito la query, corretto eventuali errori riscontrati, finché non ha funzionato correttamente.
Fondamentalmente ho abbinato la tua solubilità modificata sulla colonna 1 nella sottoquery correlata menzionata sopra. La sottoquery restituisce "colonne 1" univoche prendendo la colonna 1 massima di ciascun gruppo di "lotto n.". Sto usando Max() qui come sostituto di last. Min() potrebbe essere usato come sostituto di FIRST.
Avrei potuto farlo anche come JOIN sulla sottoquery come un'altra tabella. Lo lasceremo per domani.
So che probabilmente è piuttosto esoterico, ma se hai qualche domanda fammi sapere, cercherò di rispondere.
RCW
Re: COME eliminare gli stessi dati nella tabella?Grazie
il file allegato con Excel "Solubilità" sono i dati originali che voglio modificare
il file allegato "data.dsn" è il database
il risultato che voglio ottenere è allegato in Excel denominato "elimina"
Scrivo "SELEZIONA distinto [LOTTO NO],codice,[contenuto anomalo] DA [Solubilità$]"
cancellare gli stessi dati che in "LOTTO NO"
ma non può funzionare.
Ri: COME eliminare gli stessi dati nella tabella?JMP Query Builder consente di aggiungere JSL alla query.Consulta la documentazione a pagina 121 in
Aiuto==>Libri==>Utilizzo di JMP
Ti permetterà di aggiungere alla tua query il codice per eliminare automaticamente le righe desiderate, ogni volta che estrai i dati.
Ri: COME eliminare gli stessi dati nella tabella?Grazie
Utilizzo "Build Query" del menu JMP per ottenere dati dal database,
@txnelson ha scritto:
Quando apri i dati dal database, dovrai aggiungere il JSL allo script che utilizzi per recuperare i dati.Quale metodo stai utilizzando per ottenere i dati dal database?
Ri: COME eliminare gli stessi dati nella tabella?Quando apri i dati dal database, dovrai aggiungere il JSL allo script che utilizzi per recuperare i dati.Quale metodo stai utilizzando per ottenere i dati dal database?
Ri: COME eliminare gli stessi dati nella tabella?Grazie,
IL la tabella dati proviene dal database e ogni volta che la apro i dati vengono aggiornati.
quindi mi aspetto il JSL da rieseguire automaticamente per eliminare gli stessi dati visualizzati nella tabella.
@txnelson ha scritto:
Si prega di precisare.Io sono confuso.Nella tabella dati che hai allegato, hai 2 colonne, "primo" e "secondo".Se desideri eliminare le righe in base alla ricerca del valore "A" nella colonna denominata "first", il JSL sarebbe:
dt = Current Data Table();
dt << Select Where( :first == "A") << Delete Rows;
Se volessi eliminare le righe in base al valore di "A" nella colonna denominata "secondo", il JSL sarebbe:
dt = Current Data Table();
dt << Select Where( :second == "A") << Delete Rows;
Quindi quando dici " ma se aggiorno i dati "........ stai indicando che quando riapri la tabella dati?Ti aspetti che JSL venga rieseguito automaticamente quando apri nuovamente la tabella dati?
dati quando apro di nuovo la tabella dati.
Ri: COME eliminare gli stessi dati nella tabella?Si prega di precisare.Io sono confuso.Nella tabella dati che hai allegato, hai 2 colonne, "primo" e "secondo".Se desideri eliminare le righe in base alla ricerca del valore "A" nella colonna denominata "first", il JSL sarebbe:
dt = Current Data Table();
dt << Select Where( :first == "A") << Delete Rows;
Se volessi eliminare le righe in base al valore di "A" nella colonna denominata "secondo", il JSL sarebbe:
dt = Current Data Table();
dt << Select Where( :second == "A") << Delete Rows;
Quindi quando dici " ma se aggiorno i dati "........ stai indicando che quando riapri la tabella dati?Ti aspetti che JSL venga rieseguito automaticamente quando apri nuovamente la tabella dati?
Ri: COME eliminare gli stessi dati nella tabella?Grazie,
ma se aggiorno i dati, non posso eliminare automaticamente gli stessi dati indicati di seguito
dt = Current Data Table();
dt << Select Where( :Col1 == "A") << Delete Rows;
Ri: COME eliminare gli stessi dati nella tabella?Supponendo che ci sia qualche condizione che puoi scrivere per selezionare i dati che desideri eliminare, controlla Select Where() nell'indice di scripting.
per esempio:
dt = Current Data Table();
dt << Select Where( :Col1 == "A") << Delete Rows;
Ciò eliminerebbe qualsiasi riga in Col1 con il valore "A".