Encontrar el máximo de una columna haciendo coincidir otra condición de columnaHola a todos,
Tengo que encontrar el valor máximo en una columna (: Contador PMA) después de verificar la condición en otra columna (: Condición). la columna de condición tiene los caracteres "Después" y "Antes" para las diferentes filas.
Quiero elegir los que están "Después" y encontrar el máximo de (: Contador PMA) entre ellos. Ya uso el siguiente script pero no funciona y solo me da el Max sin considerar la columna Condición.
dt = Tabla actual ();
dt << Seleccione Dónde (Contiene (: Condición, "Después"));
dt << Nueva columna ("Contador PMA actual", Carácter, Nominal, Fórmula (Col Max (: Contador PMA)));
ScriptingRe: encontrar el máximo de una columna haciendo coincidir otra condición de columnaLa fila Seleccionar no es respetada por la fórmula. Aquí tienes una forma de manejar lo que necesitas
dt << New Column( "Current PMA Counter",
Character,
Nominal,
Formula( Col Max( If( Contains( :Condition, "After" ), :PMA Counter, . ) ) )
);
Re: encontrar el máximo de una columna haciendo coincidir otra condición de columnaMuchas gracias Jim:)Re: encontrar el máximo de una columna haciendo coincidir otra condición de columna¿Puedo tener el Máximo solo en las filas relacionadas con las filas "Después"?Re: encontrar el máximo de una columna haciendo coincidir otra condición de columnaNo entiendo lo que estás pidiendo.Re: encontrar el máximo de una columna haciendo coincidir otra condición de columnaMe refería a que sólo las filas que tenían "Después" en la columna Condición obtienen el valor máximo en la columna Contador PMA actual. Otras filas permanecen en blanco.Re: encontrar el máximo de una columna haciendo coincidir otra condición de columnaAquí hay un par de versiones de la fórmula (no se han probado). Se diferencian en lo que se basa el 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;
)
);
Re: encontrar el máximo de una columna haciendo coincidir otra condición de columnaGracias Jim
está encontrando el valor pero por alguna razón no aparece en la columna. EL Contador PMA actual está en blanco