¿Cómo agrupar usando los últimos 2 caracteres y subconjuntos de los datos más recientes?Hola a todos,
¿Es posible hacer una columna para agrupaciones usando los dos últimos caracteres de otra columna? Por ejemplo, tengo esta tabla:
| VIVIR | Agrupaciones |
| Año fiscal 24W38 | 1 |
| Año fiscal 24W38 | 1 |
| Año fiscal 24W39 | 2 |
| Año fiscal 24W39 | 2 |
| Año fiscal 24W39 | 2 |
| Año fiscal 24W40 | 3 |
| Año fiscal 24W41 | 4 |
| Año fiscal 24W41 | 4 |
¿También es posible subconjunto de las dos primeras fechas más recientes según la agrupación? En este ejemplo, se seleccionarán FY24W40 y FY24W41 y luego se crearán subconjuntos, ya que son los datos "más recientes". tia
Automatización y secuencias de comandosRe: ¿Cómo agrupar usando los últimos 2 caracteres y subconjuntos de los datos más recientes?También puede ser una buena idea considerar la creación de una nueva columna para sus semanas (podría facilitarle la resolución) y luego usarla y puede crear fácilmente esta columna usando Recode.

Luego cree su columna de agrupación con una fórmula (usando la misma fórmula que Jim pero la columna W "recién" creada)
Col Cumulative Sum(:W != Lag(:W))
y luego puede crear un resumen (esto se puede crear de muchas maneras diferentes dependiendo de cómo desee seleccionar sus valores), cambiar el orden del grupo, seleccionar las dos primeras filas del resumen y crear su subconjunto a partir de su tabla original.

dt_summary << Select Rows([1, 2]);
dt_subset = dt << Subset(Selected Rows(1), columns(:FYW));
Close(dt_summary, no save);
Re: ¿Cómo agrupar usando los últimos 2 caracteres y subconjuntos de los datos más recientes?Aquí está la fórmula a utilizar para crear las agrupaciones.
Col Cumulative Sum( Right( :FYW, 2 ) != Lag( Right( :FYW, 2 ) ) )
Aquí hay un script simple para encontrar los 2 valores más altos de FYW y crear un subconjunto solo con aquellas filas que coincidan con los 2 valores más altos.
names default to here(1);
dt=current data table();
array=associative array(:fyw<<GET values=""></GET>