Salut,
Je souhaite créer un graphique qui affichera le cumul des seuls nouveaux éléments par semaine à partir d'un tableau à 2 colonnes (voir l'exemple ci-joint). Dans le tableau, il y a 91 types de fruits différents liés à la date du 02/01/2024 au 29/09/2024. Ci-dessous le graphique souhaité. Les étapes que j'ai suivies jusqu'à présent pour obtenir le graphique ne semblent pas trop efficaces/efficaces. Je me demande si quelqu'un a un moyen plus efficace (JSL) de le faire?
Étapes que j'ai utilisées pour générer le graphique :
1) créer une colonne dans le même tableau avec Formula(Week Of Year(:Date)).
2) résumer le tableau N(Fruit) par Fruit et WW
3) dans le tableau récapitulatif de 2), ajouter une colonne (Count of WW) avec Formula(Col Min(:WW, :Fruit))
4) tableau récapitulatif Moyenne (nombre de WW) par fruit
5) tableau récapitulatif N (moyenne (nombre de WW)) par moyenne (nombre de WW). J'ajoute ensuite manuellement des lignes avec la valeur = 0 à tout WW manquant car cette semaine n'a pas de nouveau fruit. C'est le tableau que j'ai ensuite utilisé pour construire le graphique en utilisant statistic = cumulatif.

Tout ce que j'ai fait pour créer le JSL pour votre graphique a été de suivre les étapes indiquées et de copier le JSL à partir du journal produit par JMP.J'ai ajouté un petit code original pour résoudre l'ajout de zéros pour toutes les semaines de travail où il n'y avait pas de nouveaux fruits, mais à part ça, JMP a créé le JSL, pas moi

names default to here(1);
dt=data table("Fruit by date");
// New column: Column 3
Data Table( "Fruit by date" ) << New Column( "WW",
Numeric,
"ordinal",
Format( "Best", 12 ),
formula(week of year(:date))
);
// Data table summary
// → Data Table( "Fruit by date (1) By (Fruit, WW)" )
Data Table( "Fruit by date" ) << Summary(
Group( :Fruit, :WW ),
N( :Fruit ),
Freq( "None" ),
Weight( "None" )
);
// Change column formula: Count of WW
Data Table( "Fruit by date By (Fruit, WW)")<<
New column("Count of WW", Formula( Col Minimum( :WW, :Fruit ) ));
// Data table summary
// → Data Table( "Fruit by date By (Fruit, WW) By (Fruit)" )
Data Table( "Fruit by date By (Fruit, WW)" ) <<
Summary( Group( :Fruit ), Mean( :Count of WW ), Freq( "None" ), Weight( "None" ) );
// Data table summary
// → Data Table( "Fruit by date By (Fruit, WW) By (Fruit) By (Mean(Count of WW))" )
Data Table( "Fruit by date By (Fruit, WW) By (Fruit)" ) <<
Summary(
Group( :"Mean(Count of WW)"n ),
N( :"Mean(Count of WW)"n ),
Freq( "None" ),
Weight( "None" )
);
// Data table summary
// → Data Table( "Fruit by date By (WW)" )
Data Table( "Fruit by date" ) << Summary(
Group( :WW ),
Freq( "None" ),
Weight( "None" ),
link to original data table(0)
);
for each row(
:N Rows = 0;
);
:WW << set name("Mean(Count of WW)");
// Update data tables
Data Table( "Fruit by date By (WW)" ) << Update(
With( Data Table( "Fruit by date By (Fruit, WW) By (Fruit) By (Mean(Count of WW))" ) ),
Match Columns( :"Mean(Count of WW)"n = :"Mean(Count of WW)"n )
);
data table("Fruit by date by (WW)") << Graph Builder(
Size( 891, 456 ),
Show Control Panel( 0 ),
Variables( X( :"Mean(Count of WW)"n ), Y( :N Rows ) ),
Elements(
Bar(
X,
Y,
Legend( 5 ),
Summary Statistic( "Cumulative Sum" ),
Label( "Label by Value" )
)
)
)