Altoparlante
|
Trascrizione
|
| Georg Raming (Siltronic AG) |
Ciao a tutti. |
| |
Oggi voglio parlare di strategie ed esempi per l'acquisizione di dati da fonti distribuite e complesse. |
| |
Il mio nome è Georg Raming, il mio lavoro è lo sviluppo del processo di ??? cristalli singoli cresciuti a Siltronic. Ho una certa esperienza con la valutazione statistica e il processo |
| |
e dati sui prodotti e formazione statistica. Sono responsabile anche del software JMP presso Siltronic e delle attività di formazione per poche centinaia di utenti. |
| |
Siltronic è uno dei principali produttori mondiali di wafer di silicio iperpuro altamente specializzati. |
| |
Alcuni suggerimenti tecnici. Quindi sto lavorando qui con tabelle di dati invece che con database in questa presentazione, ma i concetti mostrati qui sono originariamente utilizzati per ottenere dati da database relazionali tramite connessione ODBC. |
| |
E JMP Query Builder funziona in modo simile per le tabelle di dati JMP e per le tabelle di database. |
| |
Qual è l'obiettivo della presentazione di oggi? Consiste nello stabilire alcuni modi per ottenere dati dal database in modo semplice ed efficiente in JMP o in una tabella JMP. |
| |
Parliamo prima degli elementi costitutivi. |
| |
Quindi una potrebbe essere una tabella dati JMP. |
| |
Quindi, se hai generato una tabella di dati da una query di database, potrebbe essere simile a questa. Quindi ho preso qui la famosa tabella di esempio da JMP, Big Class, e ho interrogato i dati tramite JMP Query Builder. Ho cancellato tutto lo script fornito con la tabella. |
| |
E troverai |
| |
per questa tabella di dati se si esegue una query tramite JMP Query Builder, diversi script e variabili di tabella. |
| |
Quindi all'interno di quella variabile, puoi vedere l'SQL. Quindi la definizione della tabella di dati viene ricavata dalla tabella o dal database. |
| |
E hai questi script, uno script sorgente che semplicemente |
| |
ottiene un'altra copia della tabella dati originale come questa. E qui puoi vedere che gli script originali sono anche lì, ma ci sono ancora questi script da JMP Query Builder. |
| |
Esiste anche uno script di modifica della query che consente di modificare questa query sulla tabella dati JMP e anche di eseguirla. |
| |
E c'è una query per l'aggiornamento dal database. Quindi, se modifichi i dati nella tabella dei dati |
| |
oppure ci sono nuovi dati nella tabella dati, puoi semplicemente aggiornare i dati premendo questo pulsante. |
| |
Come questo. Anche qui gli script sono tornati dalla tabella di esempio. |
| |
Ok, quindi il prossimo blocco di costruzione è JMP Query Builder. |
| |
Quindi, una volta che hai una o più tabelle nel database, vuoi fare una query come qui, ho preso Big Class e Big Class Families dalla tabella di esempio JMP |
| |
directory e utilizzare JMP Query Builder come |
| |
qui sui tavoli. JMP Query Builder. |
| |
JMP vede queste tabelle aperte |
| |
e ce n'è anche una nel campo primario, e posso aggiungere una tabella secondaria come questa, e JMP crea automaticamente un join tra le due tabelle. Quindi come si uniscono. E puoi modificare questo join |
| |
come questo. |
| |
Vedrai i dettagli qui. |
| |
E poi puoi continuare a costruire la query |
| |
come questo. Hai entrambi i tavoli qui disponibili. |
| |
Qui puoi anche modificare di nuovo il join |
| |
E forse vuoi aggiungere tutto |
| |
colonne, |
| |
come questo. |
| |
E forse vuoi mettere un filtro, |
| |
come questo. |
| |
Ed esegui la query. Poi di nuovo tu |
| |
ottieni questa tabella dei risultati con gli script dal file |
| |
tabelle di esempio di cui non abbiamo bisogno qui. |
| |
Li elimino. E questi sono gli script, gli script e le variabili scritti da JMP Query Builder |
| |
come l'ho usato prima. E ancora, qui puoi |
| |
modifica questa query. Lo script per la query viene salvato in questa tabella dei risultati qui, come l'abbiamo definito qui prima. |
| |
Ecco come funziona JMP Query Builder. |
| |
E come accennato prima, funziona allo stesso modo sulle tabelle di database come funziona qui sulle tabelle di esempio JMP. |
| |
Il prossimo edificio ... Ho anche messo qui alcuni script e puoi sempre passare da Visual Query Builder |
| |
a un SQL personalizzato |
| |
query. Quindi funziona qui. Un altro menu a triangolo rosso. |
| |
Converti in SQL personalizzato e ciò che hai definito qui visivamente, |
| |
puoi definire qui in una query SQL di testo. |
| |
Puoi eseguirlo. |
| |
E quando si guarda qui questa query o si preme il pulsante Modifica query, |
| |
vedrai la query di testo. Quindi questo è solo un modo |
| |
conversione da query visiva a query SQL personalizzata. |
| |
Quindi lasciami solo riordinare |
| |
alcuni tavoli. Va bene. |
| |
Il prossimo blocco di costruzione è ottenere i dati dal database ed è necessaria una connessione ODBC a tali origini dati. |
| |
E di solito le origini dati ODBC e i driver vengono impostati dall'amministrazione IT. Quindi, sotto Windows, puoi trovare |
| |
queste connessioni sotto l'amministratore dell'origine dati ODBC. |
| |
E tieni presente che la bit-ness delle origini del database dovrebbe adattarsi a JMP. Quindi in questo caso ho un'applicazione JMP a 64 bit e quindi ho bisogno di driver a 64 bit |
| |
E le fonti utente, puoi configurarle da solo. |
| |
Inoltre, i DSN di sistema vengono impostati dall'amministratore e anche i driver per diversi tipi di database vengono impostati dall'amministratore. |
| |
In caso di risoluzione dei problemi, è possibile utilizzare questa scheda per la traccia |
| |
dove è andata a finire la query e quale potrebbe essere il problema. |
| |
E un consiglio da parte mia sarebbe quello di verificare se la connessione funziona correttamente da queste fonti di dati. Quindi, se si preme Configura e l'amministratore dell'origine dati, è possibile ascoltare una determinata origine testare la connessione dopo aver fornito le proprie credenziali. |
| |
E se va tutto bene, allora il sistema te lo dice |
| |
la connessione è riuscita. |
| |
Non dipende da Windows che la query non funzioni. |
| |
E anche altri dettagli, puoi trovare nel manuale di JMP nella documentazione. Ad esempio, utilizzando JMP, capitolo tre, puoi trovarlo qui nel file |
| |
Menu della guida |
| |
e la libreria della documentazione di JMP. Ed è ben documentato come utilizzare tutti questi strumenti. |
| |
Ok, quindi ci sono nello scripting e in JSL, nel linguaggio di scripting, tre modi per creare script per queste query del database SQL. La prima è una nuova query SQL, come abbiamo già utilizzato in precedenza. Quindi si trova qui nel menu JMP sotto Tabella, JMP Query Builder per tabelle JMP. |
| |
Oppure per il database, puoi trovarlo qui sotto Database Query Builder. |
| |
E poi New SQL Query è il comando più potente di tutti. Quindi, genera un nuovo oggetto di query, è possibile salvarlo come file di query JMP. Può generare direttamente una tabella di dati e fornisce un'ottima origine dei dati, come abbiamo visto prima con lo script di modifica e aggiornamento del codice sorgente. |
| |
Un altro comando in JSL per interrogare i dati dal database è il comando open database. Troverai la documentazione di tutti questi comandi anche nell'indice di scripting. Come qui, |
| |
se digito |
| |
Aperto |
| |
Banca dati, |
| |
puoi scoprire qui come funziona per tutti i comandi. |
| |
E un terzo modo per connettersi al database e inserire alcune query è la connessione al database. |
| |
E ha bisogno di tre passaggi. Il primo è creare una connessione al database. Il secondo è inserire le tue query, una o più, nel database. E per finalizzare, è necessario chiudere la connessione al database. |
| |
E infine, se hai scritto dei bei copioni. |
| |
Dovresti renderlo accessibile a te, o forse ai colleghi, e ci sono almeno due modi. Quindi uno è metterlo in un componente aggiuntivo in modo da poterlo fornire facilmente anche ad altri. E l'altra possibilità è inserirla in un menu personalizzato, come ho fatto qui. |
| |
E puoi trovarlo |
| |
nel menu, quindi qui in questo modo. Ci sono due componenti aggiuntivi installati nel mio sistema. |
| |
Ed ecco il mio personale |
| |
menu personalizzato. |
| |
Quindi ... abbiamo finito i blocchi di costruzione. Andiamo agli esempi. |
| |
E il primo esempio consiste nell'usare uno script di tabella per salvare il layout della tabella e la query. |
| |
Quindi potrebbe assomigliare a questo. Se hai una tabella dati che viene |
| |
dal database e ci metti anche degli script per un bel grafico, |
| |
potresti volerlo usare tutti i giorni. E qui c'è una bella possibilità |
| |
per dire, copia lo script della tabella senza dati. |
| |
E questo script puoi quindi usare. |
| |
Vorrei creare una nuova sceneggiatura. Scusate. |
| |
E incollalo nella finestra dello script. |
| |
Ed ecco che arriva quella nuova tabella semplicemente premendo il pulsante Esegui script. |
| |
E si presenta come ???, senza dati. E puoi salvare questo script, ad esempio, nel tuo menu e per ottenere i dati, potrebbe essere un'enorme quantità di dati. Puoi semplicemente premere il pulsante Aggiorna dal database e la tabella viene riempita con tutti i dati dal database o da qualche altra parte. |
| |
Quindi questa è una bella possibilità |
| |
per usare semplicemente lo script |
| |
per ottenere i dati dal database. |
| |
Il secondo esempio |
| |
consiste nell'usare una query dall'interno di una tabella. |
| |
Quindi così. Se si dispone di una tabella dati e si desidera eseguire una query su alcuni dati aggiuntivi, a seconda del contenuto della tabella corrente. |
| |
Quindi lo mostrerò. |
| |
Elimino alcune righe. |
| |
E con questi tre nomi, voglio andare su una tabella diversa per recuperare alcuni dati. |
| |
Ed è fatto da questo script. |
| |
E qui puoi vedere da questa tabella, ho ottenuto i nomi e ho fatto una query |
| |
per eseguire query sui dati da un'altra tabella di Big Class Families. |
| |
E come funziona? |
| |
Puoi trovarlo in questo script. |
| |
È piuttosto breve. Qui, i nomi sono presi dalla prima query di tabella come definita, come qui. |
| |
I nomi vengono sostituiti nella query. |
| |
E qui la query viene posta nella tabella Big Class Families. |
| |
Va bene, devo chiudere anche questo tavolo. |
| |
Questo è uno script di query personalizzato con interfaccia utente grafica. Quindi, se hai, ad esempio, una tabella di dati di grandi dimensioni nel database e spesso ne hai bisogno di piccole quantità, |
| |
puoi, ovviamente, estrarre tutti i dati, ma forse è più flessibile ed efficiente ottenere dati ben filtrati. Quindi funziona così. |
| |
una tabella per filtrare i dati e una tabella con tutte le colonne della tabella big data. E qui possiamo filtrare graficamente. Diciamo donna ed età, quindi ho impiegato solo due colonne per filtrare, |
| |
così, 12 e 13 anni. |
| |
E potrei voler avere tutte le colonne o rimuovere solo una colonna. |
| |
Lo interrogo |
| |
e qui ottieni il risultato corretto con queste restrizioni. E puoi, come puoi vedere qui, e lo script sorgente o nell'SQL, |
| |
le restrizioni sono qui |
| |
dall'interfaccia utente grafica definita. |
| |
E come funziona |
| |
Il lavoro di scripting funziona? È un po ' |
| |
più complesso, ovviamente. Quindi c'è la query del filtro. |
| |
La query delle colonne. |
| |
Ecco uno script, una funzione che converte il file |
| |
condizioni di filtro dei dati in una condizione SQL. |
| |
Questa è la parte GUI, l'interfaccia utente grafica. |
| |
E qui, infine, i risultati dell'interfaccia utente grafica vengono valutati e inseriti in questo script personalizzato. |
| |
Il prossimo esempio è una query in due passaggi. Quindi supponiamo che tu debba prima interrogare alcuni ID batch. |
| |
E per portare questi ID in un'altra query, magari in un'altra tabella di dati per ottenere dati aggiuntivi, |
| |
puoi farlo in questo modo. Quindi qui ho preso la tabella dei dati di Big Class come filtro. Quindi ho filtrato solo il maschio |
| |
e |
| |
allievo di età pari o inferiore a 13 anni. |
| |
E ha preso questi nomi per interrogare su Big Class Families, tutte le righe, come puoi vedere qui. |
| |
E |
| |
entrambi i tavoli sono collegati tramite un join virtuale, come puoi vedere qui. |
| |
Così |
| |
questa tabella fa riferimento tramite il nome all'altra tabella alla tabella dei filtri. E posso usare |
| |
le colonne della tabella dei filtri qui in questa tabella come se lo fossero |
| |
in questa tabella. |
| |
Quindi questo è un bel modo per avere più tabelle e utilizzare il contenuto in una tabella. |
| |
E l'ultimo esempio è |
| |
come eseguire due o più query in background in parallelo. Quindi non ho esempi qui. Viene discusso nella comunità JMP. E se sei interessato, puoi dare un'occhiata. |
| |
Quindi ora ho finito con i miei esempi e gli script del materiale di presentazione e del diario sono disponibili online. |
| |
Grazie alla comunità per le meravigliose discussioni e grazie agli sviluppatori di JMP per la creazione e il mantenimento di questo fantastico software. E infine, grazie per la tua attenzione. |