Bonjour,
J'ai un système qui calibre les données et produit les informations comme suit :
| ID de pneu | Bande de roulement | Profondeur | Glisser | nous | psi |
| 2326 | Intérieur | 0,618584 | 0,117774 | 0,417314 | 21.15549 |
| 2326 | Extérieur | 0,740841 | 0,417079 | 0,417314 | 21.15549 |
| 2327 | Intérieur | 0,329065 | 0,218903 | 0,365071 | 25.65573 |
| 2327 | Extérieur | 0,478055 | 0,214953 | 0,365071 | 25.65573 |
L'identification du pneu est lue deux fois, une fois pour les lectures de la bande de roulement intérieure et une fois pour l'extérieur. Existe-t-il un script que je peux utiliser pour le réorganiser en tant que tel:
| ID de pneu | Profondeur intérieure | Profondeur extérieure | Traînée intérieure | Traînée extérieure | nous | psi |
| 2326 | 0.61858445 | 0.74084057 | 0,1177737 | 0,4170794 | 0,41731 | 21.1555 |
| 2327 | 0.32906451 | 0.47805545 | 0,2189025 | 0,2149527 | 0,36507 | 25.6557 |
Ici, il n'y a qu'une seule participation par pneu. Les entrées pour Depth et Drag ont été renommées Inner ou Outer et les colonnes identiques viennent d'être fusionnées en une seule. Ceci est un extrait d'une feuille beaucoup plus grande avec beaucoup plus de colonnes - certaines différentes, d'autres identiques.
Idéalement, le script peut déterminer quelles cellules sont identiques en fonction de l'ID fatigué et supprimer simplement les répliques. Mais un script configuré avec des noms prédéterminés peut également fonctionner, car les noms de colonne ne changent jamais.
Merci!
@jthi , @txnelson , vous deux avez énormément aidé la dernière fois ! Merci pour ça! Je ne sais pas vraiment quelle approche adopter et je n'ai rien trouvé de similaire dans les solutions précédentes.
Gentil Jim !Bien mieux que mon approche de la force brute.J'ajouterais uS et psi aux colonnes de groupe selon @Arocha1 la demande.


Ce que vous demandez est disponible en utilisant la plateforme Split
Tableaux=>Fractionner
Après avoir ouvert la plate-forme Split, configurez l'écran comme indiqué ci-dessous

Une fois que vous avez cliqué sur OK, il créera une nouvelle table de données

Le script pour effectuer le fractionnement est contenu dans l'entrée Source de la table de données
Faites un clic droit sur le mot Source

et sélectionnez Modifier
La fenêtre d'édition s'ouvrira et affichera le JSL requis pour exécuter le fractionnement et créer la table de données souhaitée.

Coupez et collez simplement le JSL de la fenêtre d'édition dans votre script
C'est une approche par force brute, mais ça marche.Notez les variables pour les colonnes fractionnées et les colonnes non fractionnées.
dt = New Table( "Base Tire Data", Add Rows( 4 ),
New Column( "Tire ID", Numeric, "Continuous", Format( "Best", 12 ),
Set Values( [2326, 2326, 2327, 2327] ) ),
New Column( "Tread", Character( 16 ), "Nominal",
Set Values( {"Inner", "Outer", "Inner", "Outer"} ) ),
New Column( "Depth", Numeric, "Continuous", Format( "Best", 12 ),
Set Values( [0.618584, 0.740841, 0.329065, 0.478055] ) ),
New Column( "Drag", Numeric, "Continuous", Format( "Best", 12 ),
Set Values( [0.117774, 0.417079, 0.218903, 0.214953] ) ),
New Column( "uS", Numeric, "Continuous", Format( "Best", 12 ),
Set Values( [0.417314, 0.417314, 0.365071, 0.365071] ) ),
New Column( "psi", Numeric, "Continuous", Format( "Best", 12 ),
Set Values( [21.15549, 21.15549, 25.65573, 25.65573] ) )
);
nr = nrows(dt);
dtt = New Table( "Split Tires");
dtt << new column("Tire ID", Numeric, "Continuous", Format( "Best", 12 ));
split_cols = {"Depth", "Drag"};
nonsplit_cols = {"uS", "psi"};
for (i = 1, i <= nitems(split_cols), i++,
inn_col = "Inner " || split_cols[i];
out_col = "Outer " || split_cols[i];
dtt << new column(inn_col, Numeric, "Continuous", Format( "Best", 12 ));
dtt << new column(out_col, Numeric, "Continuous", Format( "Best", 12 ));
);
for (i = 1, i <= nitems(nonsplit_cols), i++,
one_col = nonsplit_cols[i];
dtt << new column(one_col, Numeric, "Continuous", Format( "Best", 12 ));
);
dtt << Add Rows( nr/2 );
k = 0;
for (i = 1, i <= nr, i+=2,
k++;
for (m = 1, m <= nitems(split_cols), m++,
one_col = split_cols[m];
inn_col = "Inner " || split_cols[m];
out_col = "Outer " || split_cols[m];
column(dtt, inn_col)[k] = column(dt, one_col)[i];
column(dtt, out_col)[k] = column(dt, one_col)[i+1];
);
column(dtt, "Tire ID")[k] = column(dt, "Tire ID")[i];
for (m = 1, m <= nitems(nonsplit_cols), m++,
one_col = nonsplit_cols[m];
column(dtt, one_col)[k] = column(dt, one_col)[i];
);
);