È necessaria una colonna basata su condizioni selettive su altre colonneCiao a tutti,
Sto cercando la % di errori nella procedura di misurazione. Il mio requisito e i dati di esempio sono riportati di seguito.
Qualche aiuto qui?
Grazie,
SceneggiaturaRe: Serve una colonna in base alla condizione selettiva su altre colonneLa parte più complicata qui è definire una colonna di raggruppamento corretta (vedi Avg_Time e concatenata con Esempio --> Gruppo).
Questo è simile al tuo "conteggio" concatenato con Campione.
Se avessi bisogno di calcolare i requisiti, lo farei come mostrato nella tabella nella colonna "Risultato". Dietro le quinte cerca di trovare in ogni riga: tutte le righe appartenenti allo stesso gruppo, e mostra i punti di misurazione nella colonna "Misura nel gruppo".
Si prega di consultare la tabella allegata per i dettagli.

Re: Serve una colonna in base alla condizione selettiva su altre colonneCiao Giorgio,
Sembra funzionare bene nella colonna della tabella Formula. Ma non sono in grado di trasformarlo in uno script. Ho anche provato un approccio simile basato sul ciclo For e su colonne diverse, ma non sono in grado di generare pattern di misurazioni per ottenere i risultati finali. Ecco lo script che sto provando --
/////////////////////////////////////////////////////////////////
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];
)
);
/////////////////////////////////////////////////////////////
Entrambi danno solo colonne vuote. Qualche suggerimento su come posso convertire la tua formula in uno script?
Grazie ancora.
Re: Serve una colonna in base alla condizione selettiva su altre colonneNon sono proprio sicuro di cosa farai.
Se vuoi aggiungere quel calcolo alla tabella di dati corrente, il codice seguente funzionerà. Devi inserire quel calcolo in "Formula()".
Se hai una colonna e desideri scriverla, il modo migliore è sempre copiare lo script della tabella dal menu del triangolo rosso della tabella. Lì puoi ottenere e rivedere lo script, come generare la tabella (o colonna) per script.
Names Default To Here( 1 );
dt = Current Data Table();
dt << New Column( "Pattern",
Expression,
"None",
Formula(
(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];
),
Set Display Width( 232 )
);