Re : Transformer les colonnes - aussi confortable que les statistiques récapitulatives ? - Statut changé en : AcquittéRe : Transformer les colonnes - aussi confortable que les statistiques récapitulatives ?Concernant : Sous-ensemble LDF

J'ai demandé au support Jmp s'il existe un moyen JSL d'implémenter cela ( TS-00056243) :
La réponse courte est qu'il y a pas loin pour que la colonne de transformation change avec une modification du filtre de données local [... l'un de nous] a travaillé avec d'autres dans le support technique et le développement sur le problème, et aucune solution n'est disponible.
Re : Transformer les colonnes - aussi confortable que les statistiques récapitulatives ?Comme motivation :
la discussion Réévaluer une formule pour un rapport basé sur le sous-ensemble des données sélectionnées dans le filtre de données local par @M. Smith a > 5000 vues en ce moment :

C’est donc un sujet brûlant.
Transformer les colonnes : aussi pratique que les statistiques descriptives ? (:green_heart:)☑ Nouvelle fonctionnalité géniale
☑ pourrait aider de nombreux utilisateurs !
☑ supprime (ce qui ressemble à) un « bug »
☐ agréable à avoir
☐ personne n'en a besoin
#myTop10_2023
Qu'est-ce qui a inspiré cette demande de liste de souhaits ?
Les statistiques récapitulatives de GraphBuilder sont très pratiques ; elles réagissent automatiquement aux modifications du filtre de données et les valeurs calculées respectent le regroupement des points de données sur les axes x, le groupe X/Y, le retour à la ligne, la superposition et les pages.
ancienne partie concernant le lissage, où des statistiques récapitulatives sont désormais disponibles :
Voir plus...
Malheureusement, les statistiques descriptives ne sont disponibles que pour les graphiques de points, de lignes, de barres et de cartes thermiques, mais pas pour les graphiques parallèles ou plus lisses.
C’est pourquoi il est parfois impossible d’obtenir un graphique lissé et aligné points/lignes automatiquement avec Graph Builder, comme dans ce graphique : Statistiques récapitulatives pour un lissage optimal.

Pour résoudre ce problème, il faut effectuer l'agrégation « manuellement » à l'aide d'une colonne de transformation.
Il existe de nombreuses raisons pour lesquelles les utilisateurs ajoutent des colonnes de transformation au lieu d'utiliser les statistiques récapitulatives de Graph Builder.
- Nombre limité d'options d'agrégation disponibles via les statistiques récapitulatives ( l'ajout de fonctions de répartition cumulatives au générateur de graphiques et le classement sont également absents).
- l'utilisateur doit ajuster les statistiques (sera utilisé plus fréquemment une fois que la nouvelle fonction JSL : Catégories Col N sera disponible).
Le problème des colonnes de transformation : elles sont beaucoup moins flexibles que les statistiques récapitulatives :
- They ignore the Local Data Filter
-
Voir plus...
Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
gb = dt << Graph Builder(
Transform Column( "Mean[weight]", Formula( Col Mean( :weight ) ) ),
Size( 480, 463 ),
Show Control Panel( 0 ),
Set α Level( 0.01 ),
Summary Statistic( "Median" ),
Graph Spacing( 4 ),
Variables(
X( :age ),
Y( :"Mean[weight]"n ),
Y( :weight, Position( 1 ) ),
Group Y( :sex ),
Overlay( :sex )
),
Elements(
Points( X, Y( 2 ), Legend( 1 ), Summary Statistic( "Mean" ) ),
Points( X, Y( 1 ), Legend( 3 ), Jitter( "None" ) )
),
Local Data Filter(
Add Filter(
columns( :name ),
Where(
:name == {"ALFRED", "ALICE", "AMY", "BARBARA", "CAROL",
"CHRIS", "CLAY", "DANNY", "DAVID", "EDWARD", "ELIZABETH",
"FREDERICK", "JACLYN", "JAMES", "JANE", "JEFFREY", "JOE",
"JOHN", "JUDY", "KIRK", "LAWRENCE", "LESLIE", "LILLIE",
"LINDA", "MARION", "MARK", "MARY", "MICHAEL", "PHILLIP",
"ROBERT", "SUSAN", "WILLIAM"}
),
Display( :name, N Items( 15 ), Find( Set Text( "" ) ) )
)
),
SendToReport(
Dispatch(
{},
"400",
ScaleBox,
{Legend Model(
3,
Base( 0, 0, 0, Item ID( "F", 1 ) ),
Base( 1, 0, 0, Item ID( "M", 1 ) ),
Properties(
0,
{Marker( "Triangle" ), Marker Size( 3 )},
Item ID( "F", 1 )
),
Properties(
1,
{Marker( "Triangle" ), Marker Size( 3 )},
Item ID( "M", 1 )
)
)}
)
)
)
Points forts : moyenne via les statistiques descriptives → valeurs différentes selon l’âge et le sexe + respect du filtre de données local
Triangles ouverts : moyenne via Transform Column -> toutes les valeurs sont identiques, LDF est ignoré

On pourrait dire : les triangles affichent exactement ce que la colonne Transformation est censée calculer. Inutile de s’inquiéter.
Oui, bien sûr… s’il n’y avait pas les statistiques récapitulatives !
Les statistiques récapitulatives ont reçu la même tâche : « moyenne(poids) » – et affichent des valeurs complètement différentes.
-
Ils ignorent la distribution des points de données sur les axes x/y, les groupes X/Y, le retour à la ligne, la superposition et les pages.
En principe, ce problème peut être résolu très facilement : il suffit d'ajouter les colonnes correspondantes comme arguments des agrégations de colonnes.
Mais – à chaque modification du graphique, l’utilisateur doit vérifier très attentivement si toutes les colonnes nécessaires sont présentes dans le code JSL.
-> argh !
Quelle amélioration souhaiteriez-vous voir ?
- Pour la transformation des colonnes dans Graph Builder (et d'autres plateformes - comme le résumé !!!), veuillez ajouter une option pour respecter le filtre de données local (option : sous-ensemble LDF ).
-
Une option permet de configurer la colonne de transformation pour qu'elle segmente les données de la même manière que le font les statistiques descriptives (sous-ensembles individuels pour différentes valeurs sur l'axe X, groupes X/Y, pages, etc.). Je l'ai appelée « éléments du graphique ». (Mode confort ; il existe certainement un terme plus précis.) 
Autre option :
Si une agrégation de colonnes est utilisée dans une colonne de transformation d'un GraphBuilder, elle doit accepter des arguments comme allPlotGroups, X, X(1), X(5), Group X, GroupX(1), Overlay, Page.
Col Number(:height, :sex, "Page") // if a column is used as page, please calculate individual values for the data points on different pages
Col Number(:height, :sex, "GroupY") // if a column is used as GroupY, please calculate individual values for the data points on different GroupsY
Col Number(:height, :sex, "X(1)") // please calculate individual values for different values of the column which is used as X(1)
Col Number(:height, "allPlotGroups") // please calculate individual values for different values of the column which is used as X, GroupX, GroupY, Wrap, Page
Col Number(:height, "GroupX", "GroupY", "Wrap", "Page") // similar to the previous one, but no subgroups for "same X value"
« mode confort » :
Dans le menu contextuel, ajoutez « allPlotGroups » comme argument pour l'agrégation des colonnes afin d'obtenir la même fonctionnalité que les statistiques récapitulatives. (edit : @Graphique 
Le dernier exemple est quelque chose que j'ai longtemps souhaité obtenir lorsque je travaillais avec les statistiques descriptives :
Lors de la représentation graphique des données en fonction du temps, je peux utiliser le numéro de lot en superposition, mais si un lot est réparti sur plusieurs jours, il apparaîtra comme deux lots distincts.
En revanche, lorsque j'active la « moyenne » ou la « médiane », toutes les lots traités le même jour seront moyennées.
Ainsi, cette nouvelle fonctionnalité offrira une flexibilité encore plus grande que SummaryStatistics (!) : une manière flexible de spécifier comment les données sont agrégées :
- regroupez simplement par superposition (lot)
- Ne regroupez pas par X (temps) - calculez plutôt la moyenne dans le temps (via une autre colonne de transformation).

Pourquoi cette idée est-elle importante ?
Graph Builder est génial.
Les statistiques récapitulatives sont très utiles, mais leurs fonctionnalités sont limitées. (Je ne comprends pas pourquoi les développeurs ont restreint les statistiques récapitulatives à un si petit sous-ensemble des données disponibles, par exemple via les statistiques d'en-tête !)
Et lorsqu'on revient aux colonnes de formules, des problèmes surgissent, démontrant à quel point les statistiques récapitulatives peuvent être pratiques.
Grâce à cette nouvelle fonctionnalité, les utilisateurs peuvent utiliser la fonction Transformer les colonnes avec le même confort et la même flexibilité qu'avec les statistiques récapitulatives, mais sans les limitations.
Plus de vœux soumis par 
Exploration et visualisation des donnéesRe: Transformer les colonnes - aussi confortable que les statistiques récapitulatives ?-1 argument:
plus lisse a obtenu des statistiques récapitulatives :

Re: Transformer les colonnes - aussi confortable que les statistiques récapitulatives ?@XanGregg , merci beaucoup : )
Re: Transformer les colonnes - aussi confortable que les statistiques récapitulatives ?Peut être:
fournir la portée par superposition comme mode par défaut pour transformer les colonnes dans les rapports.
Pour les nouveaux utilisateurs, ce sera le mode le plus évident (par analogie avec tous les autres calculs dans Graph Builder)
Pour les utilisateurs expérimentés, il est facile de passer à un autre mode.
-> le meilleur choix pour tout le monde : )
modifier:
hm, "la chose la plus évidente dépend" de l'application - pour la probabilité cumulative, "la portée par superposition" a du sens
- pour les autres, " scope by X " sera mieux....
-> un paramètre dans les préférences aidera l'utilisateur à choisir son mode par défaut préféré
Re: Transformer les colonnes - aussi confortable que les statistiques récapitulatives ?Pour un nouvel utilisateur, cela semblera très naturel, tout comme toutes les autres fonctionnalités automatiques de Graph Builder.
Pour un utilisateur expérimenté, cela ressemblera à de la magie : )
exemple avec probabilité cumulée :
créer automatiquement des graphiques significatifs après avoir activé la superposition et l'habillage :
Re: Transformer les colonnes - aussi confortable que les statistiques récapitulatives ?exemple avec N Unique :
Afficher le nombre de constructeurs automobiles - par année - et répartis par taille de porte :
Re: Transformer les colonnes - aussi confortable que les statistiques récapitulatives ?Un autre cas d’utilisation :
Normalisation instantanée : quoi que vous traciez, indépendamment de la fréquence à laquelle vous le divisez (Groupe X, Groupe Y, Wrap, Page), les données sont automatiquement normalisées par l'ensemble des points de données dans un graphique.
Une fois cette fonctionnalité disponible, j'ajouterai un nouveau bouton :

à la barre d'outils du générateur de graphiques : )
((current report()[OutlineBox(1)])<< get scriptable object ) <<
Transform Column(
"data_norm",
Formula(
:Data / Col Quantile(
:Data,
0.5,
:"@Exclude"n,
:"@Filter"n,
:"@Graph"n,
:"@Overlay"n
)
)
);
Re: Transformer les colonnes - aussi confortable que les statistiques récapitulatives ?Probabilité cumulée - divisée et normalisée par groupe de superposition
... via Scope = @Overlay
4 clics de souris, c'est tout !
incroyablement utile - @XanGregg , c'est trop cool ! UN GRAND MERCI !!!
Re : Transformer les colonnes - aussi confortable que les statistiques récapitulatives ?Lorsqu'un utilisateur crée une colonne de transformation manuellement, par exemple X / Colonne médiane (x) - et souhaite ensuite modifier la portée, il peut utiliser le menu contextuel :

C'est très confortable !
Très joli cadre : )
Re : Transformer les colonnes - aussi confortable que les statistiques récapitulatives ? - Statut modifié en : Oui, restez à l'écoute !Merci pour votre retour ! Ce module sera disponible dans JMP 19.
Re : Transformer les colonnes : aussi pratique que les statistiques récapitulatives ? (:green_heart:) - Statut modifié : LivréRe : Transformer les colonnes : aussi pratique que les statistiques récapitulatives ? (:green_heart:) - Statut modifié : Livré