Utilisation d'une variable locale dans une formuleJ'ai une table qui a une colonne (Samp Pt) qui répertorie le nom de l'équipement comme Equip_n où n est compris entre 1 et 9.
La colonne "Date / Heure" est la date et l'heure.
Les données sont triées par Equip_n puis Date/Heure.
Je veux créer une valeur appelée Run qui est le numéro de Run pour chaque pièce d'équipement.Le Run est le numéro d'équipement-Run, par exemple 1-1.Un nouveau Run est défini lorsque la différence entre les lignes successives de Date/Heure est supérieure à 190 000 secondes.
J'ai essayé d'utiliser deux variables locales pour garder une trace de la valeur numérique du "n". Il crée correctement la première valeur d'exécution pour chaque équipement ("1-1, "2-1", etc.) mais lorsque les lignes successives sont espacées de plus de 190 000 secondes, j'obtiens "1-.", "2-".) .Je suis presque sûr que je n'utilise pas correctement les variables locales. Qu'est-ce que je fais mal?Merci.
Re : Utilisation d'une variable locale dans une formuleMerci!
Re : Utilisation d'une variable locale dans une formuleMon erreur, quand j'ai collé la formule dans la réponse, je n'ai pas reçu toute la formule... J'ai omis une ligne
If( Row() == 1,
hold = 1;
hold2 = 1;
,
If( :Name( "Date / Time" ) - Lag( :Name( "Date / Time" ) ) > 190000,
hold2 = hold2 + 1
);
If( :Samp Pt != Lag( :Samp Pt ),
hold = hold + 1;
hold2 = 1;
);
);
Char( hold ) || "-" || Char( hold2 );
Re : Utilisation d'une variable locale dans une formuleMerci, mais lorsque je coupe et colle votre solution dans l'éditeur de formule, les deuxième et troisième clauses If n'ont rien dans la clause else. Il fonctionne mais il ne donne que la valeur 1 dans la première ligne, toutes les autres sont vides.J'utilise jmp (pas Pro) 14.2 si c'est un facteur.
Re : Utilisation d'une variable locale dans une formuleCette formule semble fonctionner
If( Row() == 1,
hold = 1;
hold2 = 1;
,
If( :Name( "Date / Time" ) - Lag( :Name( "Date / Time" ) ) > 190000,
hold2 = hold2 + 1
);
If( :Samp Pt != Lag( :Samp Pt ),
hold = hold + 1;
hold2 = 1;
);
)