Besoin d'une colonne basée sur une condition sélective sur d'autres colonnesSalut tout le monde,
Je recherche le pourcentage d'échecs dans la procédure de mesure. Mon exigence et des exemples de données sont ci-dessous.
Toute aide ici?
Merci,
ScriptRe : Besoin d'une colonne basée sur une condition sélective sur d'autres colonnesLa partie la plus délicate ici consiste à définir une colonne de regroupement appropriée (voir Avg_Time et concaténée avec Sample --> Group).
Ceci est similaire à votre "compte" concaténé avec Sample.
Si j'avais besoin de calculer les exigences, je le ferais comme indiqué dans le tableau dans la colonne "Résultat". Dans les coulisses, il essaie de trouver dans chaque ligne : toutes les lignes appartenant au même groupe, et affiche les points de mesure dans la colonne "Mesure dans le groupe".
Veuillez consulter le tableau ci-joint pour les détails.

Re : Besoin d'une colonne basée sur une condition sélective sur d'autres colonnesSalut Georg,
Cela semble fonctionner correctement dans la colonne de tableau Formula. Mais je n'arrive pas à en faire un script. J'ai également essayé une approche similaire basée sur une boucle For et une colonne différente, mais je ne suis pas en mesure de générer un modèle de mesures pour obtenir les résultats finaux. Voici le script que j'essaie --
/////////////////////////////////////////////////////////////////
dt = Current Data Table();
dt << New Column( "Pattern0",
Expression,
(row_index_lst = {} ; row_Time_A = :Time_A ; row_Sample = :Sample ; threshold = 60 * 15 ;
For Each Row(
If( Abs( :Time_A - row_Time_A ) < threshold & :Sample == row_Sample,
Insert Into( row_index_lst, Row() )
)
));
(:Measurement << get values)[row_index_lst];
);
///////////////////////////////////////////
// similar approach but based on different column and For loop--
//////////////////////////////////////////////////////
dt << New Column( "Pattren",
Expression,
For( i = 1, i <= N Rows( dt ), i++,
Row_List = {};
If(
:Count == Lag( :Count, -1 ) & :Sample == Lag( :Sample, -1 ) | :Count == Lag( :Count, 1 ) &
:Sample == Lag( :Sample, 1 ),
Insert Into( Row_List, Row() )
);
(:Measurement << get values)[Row_List];
)
);
/////////////////////////////////////////////////////////////
Les deux ne donnent que des colonnes vides. Une suggestion comment puis-je convertir votre formule en script?
Merci encore.
Re: Besoin d'une colonne basée sur une condition sélective sur d'autres colonnesMerci George,
Ça fonctionne parfaitement. J'avais oublié de tout mettre dans « Formule ( ) ». Merci encore.