Calcul delta basé sur quelques attributs ordonnésSalut les gars,
J'ai le problème suivant que je pense probablement qu'un script aidera. Je voudrais trouver le delta comme indiqué à la colonne Delta. Dans Table1, le delta est dérivé sur la base des mêmes ID et test_id, il obtiendra le résultat de test_type = 31 / main_rad = 2 / sub_rad = 0 et le déduira de type_test = 33 / main_rad = 2 / sub_rad = 0. Et le processus continue.
Dans la table2, le delta est dérivé sur la base des mêmes ID, test_id et test_type. Il obtiendra le résultat de main_rad = 2 / sub_rad = 0 et le diminuera de main_rad = 3 / sub_rad = 0. Et le processus continue pour les suivants main_rad et sub_rad.
* Dans les données réelles, il y a des milliers d’ID et c’est difficile si je veux les comparer un par un en fonction de test_type et du rayon principal et du sous rayon. Avoir des scripts à faire sera extrêmement utile.
S'il vous plaît se référer à l'image ci-dessous:

Je vous remercie.
Re: Computing delta basé sur quelques attributs ordonnésMerci Jim! Il y avait une légère erreur dans le script mais j'ai réussi à le comprendre.
Re: Computing delta basé sur quelques attributs ordonnésVoici un petit script qui fait ce que vous avez demandé. Cela fonctionne pour le premier tableau de données. Avec des modifications mineures, le même concept fonctionnera pour le deuxième tableau de données.
Names Default To Here( 1 );
dt = Current Data Table();
For( i = 1, i <= N Rows( dt ), i++,
If( :test_ic[i] == 566,
target_row = (dt << get rows where( :ID == :ID[i] & :test_ic == 568 & :main_rad == :main_rad[i] & :sub_rad == :sub_rad[i] ))[1];
If( Is Missing( target_row ) == 0,
:delta[i] = :result[i] - :result[target_row],
:delta[i] = .
);
,
:delta[i] = .
)
);