Bonjour tout le monde, Novice en JSL. J'ai un tableau de données au format ci-dessous. Les colonnes sont BIN, TOF (erreur ou non), RWED (refait le soudage) et MP (assemblé par).Il ne produit pas les résultats finaux et se termine après l'étape 1 (décrite ci-dessous).Comment puis-je le réparer ?
| POUBELLE | TOF | RWED | Député |
| 1001 | Oui | 1 | 31A |
| 1001 | N | | 31A |
| 1001 | N | | 31A |
| 1001 | Oui | 1 | 31A |
| 1002 | N | | 31A |
| 1002 | N | | 31B |
| 1002 | N | | 31B |
| 1002 | Oui | 1 | 31B |
| 1003 | Oui | 1 | 31A |
| 1003 | Oui | 1 | 31B |
J'essaie de suivre les étapes pour obtenir les résultats finaux que je souhaite, qui sont RWED en pourcentage du nombre total ou des unités assemblées dans ce BIN.
Étape 1 : créer un tableau récapitulatif
| POUBELLE | N lignes | Député | Somme(RWED) |
| 1001 | 4 | 31A | 2 |
| 1002 | 1 | 31A | 0 |
| 1002 | 3 | 31B | 1 |
| 1003 | 1 | 31A | 1 |
| 1003 | 1 | 31B | 1 |
Étape 2 : Renommez le tableau récapitulatif « Sum(RWED) » en « TRWED » et ajoutez une colonne avec la formule « RWRat » pour calculer le taux de re-soudure par nombre total d'unités par BIN par MP.
| POUBELLE | N lignes | Député | TRWED | RWRat |
| 1001 | 4 | 31A | 2 | 50 |
| 1002 | 1 | 31A | 0 | 0 |
| 1002 | 3 | 31B | 1 | 33.33 |
| 1003 | 1 | 31A | 1 | 100 |
| 1003 | 1 | 31B | 1 | 100 |
Étape 3 : Transposer le tableau vers la sortie finale et enregistrer le tableau
| POUBELLE | 31A | 31B |
| 1001 | 50 | 0 |
| 1002 | 0 | 33.33 |
| 1003 | 100 | 100 |
J'ai fait le script suivant
dt1 = Open( "smdt.csv" ); //Open the data table
Wait( 2 );
//Summary table creation
dt2 << Summary( Group( :BIN, :MP ), Sum( :RWED ), Freq( "None" ), Weight( "None" ), );
Column( dt2, "sum(:RWED)" ) << set name( "TRWED" );//renaming the summary table column
dt2 << New Column( "RWRat", Numeric, Continuous, Formula( Round( (:Name( "TRWED)" ) / :N Rows) * 100, 2 ) ) );//add new column to with formula
//Transpose the final results
Transpose( columns( :Name( "Sum(RWED)" ) ), By( :BIN ), Label( :MP ), Output Table( "RWRT By (BIN, MP)" ) );
dt2 << Save( "Stb.csv" );//Save the table
@txnelson Merci pour votre réponse rapide.
Après avoir créé la colonne RWRat, je vois que les valeurs calculées n'ajoutent pas à la colonne. Est-ce à cause de la colonne « N lignes » ? La colonne "N Lignes" est créée lorsque je fais le tableau récapitulatif. Dois-je renommer cette colonne si je souhaite la réutiliser dans la formule ?
Le format du tableau de sortie final est correct pour moi, mais les valeurs de mon tableau sont vides.
Aussi, je TXN_WW==BIN. C'était mon erreur.
names default to here(1);
dt1 = New Table( "Example",
Add Rows( 10 ),
New Script(
"Source",
Data Table( "Untitled 31" ) << Split(
Split By( :Column 2 ),
Split( :Column 1 ),
Sort by Column Property
)
),
New Column( "Bin",
Character,
"Nominal",
Set Values(
{"1001", "1001", "1001", "1001", "1002", "1002", "1002", "1002", "1003",
"1003"}
)
),
New Column( "TOF",
Character,
"Nominal",
Set Values( {"Y", "N", "N", "Y", "N", "N", "N", "Y", "Y", "Y"} )
),
New Column( "RWED",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Selected,
Set Values( [1, ., ., 1, ., ., ., 1, 1, 1] )
),
New Column( "MP",
Character,
"Nominal",
Set Values(
{"31A", "31A", "31A", "31A", "31A", "31B", "31B", "31B", "31A", "31B"}
)
)
);
dt2 = dt1 << Summary(
Group( :Bin, :MP ),
Sum( :RWED ),
Freq( "None" ),
Weight( "None" )
);
dt2:Name("Sum(RWED)") << set name( "TRWED" );
dt2 << NewColumn("RWRat", Numeric, Continuous, Formula(Round(:TRWED / :N Rows* 100, 2) ));
dt3 = dt2 << Transpose(
columns( :RWRat ),
By( :Bin ),
Label( :MP ),
Output Table( "\!"RWRT By (TXN_WW, MP" )
);