Une bonne requête peut vous préparer au succès
Niveau : Débutant
Brian Corcoran, directeur de la recherche et du développement JMP, SAS
JMP propose différentes manières d'intégrer un large éventail de formats de données dans le produit. La raison est assez évidente.De nombreux outils ont été développés au fil des ans pour collecter et formater les données.Dans la plupart des cas, ces outils ne vous permettent pas de convertir vos données en tableaux de données JMP.Vous devez transférer ces données dans JMP pour analyse.Dans d'autres cas, les données peuvent se trouver quelque part dans une base de données et vous devez les extraire avant de commencer.L'obtention des données peut prendre un temps précieux.JMP a évolué au fil des ans pour ajouter de puissantes fonctionnalités d'acquisition de données afin de vous aider dans cette tâche.
Ce document tente de donner un petit exemple d'utilisation des fonctionnalités du générateur de requêtes dans JMP, ainsi qu'un exemple simple d'utilisation de l'assistant Excel.Espérons que cela montre également que le voyage peut aussi être la récompense, dans la mesure où des informations sur les données peuvent être obtenues en préparant la requête elle-même. Bien que la version Windows soit utilisée pour les captures d'écran du bureau, toutes les fonctionnalités décrites ici sont également disponibles dans la version Mac de JMP. JMP 14 a été utilisé, mais JMP 13 peut également faire tout ce qui est décrit.
Cet article présente un cas d'utilisation hypothétique.Imaginez que vous étudiez les tendances mondiales et que la base de données de la Banque mondiale fournit souvent des informations précieuses.Un collègue vous dit que les données de l'indicateur de développement mondial 2017 sont récemment devenues disponibles et qu'ils ont mis les données dans la base de données SQL Server de l'entreprise.Il s'agit d'un grand tableau, avec plus de 400 000 observations et 62 colonnes. [1] Vous ouvrez JMP et sélectionnez Fichier-> Base de données-> Générateur de requêtes, ouvrez votre connexion à la base de données et pointez sur la table.Dans le premier écran de Query Builder, vous sélectionnez la table world_bank comme table principale et utilisez "Table Snapshot" pour jeter un coup d'œil :
Query Builder Table SnapshotQuery Builder Table SnapshotInstantané de la table du générateur de requêtes
C'est un format quelque peu étrange, du moins pour un utilisateur JMP typique.Il y a quatre variables ou colonnes pour les informations sur le pays, puis une colonne pour chaque année est présente.Les lignes ont ce qui semble être une région, puis les données mesurées.À certains égards, cela semble à l'opposé des attentes d'une table JMP typique.Le nom du pays " Monde arabe ” semble représenter une région, donc c'est aussi déroutant.Si vous appuyez sur le " Importer maintenant ” le tableau arrive et les choses deviennent un peu plus claires.En faisant défiler vers le milieu, vous pouvez voir que les lignes commencent par le pays en question, puis le bit de données pour un sujet particulier, comme " Population rurale ”.Tout est trié par pays, ce qui ne semble pas intuitif.
Immediate Import Table AppearanceImmediate Import Table AppearanceApparence de la table d'importation immédiate
Recommençons.Cette fois, nous pouvons aller de l'avant et sélectionner " Créer une requête " plutôt que " Importer maintenant ”.Nous savons que nous voulons les quatre premières variables avec des informations sur le pays, nous pouvons donc les sélectionner et appuyer sur " Ajouter " dans le Colonnes incluses onglet du panneau de sélection de colonne dans Query Builder.Il y a beaucoup de données ici, alors faisons juste les variables pour 2010-2017.À ce stade, le haut de la boîte de dialogue ressemble à :
Initial Column SelectionInitial Column SelectionSélection initiale de la colonne Nous n'avons pas encore vraiment amélioré notre situation antérieure.Maintenant, nous pouvons déplacer le " Code indicateur ” variable dans le Commandé par volet du générateur de requêtes.Cela organisera les données par sujet étudié, plutôt que par région ou pays en question.Cela semble plus intuitif pour l'analyse.
Ordered by Indicator CodeOrdered by Indicator CodeTrié par code indicateur
Il y a encore des problèmes avec les données.D'abord, il y a des regroupements régionaux qui ne présentent pas d'intérêt pour le moment.Comment exclure ces entrées agrégées ?En outre, quelle serait la meilleure façon d'interroger un élément spécifique, comme "Consommation d'engrais" ?
Il serait certainement possible d'importer toutes les données dans JMP, puis de supprimer les groupements régionaux si nous ne trions pas "Code indicateur".Cependant, cela impose un fardeau à la personne qui analyse les données.Si c'est quelqu'un qui ne configure pas la requête, cela pourrait prêter à confusion.Dans la requête, il serait possible de sélectionner uniquement les pays qui nous intéressent.Et si nous voulions tous les pays de l'Union européenne ?(J'allais utiliser l'Amérique du Nord, mais la définition de la Banque mondiale ne contient que les États-Unis, Bermudes et Canada !) Nous pourrions les sélectionner manuellement, mais il existe un meilleur moyen.Pour ce faire, nous allons invoquer rapidement un autre outil de JMP, l'assistant Excel.
Dans ce scénario, supposons que nous opérons souvent sur les données de la Banque mondiale.Les codes de pays sont importants, mais pas intuitifs.Les tableaux utilisent souvent les codes sans spécifier le nom complet du pays, comme vous pouvez le voir en parcourant le site Web.Il pourrait être utile d'avoir ces codes dans un tableau séparé. Un tel tableau existe et est facilement importé du site Web sous forme de fichier Excel.Donc, dans ce cas, ouvrez l'assistant Excel sur le tableau des pays et des codes de pays. Le site Web de la Banque mondiale les regroupe dans un tableau obscur appelé CLASS.xls, mais vous pouvez le renommer.Il y a deux tableaux dans le fichier, « Liste des économies » et « Groupes ».Regardons "Groupes":
Preview of Groups Table in Excel FilePreview of Groups Table in Excel FileAperçu du tableau des groupes dans un fichier Excel
Il y a le regroupement pour le monde arabe que nous avons vu dans les données du générateur de requêtes. Cela semble prometteur, mais le défilement vers le bas ne montre pas encore l'Europe car l'aperçu se termine à 100 lignes.Sélectionner " Afficher toutes les lignes " et on peut tout voir, y compris " Europe et Asie centrale ”, “ Zone Europe " et " Union européenne ”.Le " Union européenne ” groupe contient les codes de pays pour tous les pays actuellement dans l'union.Pourrions-nous l'utiliser pour sélectionner les pays dans Query Builder ?La réponse est oui, alors allons-y et extrayons uniquement le groupe dont nous avons besoin.Nous pouvons le faire en sélectionnant la première ligne de l'aperçu avec " Union européenne " puis en appuyant sur le plus vert à côté de " Les données commencent sur la ligne ».
Select the First Row in “European Union”Select the First Row in “European Union”Sélectionnez la première ligne dans "Union européenne"
Maintenant, nous pouvons appuyer sur le bouton "Suivant" de la boîte de dialogue, sélectionner la dernière ligne avec " Union européenne " et appuyez sur le plus vert à côté de " Les données se terminent par une ligne ”. Cela réduit les données aux seuls pays qui nous intéressent.
Maintenant, nous pouvons sélectionner " Importer ” et obtenir une ligne avec 28 entrées pour les pays de l'Union européenne.Nous allons continuer et enregistrer la table JMP résultante sous le nom "EU.jmp".
Nous pouvons maintenant revenir à Query Builder.Nous aurions pu sélectionner les pays qui nous intéressent avec un processus fastidieux consistant à les sélectionner dans une liste en "Nom du pays" ou "Code postal".Cependant, Query Builder dispose d'un type de filtre puissant appelé Match Column Values.Pour l'utiliser, nous faisons d'abord glisser " Code postal" dans le Filtres vitre.Cela produira une longue liste avec chaque code qu'il contient.Maintenant, nous pouvons sélectionner le menu du triangle rouge à " t1.Code du pays " pour Type de filtre et sélectionnez " Faire correspondre les valeurs de colonne ”.Une boîte montrant les noms des tables JMP ouvertes sera présentée.Comme nous avons toujours "EU.jmp" ouvert, il apparaît dans la liste.Nous le sélectionnons, et la variable ( Code postal ) que nous voulons faire correspondre.Il est également important de s'assurer que " Toutes les lignes " est sélectionné dans la liste déroulante, plutôt que " Lignes sélectionnées », puisqu'on veut tous les pays dans ce cas.
Selecting the Match Column Values filterSelecting the Match Column Values filterSélection du filtre Faire correspondre les valeurs de colonne
Cela réduira nos résultats aux seules observations où un pays de l'UE est impliqué.Il n'y a vraiment pas de magie ici.Nous construisons une clause WHERE/IN pour remplacer les codes de pays.Si vous regardez le SQL Dans le volet Query Builder, vous pouvez voir le code SQL généré par JMP :
Generated SQLGenerated SQLSQL généré
Mais j'espère que nous avons rendu le processus beaucoup plus facile à accomplir.Maintenant que nous avons réduit les données à ce qui nous intéresse vraiment, il serait bien de faciliter la sélection des informations spécifiques que nous aimerions analyser.Pour ce faire, nous pouvons faire glisser " Nom de l'indicateur » vers le Filtres vitre.Bien que nous puissions cliquer sur l'élément qui nous intéresse ici, puis exécuter la requête, ce serait bien de pouvoir disposer d'une interface plus interactive pour n'importe quel utilisateur.Nous pouvons appuyer sur le menu triangle rouge par " t1.Nom de l'indicateur » et sélectionnez " Invite lors de l'exécution ”.Cela nous présentera une boîte de dialogue pour spécifier le titre de l'invite à l'utilisateur final.
Prompt on RunPrompt on RunInvite lors de l'exécution
Maintenant, lorsque nous appuyons sur le " Exécuter la requête » bouton, nous obtiendrons la liste des éléments et nous pourrons sélectionner celui qui nous intéresse.Par exemple, nous pouvons sélectionner "Croissance du PIB (Annuel %)" et obtenir une table de 28 lignes.Nous pouvons ensuite mettre cela dans Graph Builder.Faire glisser le "Nom du pays" dans Forme de la carte La zone de dépôt produira une carte de l'Europe, puis nous pourrons faire glisser l'année qui nous intéresse.Les données commencent à se raréfier après 2014, donc cette année-là produit :

JMP recherche « Slovaquie » plutôt que « République slovaque », cela peut donc être une opportunité d'utiliser Recoder.En regardant ces données, il semble que nous ferons toujours une opération similaire. Nous sélectionnerons le nom du pays pour la forme de la carte, puis l'année qui nous intéresse pour examiner les résultats.Si nous allons examiner une certaine année à plusieurs reprises, il est logique de sauvegarder le script et de le mettre dans Query Builder en tant que Script post-requête . Il y a un onglet près du volet de prévisualisation pour cela.Si nous allons à notre graphique précédent et, en utilisant le menu du triangle rouge, faites Save Script->To Script Window, nous obtiendrons un script qui ressemble à ceci :
Graph Builder(
Size( 534, 454 ),
Show Control Panel( 0 ),
Variables( Color( :Name( "2014" ) ), Shape( :Country Name ) ),
Elements( Map Shapes( Legend( 7 ) ) )
);
Si nous collons ceci dans le Script post-requête , lorsque nous sélectionnons l'observation que nous voulons examiner, il exécutera toujours le même rapport Graph Builder après l'extraction des données et la création de la table JMP.Cela peut grandement simplifier une tâche répétitive.
Post-Query ScriptPost-Query ScriptScript post-requête
La meilleure partie est que lorsque nous enregistrons la requête, nous pouvons la définir de sorte qu'un utilisateur final ne voie même pas les boîtes de dialogue du générateur de requête.En sélectionnant " Exécuter sur ouvert ” dans le menu déroulant près du champ Nom de la requête, puis en enregistrant la requête, l'utilisateur final ne verra que l'invite et le tableau et le graphique résultants.
Run on OpenRun on OpenExécuter sur ouvert
Query with Run on Open started from Recent FilesQuery with Run on Open started from Recent FilesRequête avec Exécuter à l'ouverture démarrée à partir des fichiers récents Une mise en garde avec l'utilisation du filtre Matching Columns est que la table avec les valeurs à faire correspondre doit être présente sur la machine sur laquelle nous exécuterons la requête.Si c'est un problème, il y a un moyen de contourner cela.Après avoir créé le filtre avec les colonnes correspondantes, accédez au menu du triangle rouge pour le filtre.Dans le cas de cet exemple, ce serait pour " t1.Code pays ».Sélectionnez Type de filtre -> Liste manuelle. Cela importera les valeurs que le filtre Matching Columns avait créées dans une liste de texte qui sera utilisée pour le SQL.Cela sera ensuite enregistré dans la requête la prochaine fois que vous effectuerez une sauvegarde, et vous n'aurez plus besoin de la table de données pour correspondre.L'inconvénient de cette approche est que la possibilité de modifier dynamiquement les valeurs correspondantes sélectionnées et de modifier la requête est perdue.
À ce stade, nous avons filtré une grande quantité de données confuses et créé une requête et une analyse reproductibles que nous pouvons envoyer à un utilisateur final.La personne qui utilise la requête n'a pas vraiment besoin de connaître la requête, ni vraiment une grande partie de JMP.
Conventions utilisées :
Les volets de la fenêtre du Générateur de requêtes sont en gras
Les boutons / commandes de dialogue sont " cité et en gras »
Les noms des variables/colonnes sont " cité et en italique ”
[1] Groupe de la Banque mondiale.Indicateurs du développement mondial , Groupe de la Banque mondiale, sd Web. 25 janvier 2018. https://datacatalog.worldbank.org/dataset/world-development-indicators . Obtenu sous licence Create Commons CC BY 4.0.