Re: compte uniqueMerci beaucoup. C'est le moyen le plus efficace de générer des résultats de table pour compter des valeurs et des proportions uniques.
Re: compte uniqueEncore une autre option : vous pouvez également créer une colonne récapitulative directement dans la fonction de tabulation :




Names default to here(1);
dt = Open("$Sample_data/big class.jmp");
dt << Tabulate(
Show Control Panel( 0 ),
Add Table(
Column Table(
Analysis Columns(
Transform Column( "Age Count", Formula( Col Sum( 1, :age ) ) )
),
Statistics( Mean )
),
Row Table( Grouping Columns( :age ) )
)
);
Re: compte uniqueMerci beaucoup Brady ! Ce sont vraiment de grandes connaissances et je vais pratiquer chacune d'elles! Appréciez vraiment l'aide!Re: compte unique
Je pouvais voir 3 triangles verts attachés après avoir exécuté la requête ci-dessus. Pour relancer la même requête avec des données mises à jour, quels triangles dois-je utiliser ?
Ça dépend... Le script "Source" produit une nouvelle table lorsqu'il est exécuté, tandis que le script "Mettre à jour depuis la base de données" actualise la table actuelle (c'est-à-dire sans créer de nouvelle table.)
Remarque : Une fonctionnalité pratique des tables de données JMP est que si vous nommez un script "À l'ouverture", il s'exécute chaque fois que la table de données JMP qui le contient est ouverte. Ainsi, vous pouvez renommer le script "Mettre à jour à partir de la base de données" en "On Open" pour vous assurer que vous commencez toujours avec des résultats mis à jour. Bien sûr, ce script peut toujours être exécuté quand vous le souhaitez, en cliquant sur la flèche verte.
Si j'ai de nombreuses requêtes différentes, comment puis-je les stocker au même endroit, puis plus tard, lorsque j'ai obtenu les dernières données, pour appliquer à nouveau les requêtes ?
Il existe plusieurs façons de résoudre ce problème, je vais vous proposer quelques-unes des plus simples.
- Vous pouvez utiliser l'astuce "On Open" mentionnée ci-dessus si vous avez des requêtes simples sans dépendances dérivées. (c'est-à-dire qu'aucune requête ne doit être exécutée avant une autre pour obtenir des résultats corrects pour sa table)
- Vous pouvez créer un script "maître", en copiant + collant chacun des scripts dedans. L'ordre peut ou non avoir de l'importance, selon votre situation, et vous devrez peut-être insérer des contrôles dans le script pour vous assurer que les résultats des requêtes précédentes sont terminés avant de continuer.
Je n'ai pas eu à faire beaucoup de cela dans la pratique, il pourrait donc être intéressant de poser cette question à la communauté dans une nouvelle discussion, pour voir quelles sont réellement les approches les plus populaires "sur le terrain", et pourquoi.
Salutations,
brady
Re: compte uniqueMerci! Je viens d'essayer et ça marche ! jamais pensé que je pouvais utiliser col sum pour y parvenir. Intelligent!Re: compte uniqueMerci! C'est aussi une bonne et rapide façon!Re: compte uniqueMerci beaucoup Brady !
Je n'ai jamais utilisé ce générateur de requêtes et il est super puissant !
J'ai juste essayé de prendre 2 tables source et j'ai fait une requête, et c'est tellement intelligent qu'il correspondait à l'ID individuel et renvoyait les nombres uniques corrects.
2 questions au générateur de requête :
1. J'ai pu voir 3 triangles verts comme ci-joint après avoir exécuté la requête ci-dessus. Pour relancer la même requête avec des données mises à jour, quels triangles dois-je utiliser ?
2. Si j'ai de nombreuses requêtes différentes, comment puis-je les stocker au même endroit, puis plus tard, lorsque j'ai obtenu les dernières données, pour appliquer à nouveau les requêtes ?
Re: compte uniqueUne autre option consiste à calculer cela dans votre table de données d'origine en utilisant une colonne avec la fonction col sum() avec une variable 'by', mais en faisant référence au nombre 1 au lieu d'une colonne, ce qui la transforme en une fonction 'count'.Si vous en avez besoin sous forme de tableau ou de tableau, vous pouvez alors tabuler en utilisant une moyenne ou une médiane :

Re: compte uniqueIl semble que la plate-forme Tabulate ne se comporte pas bien avec le type de données Character pour l'analyse. Vous pouvez changer individualID en numérique (recoder ou créer une formule dans une nouvelle colonne), puis utiliser tabulate :

Re: compte uniqueJe ne sais pas comment utiliser Tabulate pour ce faire, mais si vous êtes ouvert à l'utilisation d'une autre plate-forme, c'est vraiment facile à faire en utilisant le générateur de requêtes JMP :
1) Sélectionnez Tables > JMP Query Builder dans le menu principal.
2) Dans la fenêtre suivante, cliquez sur le bouton "Build Query", situé dans le coin inférieur droit de la fenêtre.
3) Dans la fenêtre suivante :
- Double-cliquez sur la colonne de produit, en la plaçant dans le volet "colonnes incluses".
- Double-cliquez sur la colonne d'ID individuelle, en la plaçant dans le volet "colonnes incluses".
- Faites un clic droit sur la colonne t1.product, maintenant dans le volet "colonnes incluses", et sélectionnez "Trier par".
- Dans le menu déroulant du champ Agrégation de la colonne t1.individualID du volet "colonnes incluses", sélectionnez Count DISTINCT.
- Au bas de la fenêtre, cliquez sur "Exécuter la requête", produisant un tableau avec ce que je pense que vous recherchez. (?)
Salutations,
brady
Re: compte uniqueExiste-t-il un raccourci pour N catégories ou alors compter unique dans le menu clic droit Nouvelle colonne de formule ?
Je suppose qu'il y en a un (car on en a si souvent besoin), mais je ne l'ai pas trouvé - quel est son nom ?
NB: toutes les réponses ici ne font pas référence à N catégories ou alors compter unique - certains sont plus comme N lignes par entrée unique .
Re: compte uniqueMerci Jim 
Pour mon application, j'ai besoin d'une fonction qui utilise le Par groupe option du clic droit Nouvelle colonne de formule menu pour calculer et distribuer les valeurs respectives - similaire à Numéro de col (compte) , mais en ne comptant que les entrées uniques/distinctes.

Il n'y a rien comme
N categories(column, bygroups)
- ou une option compter uniquement les valeurs uniques pour le Numéro de colonne fonction?
Grande classe cas d'application :
Un utilisateur souhaite calculer le pourcentage de tranches d'âge, avec une taille moyenne > 60 ans, séparément pour les hommes et les femmes. Alors N catégories pourrait être une bonne façon de faire ceci:
PercentTallAgeGroups = N Categories(if(Col Mean(:height,:age, :sex) > 60,:age, .), :sex) / N Categories(:age, :sex)*100
Cas d'application plus raisonnables :
- ratio de défauts par wafer mesuré pour plusieurs lots (pour un jeu de données avec des données chip-fine)
- ratio de villes avec >0,1% de mortalité Covid pour plusieurs pays
Solution de contournement:
Générer un tableau récapitulatif avec les informations nécessaires par groupes et fusionnez-le dans la table principale.
Re: compte uniqueIl n'y a pas de solution de clic droit à ce problème, pour autant que je sache.La manière à l'ancienne que j'aborde est la suivante :
Summarize( bygroup = by( :age ) );
UniqueCount = N Items( bygroup );
compter uniqueBonjour, j'ai un tableau avec des données de transaction comme ci-dessous.
ID de transaction, ID individuel, produit
1, une, pomme
2, un, orange
3, b, pomme
4, b, banane
5, c, orange
Je veux faire un tableau, sans utiliser de script, pour compter le nombre d'identifiants individuels uniques par produit.
Est-ce que quelqu'un sait comment faire ça?
Je peux d'abord faire un tableau récapitulatif en utilisant l'ID individuel et le produit, puis faire un tableau dessus pour obtenir le nombre d'ID uniques par produit, mais il s'agit de 2 étapes. Vous vous demandez s'il existe un moyen de le faire en une seule étape, car j'ai constamment besoin de le faire pour de nombreux groupes différents ?
Merci!
Ingénierie de la qualité et des procédésRe: compte uniqueSi d'autres utilisateurs sont également intéressés d'avoir des catégories N non seulement dans la plate-forme Tables/Summary, mais aussi via JSL ...
- voici le souhait:
nouvelle fonction JSL : Col N Categories
Re : compte uniquediscussion similaire : compte unique avec groupBy :
https://community.jmp.com/t5/Discussions/Add-Counter-for-Unique-Cases-in-Groups/mp/691831/highlight/true#M87756