Trovare il massimo di una colonna abbinando un'altra condizione di colonnaCiao a tutti,
Devo trovare il valore massimo in una colonna (:PMA Counter) dopo aver verificato la condizione in un'altra colonna (:Condizione). la colonna della condizione ha i caratteri "Dopo" e "Prima" per le diverse righe.
Voglio scegliere quelli che sono "Dopo" e trovare il massimo di (:PMA Counter) tra di loro.Uso già lo script seguente ma non funziona e mi dà solo il massimo senza considerare la colonna Condizione.
dt=Tabella corrente();
dt< dt<ScriptingRi: Trovare il massimo di una colonna abbinando un'altra condizione di colonnaOttima soluzione
Grazie:)Ri: Trovare il massimo di una colonna abbinando un'altra condizione di colonna
Ho erroneamente creato la colonna Current PMA Counter come una stringa di caratteri e doveva essere numerica..... il JSL di seguito sembra funzionare
names default to here(1);
dt=current data table();
dt << New Column( "Current PMA Counter",
Formula(
If( Row() == 1,
x = Col Max( If( Contains( :Condition, "After" ), :PMA Counter, . ) )
);
If( Contains( :Condition, "After" ),
y = x,
y = .
);
y;
)
);
Ri: Trovare il massimo di una colonna abbinando un'altra condizione di colonnaPuoi vedere i dati allegati.
Ri: Trovare il massimo di una colonna abbinando un'altra condizione di colonnapuoi allegare una tabella di dati di esempio a cui stai applicando questo?Ri: Trovare il massimo di una colonna abbinando un'altra condizione di colonnaGrazie Jim
sta trovando il valore ma per qualche motivo non viene visualizzato nella colonna. L'attuale contatore PMA è tutto vuotoRi: Trovare il massimo di una colonna abbinando un'altra condizione di colonnaEcco un paio di versioni della formula (non sono testate).Differiscono su ciò su cui si basa il Col Max
// formula where col max is based upon only rows with "After" in PMA Counter
// and the Col Max only appears in rows where PMA Counter has "After" in it
dt << New Column( "Current PMA Counter",
Character,
Nominal,
Formula(
If( Row() == 1,
x = Col Max( If( Contains( :Condition, "After" ), :PMA Counter, . ) )
);
If( Contains( :Condition, "After" ),
y = x,
y = .
);
y;
)
);
// formula where col max is based upon all rows
// and the Col Max only appears in rows where PMA Counter has "After" in it
dt << New Column( "Current PMA Counter",
Character,
Nominal,
Formula(
If( Row() == 1,
x = Col Max( :PMA Counter )
);
If( Contains( :Condition, "After" ),
y = x,
y = .
);
y;
)
);
Ri: Trovare il massimo di una colonna abbinando un'altra condizione di colonnaIntendevo solo quelle righe che avevano "Dopo" nella colonna Condizione ottengono il valore massimo nella colonna Contatore PMA corrente. Le altre righe rimangono vuote.Ri: Trovare il massimo di una colonna abbinando un'altra condizione di colonnaNon capisco cosa stai chiedendo.Ri: Trovare il massimo di una colonna abbinando un'altra condizione di colonnaPosso avere il Massimo solo nelle righe relative alle righe "Dopo"?Ri: Trovare il massimo di una colonna abbinando un'altra condizione di colonnaGrazie mille Jim
Ri: Trovare il massimo di una colonna abbinando un'altra condizione di colonnaLa riga Select non è rispettata dalla formula.Ecco un modo per gestire ciò di cui hai bisogno
dt << New Column( "Current PMA Counter",
Character,
Nominal,
Formula( Col Max( If( Contains( :Condition, "After" ), :PMA Counter, . ) ) )
);