Colonne de formule pour obtenir des valeurs uniques à l'aide de colonnes de regroupementQuelle serait une formule de colonne simple pour obtenir des valeurs uniques avec de grands ensembles de données (100 000 lignes) ? Est-ce possible ?
Par exemple, en regardant Voitures.jmp , la plateforme de distribution indique déjà le nombre de niveaux (éléments uniques), mais je n'ai pas trouvé de colonne de formule permettant de les calculer.
Créer une colonne --> 37 niveaux (différents fabricants).
On parle souvent de cardinalité, de distinction ou de nombre de valeurs uniques.
La formule doit pouvoir utiliser des colonnes de groupe afin d'obtenir, par exemple, le nombre de modèles par fabricant.
Là où nous avons Toyota, la valeur sera de 11 modèles. Mitsubishi 6 modèles, etc.
Cela est également possible sous JMP Query Builder, par exemple.

SÉLECTIONNEZ t1.Make, COUNT(DISTINCT t1.Model) COMME "Count DISTINCT-Model"
DE Voitures t1
GROUP BY t1.Make;
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Cars.jmp" );
Distribution(
Nominal Distribution( Column( :Make ) ),
Nominal Distribution( Column( :Model ) ),
Local Data Filter(
Add Filter(
columns( :Make ),
Where( :Make == "Toyota" ),
Display( :Make, N Items( 15 ), Find( Set Text( "" ) ) )
)
),
SendToReport(
Dispatch( {"Make"}, "Frequencies", OutlineBox, {Close( 1 )} ),
Dispatch( {"Model"}, "Distrib Nom Hist", FrameBox,
{Frame Size( 110, 178 )}
)
)
);
Analyse et modélisation des données de baseFusion et nettoyage des donnéesExploration et visualisation des donnéesRe : Colonne de formule pour obtenir des valeurs uniques à l'aide de colonnes de regroupementVoici ma solution folle

As Constant(
t1 = Current Data Table();
Query(
t1,
"
SELECT t1.Make, COUNT(DISTINCT t1.Model) AS 'Count DISTINCT-Model'
FROM Cars t1
GROUP BY t1.Make;"
);
newdt = Current Data Table();
makeList = newdt:Make << get values;
countMat = Column( newdt, 2 ) << get values;
Close( newdt, nosave );
);
countMat[Contains( makeList, t1:make )];
Re : Colonne de formule pour obtenir des valeurs uniques à l'aide de colonnes de regroupementviendra bientôt:
Col N Catégories - et tous les autres...
Re : Colonne de formule pour obtenir des valeurs uniques à l'aide de colonnes de regroupementJe pense que cela pourrait donner un résultat correct
Col Sum(Row() == Col Min(Row(), :Model, :Make), :Make)
Mais actuellement, j'utiliserais probablement Résumé -> Mettre à jour et n'utiliserais pas de formule
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Cars.jmp");
// Formula option
newcol = dt << New Column("R", Numeric, Ordinal, Formula(
Col Sum(Row() == Col Min(Row(), :Model, :Make), :Make)
));
// Summary + update
dt_summary = dt << Summary(
Group(:Make),
N Categories(:Model),
Freq("None"),
Weight("None"),
statistics column name format("stat of column"),
private
);
// Update data table
dt << Update(
With(dt_summary),
Match Columns(:Make = :Make),
Add Columns from Update Table(:N Categories of Model),
Replace Columns in Main Table(:N Categories of Model)
);
Close(dt_summary, no save);Re : Colonne de formule pour obtenir des valeurs uniques à l’aide de colonnes de regroupementdisponible dès maintenant :
