Pour la plupart d'entre nous, les données analysées JMP commence ailleurs: dans une base de données relationnelle, Excel, un fichier CSV ou peut-être SAS. La nécessité de transférer de manière transparente ces données dans JMP et de les préparer pour analyse nous a amenés à présenter le Générateur de requêtes dans JMP 12. Générateur de requêtes vous aide à sélectionner plusieurs tables à partir d’une source de données externe et à les joindre. Vous pouvez ensuite filtrer de manière interactive (en créant un filtre d'invite si vous le souhaitez), échantillonner et définir des noms de colonne, des formats et des types de modélisation pour les données importées.
Les commentaires que nous avons reçus des utilisateurs à propos de Générateur de requêtes suggère que vous le trouvez utile. Nous avons également reçu des suggestions de correctifs et d’améliorations, à la fois pour Générateur de requêtes et d'autres aspects de l'accès aux données. Avec JMP 13, nous fournissons un grand nombre de correctifs et d’améliorations. Les 13 plus importantes de ces corrections et améliorations sont détaillées ci-dessous.
Filtration
Les quatre premières améliorations concernent toutes le filtrage des données.
Attention, mes données pourraient être énormes - Lorsque vous créez un filtre pour une colonne catégorielle, Query Builder récupère les valeurs à afficher dans une liste. Avec de grandes tables, cela peut prendre beaucoup de temps. Dans JMP 12, l'extraction de valeur était inconditionnelle et il n'existait aucun moyen de l'annuler. Dans JMP 13, nous avons apporté plusieurs modifications pour éviter les longues attentes:
- Récupération de valeur annulable - JMP 13 affiche une barre de progression avec un Annuler bouton lors de la récupération des valeurs de colonne catégoriques. Ceci est pris en charge pour tous les pilotes ODBC que nous avons testés lorsque JMP est exécuté sur Windows. Il n'est pas pris en charge lors de la connexion à SAS ou pour la plupart des pilotes ODBC disponibles pour Macintosh.
Trop gros pour tenter - S'il y a plus de 1 000 000 de lignes dans une table, JMP ne tentera même pas de récupérer des valeurs de colonne uniques. La valeur 1 000 000 peut être modifiée via une préférence.
- Liste plus simple - Dans JMP 12, le Liste de cases à cocher était le seul type de filtre disponible pour la sélection dans une liste de valeurs. Dans JMP 13, nous avons ajouté une simple Zone de liste type de filtre. le Zone de liste le filtre est moins gourmand en ressources que le Liste de cases à cocher filtre. Cela le rend plus adapté aux grandes listes. Le type de filtre par défaut pour les colonnes qualitatives est le Zone de liste dans JMP 13.
Nouveaux types de filtres - En plus du nouveau, plus simple Zone de liste type de filtre, deux autres types de filtres ont été ajoutés pour les colonnes qualitatives dans JMP 13:
- Contient filter - Entrez du texte et JMP correspondra à toutes les lignes contenant ce texte. Vous pouvez également demander à faire correspondre les lignes qui font ne pas contient le texte.
Liste manuelle filtre - Vous permet de créer vous-même une liste de sélections pour éviter la nécessité de rechercher des valeurs.
Les filtres de liste sont maintenant inversibles - Tous les filtres de type liste ( Zone de liste, Liste manuelle, Liste de cases à cocher et Correspondre aux valeurs de colonne ) ont maintenant un pas dans la liste case à cocher. Cela vous permet de sélectionner quelques éléments et d’extraire toutes les lignes qui ne pas correspondre aux valeurs sélectionnées. Par exemple, ce filtre renverra tous les films classés autres que "G" :

Les filtres de liste peuvent maintenant être conditionnels - Celui-ci est une grosse affaire. En utilisant le menu du triangle rouge sur un filtre de type liste, vous pouvez définir le filtre comme suit: conditionnel. Les filtres conditionnels affichent uniquement les valeurs qui correspondent aux autres filtres qui les précèdent dans la liste. Ci-dessous un exemple d'utilisation d'un film Évaluation et film Genre . Dans cet exemple, j'ai demandé le Genre filtrer pour être conditionnel. Quand je sélectionne g dans la liste pour Évaluation , la Genre filtrez les modifications pour ne répertorier que les genres contenant au moins un film classé G:

Ce symbole indique que le filtre est conditionnel. Filtres uniquement pour les colonnes de la même table affecter les valeurs affichées dans un filtre conditionnel.
Générateur de requêtes JMP
Après avoir utilisé Query Builder, certains utilisateurs nous ont demandé: «Et si je ne disposais que d'un dossier contenant des tables de données JMP. Puis-je utiliser Query Builder sur eux? »Dans JMP 13, la réponse est un son retentissant. "Oui!" Ou peut-être utilisez-vous le Générateur de requêtes ODBC, l'importation de texte ou l'Assistant Importation Excel pour importer plusieurs tables. Il serait bien de pouvoir utiliser Query Builder pour joindre les résultats. Avec JMP 13, vous le pouvez!
Pour utiliser le Générateur de requêtes sur les tables de données JMP, commencez par ouvrir les tables, puis sélectionnez Générateur de requêtes JMP du les tables menu.

Par exemple, JMP a deux exemples de tables de données, SATByYear.jmp et CrimeData.jmp, que les deux ont Etat et Année colonnes. Un autre exemple de table, US Demographics.jmp , a un Etat colonne. Je peux facilement joindre ces trois tables avec JMP Query Builder:
JMP Query Builder permet jusqu'à 64 tables à assembler. Si jamais vous réunissez autant de tables dans une même requête, envoyez-moi s'il vous plaît une capture d'écran.
Toutes les autres caractéristiques de Générateur de requêtes , tels que les filtres et les invites, sont également disponibles avec Constructeur de requêtes JMP.
Fonction JSL Query ()
Nous avons créé un moteur SQL dans JMP pour permettre à Query Builder de travailler sur des tables de données JMP. Une nouvelle fonction JSL, Question() , vous donne un accès direct à ce moteur SQL. Vous pouvez utiliser le Question() fonction permettant de manipuler les tables de données JMP à l’aide d’instructions SQL. Voici un exemple utilisant SATByYear et CrimeData exemples de tableaux de données:

Run on Open
Dans JMP 13, vous pouvez configurer une requête pour exécutez immédiatement lorsque vous l'ouvrez au lieu d'ouvrir la fenêtre Générateur de requêtes. Il suffit de vérifier le Run on Open option dans le menu triangle rouge en haut de la fenêtre Générateur de requêtes:
Ceci est particulièrement utile pour les requêtes qui ont demandé des filtres. Vous pouvez envoyer ces requêtes à d'autres utilisateurs (ou les incorporer dans un complément JMP). Lorsque l'autre utilisateur les ouvrira, ils ne verront que l'invite du filtre. Cela leur permet de faire leurs sélections de filtres sans avoir à parcourir les complexités de Query Builder.
Lorsqu'une requête a été définie sur Run on Open , mais vous devez l’ouvrir dans Query Builder pour y apporter des modifications, vous avez quelques options. Si vous maintenez la Ctrl clé lors de l’ouverture de la requête, elle s’ouvrira dans la fenêtre Générateur de requêtes. Vous pouvez également cliquer avec le bouton droit sur le fichier de requête dans la liste. JMP Home Window et sélectionnez Editer la requête .
Création de requêtes qui fonctionneront dans JMP 12
Un bémol à toutes ces nouvelles fonctionnalités intéressantes de JMP 13 Query Builder: si vous créez des requêtes utilisant ces fonctionnalités, vous ne pourrez pas les ouvrir dans JMP 12. Dans le même temps, vous pouvez obtenir JMP 13 plus tôt que vos collègues pour pouvoir essayer d'autres nouvelles fonctionnalités.
Pour vous aider dans ce scénario, nous avons ajouté une préférence dans JMP 13 qui masque toutes les nouvelles fonctionnalités de Query Builder pour JMP 13, de sorte que les requêtes que vous créez soient toujours compatibles avec JMP 12. La préférence est sur le Page Préférences du générateur de requêtes :
Toute requête ODBC ou SAS que vous créez après avoir défini cette préférence autorisera uniquement les fonctionnalités compatibles avec JMP 12. Si vous souhaitez assouplir cette règle pour une requête particulière, il existe une option dans le menu triangle rouge de Query Builder que vous pouvez décocher pour autoriser les fonctionnalités de JMP 13 pour cette requête:

Nouvelles fonctionnalités du panneau Tables
le les tables Le panneau de la fenêtre Créateur de requêtes de JMP 12 n’avait pas beaucoup de fonctionnalités autres que la liste des tables de votre requête. Dans JMP 13, ce panneau présente un certain nombre de fonctionnalités:
- Sélectionner une ou plusieurs tables dans la les tables panneau restreint les colonnes énumérées dans la Colonnes disponibles panneau aux colonnes des tables sélectionnées, ce qui facilite la recherche de colonnes.
- le les tables Le panneau affiche désormais l’icône du diagramme de Venn correspondant au type de jointure de chaque table. Vous pouvez modifier la jointure, modifier l’alias de la table ou supprimer la table de la requête à partir du menu contextuel.
- Lorsque vous interrogez des tables de données JMP, double-cliquez sur une table dans la liste. les tables panneau rend la table visible et l'amène à l'avant (ou sélectionnez la Vue élément du menu contextuel).
Échantillonnage «premières lignes»
Lors de l'interrogation de tables volumineuses à partir de bases de données, il est parfois utile de ne récupérer que les quelques mille premières lignes de données qu'une requête doit expérimenter avant de passer du temps et des ressources à récupérer toutes les données.
Dans JMP 12, Premières rangées l'échantillonnage a été pris en charge pour la Oracle et serveur SQL bases de données. Dans JMP 13, une prise en charge a été ajoutée pour la plupart des autres bases de données, notamment PostgreSQL , MySQL , Microsoft Access , SQLite , Ruche apache , et Cloudera Impala .

Amélioration de la prise en charge de Hadoop et des fichiers texte
De plus en plus de données sont actuellement stockées dans des bases de données «Big Data». JMP 13 améliore la prise en charge de la date pour des sources telles que Apache Hive, Cloudera Impala et HortonWorks. En outre, sauvegarder des tables avec Fichier> Base de données> Enregistrer la table ne fonctionnait pas bien avec certaines de ces sources de données. Cela a été amélioré dans JMP 13, avec l’avertissement que l’utilisation d’ODBC pour sauvegarder des données dans des sources de données basées sur Hadoop n’est pas un moyen très efficace d’obtenir des données.
Si vous faites beaucoup avec des fichiers CSV, supportez le Fichiers texte Microsoft Le pilote ODBC a été amélioré dans JMP 13.
L'enregistrement des données JMP dans une base de données est beaucoup plus rapide
Le fait de conserver des données dans une base de données facilite l'accès à ceux qui en ont besoin. Dans de nombreuses versions, JMP a pris en charge l’enregistrement de tables de données JMP dans des bases de données via le logiciel. Fichier> Base de données> Enregistrer la table fonctionnalité. Cependant, avec la taille des données de plus en plus grande, nous avons eu des rapports selon lesquels l'enregistrement des tables JMP dans une base de données prenait beaucoup plus de temps que prévu. Nous avons écouté et étudié, et nous sommes heureux d’annoncer que, dans JMP 13, les performances de la sauvegarde des tables JMP dans des bases de données se sont considérablement améliorées, parfois considérablement. S'il vous plaît essayez à nouveau cette fonctionnalité et laissez-nous savoir ce que vous rencontrez.
Jointure virtuelle
Avec JMP, toutes les données que vous analysez doivent être stockées dans la mémoire. Lorsque vous joignez des tables de données JMP avec Tables> Joindre ou le nouveau Générateur de requêtes JMP , les données ont tendance à être dupliquées à partir de tables de «recherche» plus petites dans le résultat de jointure plus large. Pour aider à prévenir cette duplication, le Jointure virtuelle Cette fonctionnalité a été ajoutée dans JMP 13. Par exemple, un magasin de DVD peut avoir un inventaire table qui sait où tous les DVD sont et un film tableau avec des détails sur chaque titre. dans le film table, je peux définir la film_id colonne pour être le ID de lien pour la table:

Ensuite, dans le inventaire table, je peux mettre film_id être un référence de lien au film table. Cette action joint effectivement les deux tables en fonction de la film_id colonne.

Une fois que j'ai configuré cela, les colonnes de la film tableau apparaissent maintenant dans la liste des colonnes pour inventaire. Ils sont désignés " référencé colonnes "et sont initialement cachés. Je peux afficher les colonnes dans lesquelles je veux apparaître dans le inventaire table, dans ce cas titre [film_id] :

Jointure virtuelle me permet de voir les valeurs de la film table dans le inventaire table. Cependant, ils n'ont pas été copiés physiquement. Ils sont recherchés au besoin, ce qui économise de la mémoire.
Cela ne fait qu'effleurer la surface de Jointure virtuelle , qui est digne d'un article de blog à lui tout seul.
Voilà, voici les nombreuses améliorations apportées à l’accès et à la manipulation des données dans JMP 13. Quelle est votre fonctionnalité préférée? Quelle caractéristique espériez-vous voir qui n'a pas été mentionnée? Faites-moi savoir dans les commentaires.
Pour plus d'informations sur l'utilisation des tables de données de Query Builder for JMP, consultez mon site Web. Présentation du poster du Sommet Découverte dans le Communauté d'utilisateurs JMP . Pendant que vous y êtes, vous pouvez également voir les diapositives de mon tutoriel Discovery Summit intitulé " Corriger toutes vos données avec Query Builder dans JMP 13 . "