compter (valeur distincte)<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Bonjour à tous,
Une fonction dans Jmp similaire à count distinct in sql?
Exemples:
Comment puis-je obtenir les valeurs de count distinct subjectid dans une nouvelle colonne de ces tables avec des fonctions ?
Merci
TABLEAU 1
subjectid compter distinct subjectid
un 5
b 5
c 5
un 5
b 5
j 5
e 5
TABLEAU 2
subjectid compter distinct subjectid
un 3
b 3
c 3
un 3
Re : compter (valeur distincte)Étrange que cette fonction ne soit pas disponible dans l'éditeur de formule (statistique) ou JSL... Peut-être la prochaine version.
Re : compter (valeur distincte)j'étais intrigué par @Beaux mais je pense qu'il fait référence à la N Catégories statistique récapitulative dans Tableaux->Résumé .

Re : compter (valeur distincte)Malheureusement, je ne trouve pas le N Catégories() fonction dans l'index de script.
Heureusement, je serais satisfait de l'une des solutions précédentes.
// Open an example
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
// Use the Tables > Summary command approach
dt << Summary(
Group( :age ),
Freq( "None" ),
Weight( "None" )
);
// Use the Analyze > Tabulate approach
dt << Tabulate(
Show Control Panel( 0 ),
Add Table( Row Table( Grouping Columns( :age ) ) )
);
// Use the JSL Summarize() function approach
Summarize(
group = By( :age ),
n = Count()
);
Re : compter (valeur distincte)J'ai trouvé cette fonction d'agrégation utile:
N Catégories()
Re : compter (valeur distincte)Une formule simple mais inefficace est :
Sommation( i = 1, N Row(), :subjectid == :id_sujet)
Il tire parti du fait que vrai vaut 1 et faux vaut 0, donc la somme des comparaisons donne un décompte.
L'utilisation de la méthode Table Summary comme décrit par TheChadd ou l'utilisation de JSL sera plus rapide si la table est vraiment grande.
Re : compter (valeur distincte)Je ne peux pas facilement penser à un moyen d'avoir une formule pour accomplir un COUNT DISTINCT.Cependant, vous pouvez obtenir la valeur via quelques résumés de table et une jointure de table, que vous pouvez ensuite coder en JSL si vous le souhaitez.
Dans le tableau A, sélectionnez Tableau --> Résumé, Grouper par subjectid, sélectionnez OK.Dans le tableau récapitulatif, sélectionnez Table --> Summary, Select subjectid, et sélectionnez "N" sous Statistics, sélectionnez OK.Dans le nouveau tableau, supprimez la colonne "N lignes".Revenez à la première table et sélectionnez Table --> Joindre.Ensuite, sélectionnez pour joindre avec la dernière table récapitulative avec la spécification correspondante de la jointure cartésienne, puis sélectionnez OK.Le décompte distinct apparaîtra dans votre tableau d'origine.
Si vous deviez le scripter :
dt = Tableau de données actuel () ;
somme = dt << Résumé ( Groupe ( : ID de sujet ) , invisible ) ;
somme = somme << Résumé ( Groupe , N ( : ID de sujet ) , invisible ) ;
count_distinctdt = dt << Rejoindre (
Avec ( somme ) ,
Jointure cartésienne
) ;
count_distinctdt << supprimer des colonnes ( "N rangées" ) ;
colonne ( "N(id_sujet)" ) << définir le nom ( "compter un subjectid distinct" ) ;
somme << Fermer la fenêtre ;
somme << Fermer la fenêtre ;
Fermer ( dt , pas de sauvegarde ) ;
Re: compte (val distinct)Comme @Jeff_Perkinson dit - vraiment déroutant qu'il existe une fonctionnalité de catégories N dans Jmp - mais qu'elle soit limitée aux tableaux/résumés ?!?
Si d'autres utilisateurs sont également intéressés à avoir N catégories non seulement dans la plateforme Tableaux/Résumés, mais aussi via JSL...
- voici le souhait :
nouvelle fonction JSL : Col N Catégories
Re : count(valeur distincte)Tableaux/Résumé : 
Tabuler: 
Statistiques d'en-tête : 
Col N Catégories : NON -> bientôt *)
Graph Builder: NON -> bientôt *)
@Jeff_Perkinson , qui devons-nous convaincre de l'implémenter dans JMP18.1 ?
*) edit : voir ci-dessous : )
Re: compte (val distinct)d'autres articles avec des problèmes similaires :
Ajouter un compteur pour les cas uniques dans les groupes
compte unique
Fonction personnalisée - comment référencer la colonne
Référence de colonne dans la fonction personnalisée
compte (val distinct)
Formule pour le nombre de catégories uniques dans la colonne
Comment créer une formule de colonne pour N catégories ?
Re : count(valeur distincte)JMP19 fournira une nouvelle fonction pour calculer les catégories Col N - en fait : Col N Unique()
https://community.jmp.com/t5/JMP-Wish-List/Col-N-Categories/idc-p/870972/highlight/true#M7292
... et via le nouveau menu de colonnes, il sera disponible dans chaque rapport - comme Générateur de graphiques .
