<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Une des choses que je mentionne souvent aux nouveaux arrivants dans JMP est que le "Power of JMP" est dans les tableaux de données - ils me regardent généralement un peu de travers, se tortillent un peu et essaient de changer le sujet pour la nouvelle fraîcheur chaude, et répondent généralement par "Bien sûr, mais je ne me soucie pas des tables modestes, je veux savoir sur les réseaux de neurones profonds et profonds!" - tout à l'heure mon jeune Padawan. Pour étayer mon affirmation, tout ce que nous avons à faire est de regarder où les développeurs JMP ont placé le les tables élément de menu -droite après File et avant DOE. Il est clair le niveau d'importance qu'ils accordent eux-mêmes aux tables - là-haut avec la respiration! Il y a actuellement douze options dans le menu du tableau et pour atteindre le niveau ninja John Sall, vous devez toutes les comprendre. Heureusement, JMP a un excellent matériel de formation pour vous aider, et je le laisserai étudier pendant vos méditations. Pour cet article, je vais montrer un script simple pour obtenir un tableau sommaire modeste.
Personnellement, j'utilise tout le temps des tableaux récapitulatifs. Je les utilise pour vérifier les valeurs dans une colonne, je les utilise pour sélectionner des lignes dans le tableau principal via la propriété de liaison de table, je les utilise pour les rapports à la direction - et si nécessaire, je me coupe les cheveux avec eux - en gros la meilleure question serait, "quand est-ce que je n'utilise pas de tableaux récapitulatifs…" et bien sûr la réponse est lorsque les données nécessitent une transposition ou un empilement ou une jonction ou une concaténation légèrement subtile selon le niveau de ninja (et les données) le dictent.
Pourquoi vous demandez-vous si nous avons besoin d'un script pour créer un tableau récapitulatif lorsque le tout premier élément de menu sous le menu Tableaux est Résumé?

Premièrement, pour atteindre le niveau ninja John Sall, vous contrôlerez JMP avec votre esprit - mais avant de pouvoir espérer atteindre ce niveau de compétence, nous devons marcher. Et nous devons marcher avant de pouvoir courir, et le script est le moyen pour nous de sauter à un rythme légèrement plus rapide que la marche - ce qui est un bon compromis jusqu'à ce que nos compétences de force (JMP) se développent. Deuxièmement, il faudrait comprendre que les tableaux récapitulatifs et les agrégations sont le début du Split Apply Combine méthode décrite par Hadley Wickam - (ce qui est loin du voyage en haut de la montagne jusqu'au niveau ninja John Sall). Et enfin, parce qu'en appliquant cette méthode, je me suis épargné une tonne de clics de souris sur le bouton récapitulatif et j'ai maintenant accumulé suffisamment de temps pour écrire ce billet de blog.
Et sans plus de gêne, voici le script JSL du tableau récapitulatif donné. Notez qu'il est donné dans un format fonctionnel pratique et convivial pour les ninjas comme tous les bons scripts le sont. Cela vous permettra de le plier assez facilement et d'apporter des modifications pour qu'il renonce à tous les secrets de la table ninja.
// commencer le script
// DÉFINITIONS
Noms par défaut ici (1); // Commencez toujours les scripts avec ça!
// La fonction créera un tableau récapitulatif des décomptes à partir du tableau de données actuel
// nécessite qu'une colonne soit sélectionnée dans le tableau
sumdt = Fonction ({dt}, {Local par défaut},
selcollst = dt << Obtenir les colonnes sélectionnées (chaîne);
// Récupère les colonnes sélectionnées
Si (NItems (selcollst)> 0, // vérifier qu'une colonne est sélectionnée dans le tableau
summaryexpr = Expr ("dt << Summary (Group (sublst))"); // expression de base pour un tableau récapitulatif
liststr = ""; // espace réservé de chaîne vide
// construire Expr
pour (idx = 1, idx <= NItems (selcollst), idx ++,
Si (idx == 1,
liststr = "Colonne (\!" "|| selcollst [idx] ||" \! ")"; // pour la première colonne
,
liststr = liststr || ", Colonne (\!" "|| selcollst [idx] ||" \! ")"; // s'il y a des colonnes supplémentaires
);
);
SubstituteInto (summaryexpr, "sublst", liststr); // effectuer la substitution
sumdt = Eval (Parse (summaryexpr)); // c'est ici que la magie opère
return (sommedt); // toujours agréable de renvoyer un handle - peut-être que vous l'utiliserez dans un autre script?
, // alors rien n'est sélectionné dans la table de données - c'est bien d'inviter l'utilisateur s'il n'a rien sélectionné
Légende(
{200, 200},
"Veuillez sélectionner une colonne à agréger",
Police ("Arial Black"),
Taille de la police (16),
TextColor ("rouge"),
BackColor ("noir"),
Parlé (0)
);
Attendez (4);
Légende (Supprimer);
);
);
//PRINCIPALE
dt = table de données courante ();
sdt = sommedt (dt);
// fin du script - le formatage dans ce blog n'est pas bon pour JSL ...
Bien que cela soit agréable et que vous puissiez facilement le vérifier par vous-même, je pense que si nous n'intégrons pas cela dans notre flux de travail, nous n'essayons pas vraiment d'atteindre ce niveau de ninja. De plus, un moment de discussion sur le flux de travail serait approprié. J'ai ce script simple lié à une combinaison de touches de raccourci clavier et mon flux de travail se compose de: pendant que j'ai une table de données ouverte, je sélectionne une colonne dans le panneau de colonnes , puis j'utilise ma combinaison de touches de raccourci pour obtenir un agrégat ( tableau récapitulatif) des colonnes sélectionnées. C'est vraiment tout ce qu'il y a à faire. Les compétences de ninja sont apparemment d'une simplicité trompeuse.
Visionneuse de colonnes (grande classe) - sélectionnez les colonnes agrégées d'intérêt

Appuyez sur la combinaison de touches de raccourci pour notre script de résumé de table pour obtenir l'agrégat par (âge, sexe)

Attendez, raccourci vous dites ... Alors, comment lier le script à un raccourci clavier? Bonne question - Je suis sûr qu'il y a une meilleure référence ninja (JMP) à ce sujet, mais brièvement ...
1. copiez le script dans votre presse-papiers
2. Sous Affichage -> Personnaliser -> (sélectionner) Menus et barres d'outils

3. Sous la section des barres d'outils, faites un clic droit pour ajouter un Nouvelle barre d'outils

4. Nommez ladite barre d'outils - bien sûr Ninja serait approprié

5. Développez ninja et sélectionnez le script sans titre

6. Dans le volet de droite, nommez votre script et collez notre fonction JSL dans la section `` Exécuter ce JSL ''

7. Choisissez une belle icône JMP intégrée - hé merci JMP Je vais juste emprunter cette icône de tableau récapitulatif

8. Assurez-vous d'attribuer votre raccourci! Vous obtiendrez un niveau de ninja supplémentaire pour cela!

Appuyez sur OK et passez au niveau supérieur!
Vous pouvez obtenir cet écran de personnalisation - appuyez simplement sur OK

Si vous faites partie de ces personnes visuelles et que vous souhaitez voir votre nouveau bouton, dirigez-vous simplement vers Affichage -> Barres d'outils et assurez-vous que votre nouvelle barre d'outils Ninja est cochée



Profitez de vos nouvelles compétences de table Nina!
Meilleur,
Don