☑ nouvelle fonctionnalité intéressante
☐ pourrait aider de nombreux utilisateurs !
☐ supprime un « bug »
☐ agréable à avoir
☐ personne n'en a besoin
Qu'est-ce qui a inspiré cette demande de liste de souhaits ?
Les statistiques récapitulatives dans GraphBuilder sont très confortables, elles réagissent automatiquement aux changements 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.
Malheureusement, les statistiques récapitulatives ne sont disponibles que pour les tracés de points, de lignes, de barres et de cartes thermiques, mais pas par exemple pour les tracés parallèles ou plus fluides.
C'est pourquoi parfois il n'est PAS possible d'obtenir un tracé plus lisse et aligné point/ligne - par les moyens automatiques de Graph Builder, comme dans ce tracé de Générateur de graphiques : statistiques récapitulatives pour une fluidité accrue

Pour remédier au problème, il faut faire l'agrégation "manuellement" par un Transformer la colonne.
Il existe d'autres 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 ( Ajouter des CDF à Graph Builder , Le classement manque également )
- l'utilisateur doit ajuster les statistiques (sera utilisé plus fréquemment, une fois nouvelle fonction JSL : Col N Catégories est disponible).
L’enjeu des colonnes de transformation : elles le sont beaucoup moins flexible que les statistiques récapitulatives :
- Ils ignorent la distribution des points de données sur les axes x/y, les groupes X/Y, les enveloppes, les superpositions et les pages.
- Ils ignorent le filtre de données local
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 solides : moyenne via les statistiques récapitulatives -> différentes valeurs pour différents âges, sexes + respecte le filtre de données local
triangles ouverts : moyenne via la colonne de transformation -> toutes les valeurs sont les mêmes, LDF est ignoré

On pourrait argumenter : les triangles affichent exactement ce que la colonne de transformation est censée calculer. Pas besoin de s'inquiéter.
Oui, bien sûr... s'il n'y avait pas les statistiques récapitulatives !
Les statistiques récapitulatives ont la même tâche : "moyenne (poids)" - et affichent des valeurs complètement différentes.
Quelle est l’amélioration que vous souhaiteriez voir ?
Pour transformer les colonnes dans Graph Builder (et d'autres plates-formes - comme Résumé !!!), veuillez ajouter une option pour respecter le filtre de données local (option : Sous-ensemble LDF ).
Le problème de "respecter la répartition des points de données sur les axes x/y, les groupes X/Y, les pages, etc." peut être corrigé très facilement - il suffit d'ajouter les colonnes respectives comme arguments des agrégations de colonnes.
Mais - à chaque modification du graphique, l'utilisateur doit vérifier très soigneusement si toutes les colonnes nécessaires sont présentes dans le code JSL.
Beaucoup plus simple : une option qui indique à la colonne de transformation de diviser les données de la même manière que le font les statistiques récapitulatives (sous-ensembles individuels pour différentes valeurs sur l'axe X, groupes X/Y, pages...). Je l'ai appelé "éléments graphiques". (mode confort - je suis sûr qu'il y a un mot qui le décrit plus précisément 
Option alternative :
Si une agrégation de colonnes est utilisée dans une colonne de transformation d'un GraphBuilder, elle doit accepter des arguments tels que 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"
Le "mode confort" dans le menu contextuel et "allPlotGroups" comme argument de l'agrégation de colonnes fournissent la même fonctionnalité que les statistiques récapitulatives.
Le dernier exemple est quelque chose que je souhaitais depuis longtemps lorsque je travaillais avec les statistiques récapitulatives :
Lors du traçage des données en fonction du temps, je peux utiliser le numéro de lot comme superposition, mais si un lot est réparti sur plusieurs jours, il apparaîtra sous la forme de deux lots.
Ainsi, ici, la nouvelle fonctionnalité offrira une flexibilité encore plus grande que SummaryStatistics (!) : un manière flexible pour spécifier comment les données sont agrégées :
- il suffit de regrouper par superposition (lot)
- ne pas regrouper par X (temps) - à la place : moyenne dans le temps (via une autre colonne Transfrom)

Pourquoi cette idée est-elle importante ?
Graph Builder est cool.
Les statistiques récapitulatives sont très utiles... mais la fonctionnalité des statistiques récapitulatives est limitée.
Et lorsque l'on revient aux colonnes de formules, des problèmes apparaissent qui montrent à quel point les statistiques récapitulatives peuvent être confortables.
Pour le problème avec le filtre de données, il existe une solution de contournement : Transformer la colonne : bug avec les lignes exclues
Mais cela nécessite un certain effort et devient beaucoup plus compliqué pour les tableaux de bord comportant plus d'un seul filtre de données.
Avec les nouvelles options de regroupement pour les agrégations de colonnes, Transformer les colonnes deviendra beaucoup plus puissant que les statistiques récapitulatives.
--> Avec la nouvelle fonctionnalité, les utilisateurs peuvent utiliser Transformer les colonnes avec le confort et la flexibilité auxquels ils sont habitués grâce aux statistiques récapitulatives - et sans les limitations.