<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Salut,
J'essaie d'écrire un script comparant les lignes par groupe mais j'ai du mal à comprendre comment procéder Dans le tableau ci-dessous, j'essaie de sélectionner les lignes qui remplissent les deux conditions suivantes au sein d'un groupe (c'est-à-dire par colonne "Numéro de sujet") :
- La valeur dans la colonne "Nombre de jours cibles par rapport au précédent" est supérieure à la ligne avec une valeur de zéro (dans l'exemple ci-dessous, les lignes 71 à 82 en surbrillance ont des valeurs supérieures à la valeur de la ligne 83).
- La valeur dans la colonne "Séquence de visite" est inférieure à la valeur de cette colonne pour la ligne où "Nombre de jours cibles depuis le précédent" est égal à zéro (dans l'exemple ci-dessous, les lignes 71 à 82 en surbrillance ont des valeurs inférieures à la valeur de la ligne 83).
Fondamentalement, j'essaie de comparer les lignes d'un groupe avec une autre ligne du même groupe et de le faire pour l'ensemble du tableau.Est-ce que quelqu'un sait comment je peux faire ça ?

Merci,
Christine
Une autre approche consiste simplement à créer une nouvelle variable et à la recoder selon les groupes souhaités.
Christine,
Voici un script qui fait ce que vous demandez.Je l'ai testé sur le petit extrait de données que vous avez fourni, et il semble accomplir ce que vous voulez.
Noms par défaut ici ( 1 ) ;
dt = Tableau de données actuel () ;
// Crée une nouvelle colonne pour suivre les groupes trouvés
dt << Nouvelle colonne ( "Regroupement" , définir chaque valeur ( . ) ) ;
nombreGroupe = 0 ;
// Parcourez toutes les données
Pour ( je = 1 , je <= N lignes (dt) - 1 , je ++,
// Regardez en avant pour voir si les critères de déclenchement ont été remplis
// et si c'est le cas, lisez à rebours jusqu'à ce qu'il échoue
Si ( dt : Nom ( « Cible de # jours par rapport au précédent » ) > dt : Nom ( « Cible de # jours par rapport au précédent » )[je + 1 ] & dt : Séquence de visite < dt : Séquence de visite[i + 1 ] ,
// Le déclencheur a été trouvé, donc lisez à rebours jusqu'à ce que ce ne soit pas vrai
nombreGroupe ++ ;
comparerDémarrer = je ;
Alors que ( dt : Nom ( « Cible de # jours par rapport au précédent » )[comparerDébut] > dt : Nom ( « Cible de # jours par rapport au précédent » )[je + 1 ] & dt : Séquence de visite[ comparerDébut] < dt : Séquence de visite[i + 1 ] ,
dt : Regroupement[compareStart] = nombreGroupe ;
Choisi ( État de la ligne ( comparerDébut ) ) = 1 ;
comparerDémarrer --;
) ;
)
) ;
Je ne suis pas sûr d'avoir compris ce que vous recherchez.
Peut ' Objectif : nombre de jours par rapport au précédent ' soit un entier inférieur à zéro ? Si ce n'est pas le cas, toutes les lignes d'un sujet donné, sauf une, ne satisfont-elles pas à votre première condition ?
Peut-être que vous pouvez poster un tableau avec le trois colonnes que vous devez manipuler (Sujet, Cible et Séquence de visite ? Utilisez « Éditeur avancé » puis « Joindre ».