Brian Corcoran - Directeur du développement logiciel, SAS
JMP offre diverses méthodes pour importer une grande variété de formats de données. Il propose ensuite de nombreuses options pour exporter vos résultats. La raison est simple : de nombreux outils ont été développés au fil des ans pour collecter et formater des données. Or, la plupart de ces outils ne permettent pas de convertir les données au format JMP Data Tables. L'exportation est donc nécessaire pour partager les résultats avec un large public, dont une grande partie ne possède pas JMP.
Cet article présente quelques exemples d'utilisation des fonctionnalités d'importation, d'interrogation et d'exportation de JMP 13. Bien que les captures d'écran proviennent de la version Windows, toutes les fonctionnalités décrites sont également disponibles dans la version Mac de JMP. J'opterai pour une présentation narrative afin de faciliter la compréhension du flux de travail complet. J'ai choisi de m'appuyer sur un exemple concret récent.
J'ai deux fils, l'un sur le point d'obtenir son diplôme universitaire et l'autre en première année. L'aîné a changé de filière en deuxième année. Pendant cette période, nous avons beaucoup discuté de leurs perspectives de carrière. Qu'est-ce qui t'intéresse ? Où penses-tu pouvoir contribuer à la société ? Préfères-tu un travail de bureau ou un travail plus actif ? Aimes-tu voyager ? La conversation n'en finissait plus.
Mon fils cadet a un projet d'études, mais il n'est pas tout à fait sûr que ce soit le bon choix. Je me dis que cette fois-ci, j'aimerais avoir plus d'informations pour l'aider à prendre sa décision. Quelles sont les perspectives d'emploi pour différents secteurs ? Cela pourrait l'aider à confirmer son choix actuel ou à envisager d'autres options. En discutant avec lui, il m'a dit qu'un master lui conviendrait, mais qu'il ne souhaitait probablement pas faire un doctorat. Il s'intéresse sans doute à un domaine technique, mais il est ouvert à d'autres possibilités. Il aime l'idée d'améliorer les processus et peut-être de se déplacer pendant son travail. Enfin, il souhaite un emploi bien rémunéré. D'accord.
Il s'avère que le Bureau américain des statistiques du travail propose des outils utiles à cette fin. Le site web bls.gov contient une grande quantité de données sur la croissance de l'emploi et les salaires, les niveaux d'études requis, et même des descriptions de poste permettant aux visiteurs de se faire une idée du secteur. Ces données sont téléchargeables gratuitement et ont constitué un excellent point de départ pour mes recherches.
En parcourant le site du BLS, la section « Projections de l'emploi, bases de données sur l'emploi par profession » semblait la plus pertinente. [1] Le site web propose une visionneuse de données, mais je souhaite les importer dans JMP. Heureusement, un bouton permet de télécharger les données brutes au format Excel XLSX. Parfait. J'ai téléchargé le fichier, d'une taille raisonnable de 500 Ko. Le classeur contient douze tableaux, mais le tableau 1.7, présentant les offres d'emploi pour 2014 et les projections jusqu'en 2024, me semble le plus approprié. J'ouvre le classeur via le menu Fichier > Ouvrir de JMP, et l'assistant Excel s'affiche avec les paramètres par défaut. Je sélectionne ensuite le tableau 1.7 dans la section « Feuilles de calcul » pour modifier les paramètres d'importation.
Aperçu de la feuille de calcul avec les paramètres par défaut
Ce graphique contient beaucoup d'en-têtes. Après avoir testé différentes options de mise en page (boutons de rotation JMP pour les en-têtes de colonnes et le début des données), j'ai obtenu des paramètres plus lisibles : deux lignes d'en-têtes (les en-têtes commencent à la ligne 2) et les données à la ligne 5.
Aperçu de la feuille de calcul avec paramètres ajustés
J'appuie sur le bouton Importer et mes plus de 1 000 lignes de données s'affichent. BLS fournit des ensembles de données beaucoup plus détaillés, mais cet ensemble de données récapitulatif me convient. Le seul problème est que ma table JMP semble avoir des difficultés à convertir certaines colonnes au format caractère. Que s'est-il passé ?

Le texte justifié à gauche indique un format de caractère
En parcourant les données, je constate qu'il y a quatre lignes de notes de bas de page à la fin du tableau.

Par défaut, JMP analyse les 100 premières lignes de données pour déterminer leur type. Cela permet un aperçu rapide et efficace. Cependant, lors de l'importation proprement dite, TOUTES les lignes sont analysées et la colonne est convertie en type Caractère afin d'éviter toute perte de données. Je peux bien sûr modifier directement le type de la colonne, mais je peux également revenir en arrière et effectuer l'importation d'une autre manière. Dans le panneau « Actualisation du volet d'aperçu », une case à cocher « Afficher toutes les lignes » est disponible. Lorsque je la coche, non seulement toutes les lignes du tableau s'affichent dans le volet d'aperçu, mais elles sont également utilisées pour la définition du type de colonne.

Afficher toutes les lignes
Je peux maintenant me rendre à la fin du tableau et indiquer que les données s'arrêtent avant les notes de bas de page. Je dois cliquer sur le bouton « Suivant » de l'assistant pour accéder à la deuxième page d'options. Je clique sur la dernière ligne de l'aperçu des données que je souhaite inclure, puis sur le bouton « + » vert situé à côté de « Les données se terminent par la ligne » dans le deuxième volet de l'assistant. L'assistant renseignera automatiquement le numéro de ligne et je pourrai cliquer à nouveau sur Importer pour que les données soient correctement formatées.
J'ai maintenant importé mes données dans JMP, avec plus de mille professions à analyser. Les deux premières colonnes ont des noms longs et complexes ; je les ai donc raccourcies en « Titre de la matrice » et « Code de la matrice », conformément aux appellations complètes du BLS. Il serait maintenant judicieux d'affiner la recherche. Le tableau contient une colonne nommée « OccupationType » qui, en réalité, ne correspond pas du tout à cette description. Pour cette colonne, chaque ligne affiche simplement « Résumé » et « Élément de ligne ». Il s'avère que « Résumé » signifie que la ligne concerne tous les emplois d'un certain type, comme tous les ingénieurs. Un « Élément de ligne » pourrait désigner un ingénieur mécanicien. Je souhaite donc commencer par supprimer toutes les lignes de résumé. Je pourrais utiliser une requête SQL (« SELECT WHERE ») et filtrer le tableau pour exclure ces lignes. Cependant, j'aimerais appliquer d'autres filtres. L'outil de création de requêtes serait idéal pour cela.
Si vous ne connaissez pas JMP Query Builder, il s'agit d'un outil de requête puissant doté d'une interface graphique permettant de créer des requêtes SQL sur les tables de données JMP. Des outils similaires existent pour interroger les bases de données via ODBC et les tables SAS via le connecteur JMP vers SAS. L'utilisation de Query Builder ne requiert aucune connaissance en SQL. Vous pouvez créer des requêtes via l'interface utilisateur et les enregistrer pour une utilisation ultérieure, sans jamais avoir à consulter le code SQL sous-jacent.
L'outil de création de requêtes pour les tables JMP s'ouvre depuis le menu Tables. La boîte de dialogue de sélection des tables qui s'affiche permet de spécifier les tables à joindre pour la requête. Dans ce cas précis, je souhaite simplement filtrer mes données ; je vais donc utiliser la table déjà importée comme table principale et poursuivre.

Sélection de table dans le générateur de requêtes
En sélectionnant « Créer une requête », la boîte de dialogue principale de construction de requête s'affiche. Les deux premières colonnes contiennent le nom et le code de la profession selon la nomenclature du BLS, intitulés respectivement « Titre de la matrice » et « Code de la matrice » . Le code ne m'intéresse pas, je l'ignore donc. Le nom de la colonne « Profession » ne me convient toujours pas ; après avoir ajouté cette colonne à la requête, je cliquerai sur « Nom JMP » pour afficher une zone de texte et modifier le titre du résultat de la requête en « Intitulé du poste ».

Modifier le nom de la colonne post-requête
J'ajouterai également la colonne « Type de profession » afin d'exclure les éléments récapitulatifs. J'ajouterai aussi la colonne « Évolution de l'emploi, 2014-2024 – Nombre » car je m'intéresse au nombre réel d'emplois créés. La colonne « Pourcentage de croissance » semble intéressante, mais peut être trompeuse. L'un des métiers à la croissance la plus rapide est celui de technicien de maintenance d'éoliennes. Cependant, ce nombre passe de cinq mille à dix mille, ce qui reste faible par rapport à de nombreux autres secteurs. Par conséquent, je privilégierai le nombre d'emplois créés au pourcentage de croissance.
J'ajouterai également le salaire annuel médian , car c'était l'un des critères de mon fils, ainsi que le niveau d'études généralement requis pour accéder à ce poste . Enfin, j'ajouterai ce qui s'avère être peut-être la colonne la plus importante : les créations d'emplois dues à la croissance et aux remplacements, de 2014 à 2024. Il s'avère que de nombreuses professions connaissent une croissance relativement lente, mais doivent remplacer un grand nombre de travailleurs partant à la retraite, ce qui représente une formidable opportunité pour les jeunes diplômés. Prenons l'exemple du génie mécanique. On observe une croissance modérée de 14 600 emplois (5 %) sur la période de dix ans. Cependant, en tenant compte des remplacements, le nombre total d'emplois créés s'élève à 102 500 sur les 277 500 emplois que compte la profession ! Ce ratio est typique. Les statisticiens doivent remplacer 50 % de leurs postes durant cette période. Voici la sélection des colonnes dans le générateur de requêtes avant tout filtrage :

Requête avant filtrage
Je souhaite ajouter une colonne indiquant le pourcentage de remplacement et de croissance des emplois. Je peux sélectionner le menu (triangle rouge) à côté de « Colonnes disponibles », puis « Ajouter une colonne calculée ». Je peux ensuite choisir « Offres d'emploi… » comme numérateur et « Emploi - 2014 » comme diviseur, puis cliquer sur « OK ».
Ajouter une colonne calculée
La colonne est créée sous le nom Calc1 . Je peux utiliser le menu contextuel pour la renommer « Tâches par total » et l'ajouter ensuite à mes colonnes incluses. Je peux alors modifier le format en « Pourcentage ». Il vous faudra peut-être agrandir le volet « Colonnes incluses » pour afficher tous les champs, en raison de la longueur des noms de variables. Je suis maintenant prêt à affiner ma recherche à l'aide de filtres.
Tout d'abord, je fais glisser « Type de profession » vers le panneau Filtres. Ensuite, je clique sur « Ligne » pour n'inclure que les lignes qui ne sont pas des types récapitulatifs. Je vais maintenant filtrer sur le salaire annuel médian en ne conservant que les emplois supérieurs à 75 000 $ par an. Lorsque je fais glisser « Salaire annuel » juste en dessous de mon filtre « Type de profession », une opération ET est effectuée par défaut. C'est ce que je souhaite. Si vous souhaitez une opération OU, vous devez cliquer sur le bouton OU. J'indique également le niveau d'études requis et je sélectionne « Licence », « Master » et le tiret (non codé). Enfin, je remarque que beaucoup d'emplois restants sont des postes de direction. Il est très peu probable qu'une personne débutante obtienne un poste de direction ; je souhaite donc exclure ces postes. Je peux le faire avec un filtre « Contient », que je transforme en « Ne contient pas ». Pour cela, je fais glisser ma variable « Titre de la matrice ». Ensuite, à l'aide du menu déroulant (triangle rouge), je peux sélectionner « Type de filtre → Contient ». Une liste déroulante apparaît alors à côté de « Titre ». Je peux sélectionner « Ne contient pas » puis saisir « Manager ». Je peux ensuite procéder de la même manière pour « Cadre dirigeant » afin d'exclure les PDG (en baisse de 3 % sur 10 ans, soit dit en passant). La liste des filtres, une fois complétée, ressemble à ceci :
Filtres terminés
Je peux maintenant cliquer sur « Exécuter la requête » et obtenir le tableau contenant les données souhaitées. Nous avons réduit plus de mille lignes à cinquante-huit. Nous pouvons enregistrer notre requête pour la rouvrir ultérieurement et la modifier. La requête utilisée pour générer le tableau est également enregistrée sous forme de script dans le tableau de données. Il est possible de la modifier pour observer son fonctionnement, de l'exécuter pour recréer les données, ou même de la modifier (attention toutefois !).

Script source dans le tableau de données
Maintenant que j'ai mes données, je vais choisir « Titre d'emploi » comme étiquette dans mes graphiques. Je vais ouvrir Graph Builder et saisir « Salaire annuel médian » pour l'abscisse et « Offres d'emploi » pour l'ordonnée. Pour afficher plus d'informations, je vais sélectionner « Niveau d'études requis » pour la couleur et ajuster la taille des marqueurs en pourcentage, indiquant ainsi la part des nouveaux emplois par rapport à l'ensemble des travailleurs, en faisant glisser « Emplois pour le total » dans la zone de dépôt « Taille ». En parcourant ce graphique, je remarque que les emplois dans le secteur du logiciel occupent une place importante. Je représente donc les emplois dans le domaine des applications et des logiciels système par des marqueurs en forme de losange. Je peux envoyer ce graphique à mon fils aîné, étudiant en informatique, pour le conforter dans son choix. Après une dernière modification du titre, le graphique ressemble à ceci :

Sortie du générateur de graphes dans JMP
Je décide d'envoyer ce résultat à mon fils aîné sous forme de rapport HTML interactif. Il pourra ainsi facilement survoler les points et explorer les données tout en travaillant ou, tout aussi probablement, en jouant à un jeu sur son ordinateur. Le format HTML interactif inclut les données d'analyse dans le rapport ; soyez donc vigilant si vous utilisez des données sensibles. Je peux facilement créer le rapport en utilisant Fichier > Enregistrer sous (Fichier > Exporter sur Mac), puis en sélectionnant « HTML interactif avec données » dans le menu déroulant « Type de fichier ». Je peux ensuite envoyer ce rapport à mon fils par e-mail ; il pourra l'ouvrir dans un navigateur web et survoler les points pour les examiner.
Rapport HTML interactif dans Chrome
Mon fils cadet, le public cible initial, utilise beaucoup son iPad. J'aimerais lui montrer un premier aperçu de ces données, puis le laisser les explorer plus en profondeur. L'application Graph Builder pour iPad ouvre un tableau de données JMP et, si elle y trouve un script Graph Builder, elle l'ouvre automatiquement. Je peux ainsi préparer mon tableau de données avec une analyse, puis laisser mon fils explorer les données lui-même. Je souhaite mettre davantage l'accent sur le nombre d'offres d'emploi dans ce graphique. Je commence par représenter « Offres d'emploi… » en ordonnée et « Titre d'emploi » en abscisse, le salaire étant représenté par une plage de couleurs. Cependant, le graphique paraît surchargé et un peu confus.

Première tentative
Je peux rouvrir le panneau de contrôle de Graph Builder et, d'un simple clic sur le bouton « Arborescence », j'obtiens un graphique qui me convient mieux. Le plus pratique, c'est qu'il est facile de survoler une case pour obtenir plus d'informations.
Générateur de graphes - Carte arborescente
Avant d'envoyer mon tableau de données, je dois y intégrer le script Graph Builder. Pour ce faire, j'utilise le menu déroulant (triangle rouge) situé à côté du nœud du schéma Graph Builder, puis je sélectionne « Enregistrer le script » → « Dans le tableau de données ». On me demande de nommer le script ; je le nomme « Offres d'emploi » et je clique sur « OK ». Le script de la carte arborescente sera ainsi intégré au tableau.
Je peux désormais enregistrer mon tableau de données dans un dossier de stockage cloud comme Dropbox, iCloud ou Google Drive. JMP Graph Builder pour iPad reconnaît ces dossiers et je peux télécharger rapidement mon tableau sur mon iPad. Au départ, une grande icône JMP permet de sélectionner le tableau.
Volet de sélection de tableau
Une fois que je cliquerai dessus, l'application Graph Builder ouvrira le tableau, recherchera le premier script Graph Builder intégré au tableau et affichera cette analyse.
Le graphique s'ouvre automatiquement
Maintenant que mon fils dispose des données et de mon analyse préliminaire, il peut explorer lui-même les données et les graphiques. Par exemple, il peut cliquer sur « Filtrer » et sélectionner n’importe quelle colonne à analyser. Il pourrait, par exemple, filtrer sur « Niveau d’études requis » pour voir quels postes exigent une licence et lesquels exigent un master.

Filtrage par diplôme requis
Une autre fonctionnalité très intéressante de l'application Graph Builder est la possibilité d'essayer la plupart des graphiques proposés dans la version de bureau. Ainsi, si mon fils souhaite explorer différentes visualisations ou même déplacer les colonnes pour analyser les données sous un autre angle, il peut le faire. Des poignées apparaissent à côté des noms de colonnes pour indiquer qu'il est possible de les déplacer, et les zones de dépôt familières de Graph Builder s'affichent en surbrillance lors du déplacement des variables. L'application offre également des options de personnalisation pour les marqueurs, les couleurs d'arrière-plan et les axes. Il pourrait par exemple obtenir un résultat comme celui-ci :

Création d'un nouveau graphique avec l'application iPad
Voilà, mon travail est terminé. J'ai envoyé à chacun de mes fils un rapport interactif qu'ils pourront examiner. Celui qui est encore en pleine exploration peut créer ses propres rapports et, je l'espère, mieux comprendre ses choix.
Il existe de nombreuses autres façons d'importer des données dans JMP, notamment en se connectant à SAS, en important des données textuelles, des données SPSS provenant d'autres sources, des données d'enquêtes Triple-S, etc. Consultez la boîte de dialogue « Ouvrir un fichier » pour découvrir toutes les options disponibles. Sachez que les rapports que vous générez peuvent être partagés de manière interactive, même si votre destinataire ne possède pas JMP.
[1] États-Unis. Bureau des statistiques du travail. Projections de l'emploi . Bureau des statistiques du travail, s.d. Web. 18 août 2017. https://www.bls.gov/emp/ep_data_occupational_data.htm