Ciao,
Sto cercando di creare una nuova colonna (nel mio file "Valori richiesti") che può avere solo valori binari - 0/1 o Inizio/Fine. I suoi valori dipendono da un'altra colonna (nel mio file "Number of Occurrence") che ha uno schema ripetuto basato su altre due colonne (nel mio file - "ID" e "Sub_set").Troppe parole, vedere l'immagine e il file di dati allegati.Ho provato poche formule in nuove colonne e anche poche for loop. Ma non sono in grado di ottenere entrambi i valori di inizio e fine. Sono in grado di ottenere solo il valore iniziale.
Qualsiasi aiuto ?

Ciao @Hari ,
Puoi fornire un esempio logico di base di come la colonna "valori richiesti" dipenda dal "numero di occorrenze", dal "sottoinsieme" e dall'"ID"? In base alla tua descrizione, non è chiaro come queste colonne portino a "valori richiesti" con output 0 o 1.
Ad esempio, hai sia la riga 1 che la riga 13 come 0, mentre le righe 12 e 25 sono entrambe 1. Non è chiaro dalla struttura della tabella dati perché questi valori dovrebbero essere impostati in questo modo. Se riesci a fornire un po' più di spiegazione logica, aiuterebbe a generare il giusto tipo di formula di colonna.
Per esempio,
If( :"data"n ==0, :"required values"n = 0,
:"data"n>=0.24, :"required values"n=1,
.
);
Nell'esempio sopra, la logica è che se la colonna "dati" è uguale a 0, allora la voce nella colonna "valori richiesti" è uguale a 0; altrimenti se il valore di "dati" è maggiore o uguale a 0,24, la voce per "valori richiesti" è uguale a 1. Ciò soddisferebbe gli elementi per i valori richiesti, ma potrebbe anche includere alcune altre voci che non sono l'ultimo elemento del tipo di sottoinsieme.
So che questo non è esattamente quello che stai cercando per applicare all'intera colonna, ma avere un'idea migliore della logica che devi applicare ti aiuterà a creare il giusto tipo di formula di colonna che si applicherà all'intera colonna .
DS
Ecco una formula che è un modo per calcolare ciò di cui hai bisogno
If(
Row() == 1, 0,
:Number of Occurance != Lag( :Number of Occurance ), 0,
:Number of Occurance != :Number of Occurance[Row() + 1], 1,
Row() == N Rows( Current Data Table() ), 1,
.
)