Conférencier
|
Transcription
|
| Georg Raming (Siltronic AG) |
Bonjour tout le monde. |
| |
Aujourd'hui, je souhaite parler de stratégies et d'exemples d'acquisition de données à partir de sources distribuées et complexes. |
| |
Je m'appelle Georg Raming, mon travail consiste à développer des processus de ??? monocristaux cultivés chez Siltronic. J'ai une certaine expérience en matière d'évaluation et de processus statistiques |
| |
et les données sur les produits et l'éducation statistique. Je suis également responsable du logiciel JMP chez Siltronic et des activités de formation de quelques centaines d'utilisateurs. |
| |
Siltronic est l'un des principaux fabricants mondiaux de tranches de silicium hyper pur hautement spécialisées. |
| |
Quelques conseils techniques. Je travaille donc ici avec des tables de données au lieu d'une base de données dans cette présentation, mais les concepts présentés ici sont à l'origine utilisés pour obtenir des données à partir de bases de données relationnelles via une connexion ODBC. |
| |
Et JMP Query Builder fonctionne de la même manière pour les tables de données JMP et pour les tables de base de données. |
| |
Quel est l'objectif de la présentation d'aujourd'hui ? Il s'agit d'établir des moyens d'obtenir des données de la base de données de manière simple et efficace dans votre JMP ou dans une table JMP. |
| |
Parlons d’abord des éléments de base. |
| |
Il peut donc s'agir d'une table de données JMP. |
| |
Ainsi, si vous avez généré une table de données à partir d'une requête de base de données, elle peut ressembler à ceci. J'ai donc pris ici le fameux exemple de table de JMP, Big Class, et j'ai interrogé les données via JMP Query Builder. J'ai supprimé tout le script fourni avec le tableau. |
| |
Et tu trouveras |
| |
pour cette table de données si vous l'interrogez avec JMP Query Builder, plusieurs scripts et variables de table. |
| |
Ainsi, à l’intérieur de cette variable, vous pouvez voir le SQL. Ainsi, la définition de la table de données est tirée de la table ou de la base de données. |
| |
Et vous avez ces scripts, un script source qui simplement |
| |
obtient une autre copie de la table de données originale comme celle-ci. Et ici, vous pouvez voir que les scripts originaux sont également présents, mais il y a encore ces scripts de JMP Query Builder. |
| |
Il existe également un script de modification de requête qui vous permet de modifier cette requête sur la table de données JMP et également de l'exécuter. |
| |
Et il y a une requête de mise à jour depuis la base de données. Donc, si vous modifiez les données de votre table de données |
| |
ou s'il y a de nouvelles données dans le tableau de données, vous pouvez simplement mettre à jour les données en appuyant sur ce bouton. |
| |
Comme ça. Ici aussi, les scripts proviennent à nouveau de la table d'exemple. |
| |
D'accord, le prochain élément de base est JMP Query Builder. |
| |
Donc, une fois que vous avez une ou plusieurs tables dans la base de données, vous souhaitez effectuer une requête comme ici, j'ai pris Big Class et Big Class Families de l'exemple de table JMP. |
| |
répertoire et utilisez le générateur de requêtes JMP comme |
| |
ici sur les tables. Générateur de requêtes JMP. |
| |
JMP voit ces tables ouvertes |
| |
et il y en a aussi un dans le champ principal, et je peux ajouter une table secondaire comme celle-ci, et JMP crée alors automatiquement une jointure entre les deux tables. Alors comment ils sont joints. Et vous pouvez modifier cette jointure |
| |
comme ça. |
| |
Vous verrez les détails ici. |
| |
Et puis vous pouvez continuer à créer la requête |
| |
comme ça. Vous avez les deux tableaux ici disponibles. |
| |
Ici, vous pouvez également modifier à nouveau la jointure |
| |
Et peut-être que tu veux tout ajouter |
| |
Colonnes, |
| |
comme ça. |
| |
Et peut-être que tu veux mettre un filtre, |
| |
comme ça. |
| |
Et exécutez la requête. Et puis encore toi |
| |
obtenez ce tableau de résultats avec les scripts du |
| |
des exemples de tableaux dont nous n’avons pas besoin ici. |
| |
Je les supprime. Et voici les scripts, les scripts et les variables écrits par JMP Query Builder |
| |
comme si je l'avais utilisé auparavant. Et encore une fois, ici vous pouvez |
| |
modifier cette requête. Le script de la requête est enregistré ici dans cette table de résultats, comme nous l'avons défini précédemment. |
| |
Voici donc comment fonctionne JMP Query Builder. |
| |
Et comme mentionné précédemment, cela fonctionne de la même manière sur les tables de base de données que ici sur les exemples de tables JMP. |
| |
Le prochain bâtiment... J'ai aussi mis ici quelques scripts et vous pouvez toujours passer du Visual Query Builder |
| |
à un SQL personnalisé |
| |
requête. Donc ça marche ici. Un autre menu triangle rouge. |
| |
Convertissez en SQL personnalisé et ce que vous avez défini ici visuellement, |
| |
vous pouvez définir ici dans une requête SQL texte. |
| |
Vous pouvez l'exécuter. |
| |
Et lorsque vous regardez ici cette requête ou que vous appuyez sur le bouton Modifier la requête, |
| |
vous verrez la requête texte. Donc ce n'est qu'une seule façon, |
| |
conversion d'une requête visuelle en requête SQL personnalisée. |
| |
Alors laisse-moi juste ranger |
| |
des tables. D'accord. |
| |
L'élément de base suivant consiste à obtenir des données de la base de données et vous avez besoin d'une connexion ODBC à ces sources de données. |
| |
Et généralement, les sources de données et les pilotes ODBC sont configurés par votre administration informatique. Ainsi sous Windows, vous pouvez trouver |
| |
ces connexions sous l'administrateur de la source de données ODBC. |
| |
Et gardez à l’esprit que le nombre de bits des sources de la base de données doit correspondre à JMP. Donc dans ce cas j'ai une application JMP 64 bits et j'ai donc besoin de pilotes 64 bits |
| |
Et les sources d'utilisateurs, vous pouvez les configurer vous-même. |
| |
Et les DSN système sont configurés par l'administrateur, ainsi que les pilotes pour différents types de bases de données sont définis par l'administrateur. |
| |
En cas de dépannage, vous pouvez utiliser cet onglet pour tracer |
| |
où est allée la requête et quel peut être le problème. |
| |
Et un conseil de ma part serait de vérifier si la connexion fonctionne correctement à partir de ces sources de données. Ainsi, si vous appuyez sur Configurer et que l'administrateur de la source de données, vous pouvez entendre pour une certaine source tester la connexion après avoir fourni vos informations d'identification. |
| |
Et si tout va bien, le système vous dit que |
| |
la connexion a réussi. |
| |
Ce n'est pas à Windows que la requête ne fonctionne pas. |
| |
Et aussi d'autres détails, vous pouvez trouver dans le manuel JMP dans la documentation. Par exemple Utilisation de JMP, chapitre trois, vous pouvez le trouver ici dans le |
| |
Menu Aide |
| |
et la bibliothèque de documentation JMP. Et là, il est bien documenté comment utiliser tous ces outils. |
| |
D'accord, il existe donc dans les scripts et JSL, dans le langage de script, trois façons de scripter ces requêtes de base de données SQL. La première est une nouvelle requête SQL, comme nous l’avons déjà utilisée auparavant. Il se trouve donc ici dans le menu JMP sous Table, JMP Query Builder for JMP tables. |
| |
Ou pour la base de données, vous pouvez la trouver ici sous Database Query Builder. |
| |
Et puis New SQL Query est la commande la plus puissante de toutes. Ainsi, il génère un nouvel objet de requête, vous pouvez l'enregistrer en tant que fichier de requête JMP. Il peut générer directement une table de données et fournit très bien l'origine des données, comme nous l'avons vu précédemment avec le script de modification et de mise à jour de la source. |
| |
Une autre commande en JSL pour interroger les données de la base de données est la commande open database. Vous trouverez également la documentation de toutes ces commandes dans l'index des scripts. Comme ici, |
| |
si je tape |
| |
ouvrir |
| |
base de données, |
| |
vous pouvez trouver ici comment cela fonctionne pour toutes les commandes. |
| |
Et une troisième façon de se connecter à la base de données et de poser des requêtes est la connexion à la base de données. |
| |
Et cela nécessite trois étapes. La première consiste à créer une connexion à la base de données. La seconde consiste à placer vos requêtes, une ou plusieurs, dans la base de données. Et pour finaliser, vous devez fermer la connexion à la base de données. |
| |
Et enfin, si vous écriviez de jolis scripts. |
| |
Vous devriez le rendre accessible à vous-même, ou peut-être à vos collègues, et il existe au moins deux manières. La première consiste à le mettre dans un complément afin que vous puissiez également le fournir facilement à d'autres. Et l’autre possibilité est de le mettre dans un menu personnalisé, comme je l’ai fait ici. |
| |
Et tu peux le trouver |
| |
dans le menu, puis ici comme ça. Deux compléments sont installés sur mon système. |
| |
Et voici mon perso |
| |
menu personnalisé. |
| |
Alors allons-y… nous avons terminé les éléments de base. Passons aux exemples. |
| |
Et le premier exemple consiste à utiliser un script de table pour enregistrer la disposition de la table et la requête. |
| |
Cela pourrait donc ressembler à ceci. Si vous disposez d'un tableau de données fourni |
| |
à partir de la base de données et vous y mettez également des scripts pour un joli graphique, |
| |
vous voudrez peut-être l'utiliser tous les jours. Et il y a une belle possibilité ici |
| |
pour dire, copiez le script de table sans données. |
| |
Et ce script, vous pouvez ensuite l'utiliser. |
| |
J'aimerais créer un nouveau script. Désolé. |
| |
Et collez-le dans la fenêtre de script. |
| |
Et voici ce nouveau tableau en appuyant simplement sur le bouton Exécuter le script. |
| |
Et cela vient comme ???, sans données. Et vous pouvez enregistrer ce script, par exemple, dans votre menu et pour obtenir les données, il peut s'agir d'une énorme quantité de données. Vous pouvez simplement appuyer sur le bouton Mettre à jour à partir de la base de données et le tableau est rempli de toutes les données provenant peut-être de la base de données ou d'ailleurs. |
| |
C'est donc une belle possibilité |
| |
pour utiliser simplement le script |
| |
pour obtenir les données de la base de données. |
| |
Le deuxième exemple |
| |
consiste à utiliser une requête depuis l'intérieur d'une table. |
| |
Alors comme ça. Si vous disposez d'une table de données et que vous souhaitez interroger des données supplémentaires, en fonction du contenu de votre table actuelle. |
| |
Je vais donc le montrer. |
| |
Je supprime quelques lignes. |
| |
Et avec ces trois noms, je souhaite accéder à une autre table pour récupérer des données. |
| |
Et cela est fait par ce script. |
| |
Et ici, vous pouvez voir sur ce tableau, j'ai obtenu les noms et j'ai fait une requête |
| |
pour interroger les données d'une autre table des familles Big Class. |
| |
Et comment ça marche ? |
| |
Vous pouvez le trouver dans ce script. |
| |
C'est assez court. Ici, les noms sont issus de la première requête de table telle que définie, comme ici. |
| |
Les noms sont substitués dans la requête. |
| |
Et ici, la question est posée sur la table Familles de grande classe. |
| |
D'accord, je dois aussi fermer cette table. |
| |
Celui-ci est un script de requête personnalisé avec une interface utilisateur graphique. Ainsi, si vous avez, par exemple, une grande table de données dans la base de données et que vous en avez souvent besoin de petites quantités, |
| |
vous pouvez, bien sûr, extraire toutes les données, mais il est peut-être plus flexible et efficace d'obtenir des données bien filtrées. Donc ça fonctionne comme ça. |
| |
une table pour filtrer les données et une table avec toutes les colonnes de la table Big Data. Et ici, nous pouvons filtrer graphiquement. Disons femme et âge, donc je n'ai pris que deux colonnes à filtrer, |
| |
comme ça, 12 et 13 ans. |
| |
Et je souhaiterai peut-être avoir toutes les colonnes ou supprimer une seule colonne. |
| |
je l'interroge |
| |
et obtenez ici le bon résultat avec ces restrictions. Et vous pouvez, comme vous pouvez le voir ici, et dans le script source ou dans le SQL, |
| |
les restrictions sont ici |
| |
à partir de l'interface utilisateur graphique définie. |
| |
Et comment |
| |
Le travail de script fonctionne ? C'est un peu |
| |
plus complexe, bien sûr. Il y a donc la requête de filtre. |
| |
La requête des colonnes. |
| |
Voici un script, une fonction qui convertit le |
| |
conditions de filtre de données dans une condition SQL. |
| |
Il s'agit de la partie GUI, interface utilisateur graphique. |
| |
Et ici, enfin, les résultats de l'interface utilisateur graphique sont évalués et intégrés dans ce script personnalisé. |
| |
L'exemple suivant est une requête en deux étapes. Supposons donc que vous deviez d'abord interroger certains ID de lot. |
| |
Et pour utiliser ces identifiants dans une autre requête, peut-être dans une autre table de données pour obtenir des données supplémentaires, |
| |
tu peux le faire comme ça. J'ai donc ici pris la table de données Big Class comme filtre. J'ai donc filtré uniquement le mâle |
| |
et |
| |
élève égal ou inférieur à 13 ans. |
| |
Et j'ai pris ces noms pour interroger les familles de grandes classes, toutes les lignes, comme vous pouvez le voir ici. |
| |
Et |
| |
les deux tables sont connectées via une jointure virtuelle, comme vous pouvez le voir ici. |
| |
Donc |
| |
cette table fait référence via le nom à l'autre table à la table de filtrage. Et je peux utiliser |
| |
les colonnes du tableau de filtrage ici dans ce tableau comme si elles étaient |
| |
dans ce tableau. |
| |
C'est donc une bonne façon d'avoir plusieurs tables et d'utiliser le contenu d'une seule table. |
| |
Et le dernier exemple est |
| |
comment exécuter deux ou plusieurs requêtes en arrière-plan en parallèle. Je n'ai donc aucun exemple ici. Il est discuté dans la communauté JMP. Et si cela vous intéresse, vous pouvez y jeter un oeil. |
| |
Alors maintenant, j'en ai terminé avec mes exemples et les scripts du journal et du matériel de présentation sont disponibles en ligne. |
| |
Merci à la communauté pour ces merveilleuses discussions et merci aux développeurs JMP pour la création et la maintenance de ce formidable logiciel. Et enfin, merci pour votre attention. |