Comment créer une formule de colonne pour N catégories ?Je voudrais créer une formule de colonne qui fournit un décompte du nombre de valeurs distinctes dans une colonne.Je peux utiliser la visionneuse de colonnes, la fonction Afficher le résumé dans JMP 15, mais je souhaite avoir cette valeur dans une colonne pour l'utiliser dans d'autres calculs.
Par exemple, dans le tableau Big Class - N éléments dans la colonne "Sexe" doivent afficher 2 comme 2 valeurs distinctes.
Re : Comment créer une formule de colonne pour N catégories ?Merci, @txnelson & @PatrickGiuliano .
Assez nouveau sur JMP, encore en apprentissage. Bon à savoir sur l'opérateur Col Number().
J'ai joint un échantillon de mon ensemble de données. Je recherche le nombre unique d'outils par semaine et par an. Chaque outil peut avoir plusieurs lignes par semaine. J'ai mis une colonne de résultat idéal dans l'ensemble.
Merci encore pour votre aide!
Re : Comment créer une formule de colonne pour N catégories ?Merci Jim!
@CTrahon0526 Si vous êtes nouveau dans JMP, voici un peu plus de détails sur ce que Jim a partagé.
Vous pouvez mettre la fonction Col Number() dans une formule de colonne et la calculer directement dans le tableau de données.
Je joins un exemple fictif de table de données JMP.
Tout d'abord, j'ai créé une colonne "Année Semaine" en utilisant une formule de colonne instantanée dans JMP. Cliquez avec le bouton droit sur la colonne Heure, Nouvelle colonne de formule > Date Heure > Année Semaine.
Ensuite, j'ai créé une colonne « Compte par année et semaine » contenant la formule de colonne suivante :
Col Number(:time, :Year Week)
Re : Comment créer une formule de colonne pour N catégories ?La fonction est
Col Number(<:column Name>)
Voir l'index des scripts pour plus de détails
Re : Comment créer une formule de colonne pour N catégories ?
@PatrickGiuliano ,
Existe-t-il un moyen d'obtenir les N éléments par variable ?
J'essaie de trouver les valeurs N uniques par année et par semaine de travail. Merci.
Re : Comment créer une formule de colonne pour N catégories ?Merci @txnelson c'est toi l'homme !
@patricia_roth et j'ai également trouvé l'ode suivante au soutien gracieux de certains des autres membres de l'équipe JMP.
Summarize( x = by( :sex ) );
N Items( x );
c'est à peu près la même chose mais quelques lignes en moins.
Re : Comment créer une formule de colonne pour N catégories ?Voici la formule que j'utiliserais :
If( Row() == 1,
Summarize( Current Data Table(), bygp = by( :sex ) );
n = N Items( bygp );
);
n;
Re : Comment créer une formule de colonne pour N catégories ?Je ne ferais pas ce que vous demandez dans une formule.Je voudrais plutôt :
- Cliquez sur Tableaux=>Résumé et créez un tableau de données récapitulatif, regroupé par Année, WW et ToolID.
- À l'aide du tableau de données récapitulatives nouvellement créé, cliquez à nouveau sur Tables=>Résumé et créez un nouveau tableau de données récapitulatives en regroupant uniquement sur Année et WW.La colonne du nouveau tableau appelée # Rows vous donnera le nombre d'ID d'outil uniques par année/WW.
- Ensuite, cliquez sur le tableau de données d'origine, puis en utilisant à nouveau le menu déroulant Tableaux, sélectionnez Mettre à jour.Cela copiera les données du deuxième tableau récapitulatif dans le tableau d'origine.Dans la boîte de dialogue de la Mise à jour,
- Sélectionnez le tableau à partir duquel mettre à jour (le deuxième tableau récapitulatif)
- Sélectionner pour faire correspondre les colonnes
- Sélectionnez Année dans chaque tableau et cliquez sur Match
- Sélectionnez WW dans chaque tableau et cliquez sur Match
- Cliquez sur OK
Les données seront désormais dans votre table de données d'origine
Re : Comment créer une formule de colonne pour N catégories ?@CTrahon0526 , la solution de Jim est magnifique ! Et cela vous apprend beaucoup sur les opérations de table dans JMP. Je suis d'accord qu'une formule de colonne dans ce cas est très délicate. Tableaux Résumé 2X est une solution très élégante. Ensuite, "mettez à jour" les résultats dans la table de données d'origine en utilisant Tables > Mettre à jour. Cette dernière étape peut être effectuée de manière interactive (en faisant littéralement glisser et déposer la colonne du deuxième tableau récapitulatif vers le premier, et enfin vers le tableau principal) au lieu d'utiliser Tables > Mettre à jour, mais la solution utilisant Mise à jour est plus robuste (reproductible ) si vous comptez effectuer ce calcul sur plusieurs tables. Mais cela vous donne une idée de l’interactivité de JMP en tant qu’outil basé sur une interface graphique.
Re : Comment créer une formule de colonne pour N catégories ?Le glisser-déposer est très cool.
Néanmoins, cette approche présente un ÉNORME inconvénient :
ce n'est pas dynamique. Si des données sont ajoutées au tableau, les entrées seront erronées.
C'est L'avantage d'une formule en colonnes : Les valeurs seront toujours correctes.
Étonnant qu'il n'y ait pas de nouvelle formule de colonne / commande JSL Col N Catégories ( ) disponible dans JMP.
Re : Comment créer une formule de colonne pour N catégories ?voici un souhait d'ajouter une telle fonctionnalité
... en JSL
... vers une nouvelle formule de colonne
... vers le générateur de graphiques
Catégories du Col N
Je suppose qu'il n'y a que quelques utilisateurs JMP dans le monde qui n'en ont pas besoin ; )
La plupart des utilisateurs de JMP seront ravis de voir une telle fonctionnalité dans une future version de JMP (... avec un classement dense )
Re : Comment créer une formule de colonne pour N catégories ?[supprimé] n'apparaissait pas à la bonne position.
Re : Comment créer une formule de colonne pour N catégories ?Un peu en retard sur le fil, mais je cherchais une solution au même problème. La formule ci-dessous dans la table de données de @CTrahon0526 reproduit les valeurs de la colonne « ID d'outil uniques par semaine de travail par an »
Col Sum( Col Cumulative Sum( 1, :Year, :WW, :Tool ID ) == 1, :Year, :WW )
Re : Comment créer une formule de colonne pour N catégories ?Bien, je peux l'utiliser beaucoup - donc, maintenant j'ai :
Names Default To Here( 1 );
Try(dt = CurrentDataTable(), stop());
updateLBox = Function( {t},
(t << sib) << setitems( (t << topparent)[listboxbox( 1 )] << getselected )
);
nw = New Window("count unique entries",
<< Type("Modal Dialog"),
Border Box( Left( 10 ), Right( 10 ), bottom( 5 ),
V List Box(
Lineup Box( N Col( 1 ), spacing( 10 ),
// Text Box( "XG Boost Specification" ),
// colistbox only necessary if the script is standalone
H List Box(
Panel Box( "Select Columns", Col List Box( all, nlines( 15 ) ) ),
Panel Box( "Cast Selected Columns into Roles",
Lineup Box( N Col( 2 ),
Button Box("Unique",
<<SETFUNCTION></SETFUNCTION>... available at a single mouse click : )
Re : Comment créer une formule de colonne pour N catégories ?pour obtenir le prochain niveau d'interactivité - veuillez voter ici :
Transformer les colonnes : aussi confortable que les statistiques récapitulatives ?
par exemple pour afficher le nombre de constructeurs automobiles - les valeurs correctes pour les années individuelles - et réparties par taille de porte :
... il peut y avoir des applications plus utiles : )
