Come riempire/sostituire il testo tra due celle, in base a valori specifici in quelle due celleCiao a tutti,
Sto cercando di riempire/sostituire i valori delle celle tra due celle in base al modello/testo in quelle due celle. Si prega di dare un'occhiata all'immagine e ai dati allegati.
Qualsiasi aiuto, grazie, - HSS

ScriptingRi: Come riempire/sostituire il testo tra due celle, in base a valori specifici in quelle due celleAlcune domande:
- I trigger nella colonna Current State Code sono statici o dinamici?
- Stai cercando una soluzione GUI o una soluzione di scripting?
Ri: Come riempire/sostituire il testo tra due celle, in base a valori specifici in quelle due celleCiao Jed,
Ques - I trigger nella colonna Current State Code sono statici o dinamici?
Risposta: dinamica.
Ques - Stai cercando una soluzione GUI o una soluzione di scripting?
Risposta - Scripting.
Grazie
Ri: Come riempire/sostituire il testo tra due celle, in base a valori specifici in quelle due celleCiao @HSS ,
Puoi fornire un esempio di cosa dovrebbe essere riempita la colonna vuota? Sembra che tu voglia riempire le celle vuote nella colonna Device_State con un qualche tipo di testo, ma dalla tua immagine non era chiaro quale dovesse essere il testo. Inoltre, sembra che tu voglia che il testo cambi in base all'impostazione corrente applicata, che si tratti di 0 amp, 0,0001 amp, ecc. È corretto?
Non mi è chiaro come desideri che le informazioni nella colonna Current_State_Code influenzino il testo che va nella colonna Device_State, se effettivamente è così.
Grazie!,
DS
Ri: Come riempire/sostituire il testo tra due celle, in base a valori specifici in quelle due celle
Dinamico in che senso? Hai fatto un esempio, quindi è difficile pensare a una soluzione che copra i cambiamenti.
Ri: Come riempire/sostituire il testo tra due celle, in base a valori specifici in quelle due celleCiao,
Ho creato una colonna "Required-Current_State_Code" - 4a colonna nella tabella dati o nell'immagine.
Ho creato una terza colonna usando il comando "Contains ()". Questo può fornire il valore iniziale e finale delle celle vuote.
IF( Contiene( :Current_State_Code, "amp" ), :Required-Current_State_Code = :Current_State_Code, )
E poi riempi i valori mancanti. Come Fill "Initialization" tra 'A = 0 amp' e 'B = 0.0001 amp' e così via. Questi valori di riempimento (inizializzazione, rampa, calore ecc.) provengono da un'altra tabella. Ma il numero di righe tra 'A = 0 amp' e 'B = 0,0001 amp' non è fisso, infetta questo Anche il valore corrente non è fisso, ad es. Può essere 'B = 0,01 amp' . Solo questo è che dovrebbe contenere "amp".
Spero che questo ti aiuti.
Ri: Come riempire/sostituire il testo tra due celle, in base a valori specifici in quelle due celleMezzi dinamici -
Numero di righe intermedie tra 'A = 0 amp' e 'B = 0,0001 amp'.
Infatti anche 'A = 0 amp' e 'B = 0.0001 amp' non sono fissi, può essere 'AA = 0 amp' e 'BB = 0.8 amp' L'unica cosa è che dobbiamo riempire i valori tra due celle che contengono ' amp'. Il valore che dobbiamo riempire proviene da un'altra tabella.
Nel set di dati fornito,
Inserisci "Inizializzazione" tra 'A = 0 amp' e 'B = 0,0001 amp'
Compila "Ramp" tra 'B = 0,0001 amp' e 'C = 0,001 amp'
e così via.
Spero che questo possa aiutare.
Grazie
Ri: Come riempire/sostituire il testo tra due celle, in base a valori specifici in quelle due celleSolo sulla base dei dati di esempio forniti, non abbiamo bisogno di sapere tra, solo il punto di partenza. Perché non sappiamo esattamente come definire Inizializzazione e così via questo esempio non utilizzerà quelli ma piuttosto i numeri di riga per Device_States
Names Default To Here(1);
dt = Open("$DOWNLOADS/Sample_Data.jmp");
state_rows = Loc(dt[0, "Device_State"], "Applied_Current");
states_list = Transform Each({val}, As List(state_rows), Char(val));
/* we don't know how to define values which are to be mapped so we will just use row numbers */
current_states = Associative Array(dt[state_rows, "Current_State_Code"], states_list);
new_col = dt << New Column("State", Character, Nominal);
new_col << Set Each Value(
As Constant(
state = "";
ret_val = "";
);
If(:Device_State == "Applied_Current",
ret_val = :Current_State_Code;
state = current_states[ret_val];
,
ret_val = state;
);
ret_val;
);

Ri: Come riempire/sostituire il testo tra due celle, in base a valori specifici in quelle due celleUna cosa del genere potrebbe funzionare, se ho capito bene. Dovresti cambiare l'elenco alla riga 3 in modo che sia l'elenco giusto ogni volta, e la sezione Prova è lì perché il ciclo attualmente non sa cosa fare con l'ultimo raggruppamento. Se questo è l'approccio giusto, potresti rimuovere la necessità della sezione Prova con alcuni condizionali migliori. Script seguente per lavorare con la tua tabella di dati di esempio:
dt = Data Table( "Sample_Data" );
lstStates = {"Initialization", "Ramp", "Heat", "Other"};
lstLocs = dt << Get Rows Where( Contains( :Current_State_Code, "amp" ) );
Try(
For Each( {i, j}, lstLocs,
For Each Row(
dt,
If( (Row() > lstLocs[j] & Row() < lstLocs[j + 1]),
:Current_State_Code = lstStates[j];
)
)
)
);
Ri: Come riempire/sostituire il testo tra due celle, in base a valori specifici in quelle due celle@Jed_Campbell
Ci scusiamo per la risposta tardiva, ero in congedo, sì, funzionerà per me.
Grazie, SS
Ri: Come riempire/sostituire il testo tra due celle, in base a valori specifici in quelle due celle@jthi
Scusate il ritardo nella risposta ero in ferie. Questo sembra un modo più generalizzato di farlo. Cercherò di implementare qualcosa in questo modo, o userò @Jed_Campbell la soluzione di.
Grazie, SS