Re: herramientas de tabla de datos, parte 3: numeración de filas dentro de grupos para obtener clasificaciones flexiblesHola, ¿es posible hacer esto con JMP 12? Gracias
Re: herramientas de tabla de datos, parte 3: numeración de filas dentro de grupos para obtener clasificaciones flexiblesHola,
La función Col Sum Sumative hizo su debut en JMP 13. Sin él, puedes probar algo como esto, aunque la tabla de datos actual () dará problemas cuando la tabla con esta fórmula no sea la actual. Tenga en cuenta que si desea utilizar más de una columna para agrupar, deberá concatenar las múltiples columnas y basar la fórmula en esa nueva columna.
Aclamaciones,
Brady
Names Default To Here( 1 );
dt = open("$Sample_Data\Car Physical Data.jmp");
dt << New Column( "Rnk",
formula(
dtCur = Current Data Table();
ct = :country[Row()];
Contains( dtCur << get rows where( :country == ct ), Row() );
)
);
Re: herramientas de tabla de datos, parte 3: numeración de filas dentro de grupos para obtener clasificaciones flexiblesEso funcionó muy bien gracias! Estoy ejecutando este script inmediatamente después de la extracción de SQL, por lo que la tabla de datos actual () funciona muy bien.
Y sí, tengo más de una columna para agrupar (4 columnas en total), por lo que la creación de una nueva columna con las 4 columnas concatenadas funcionó perfectamente. Lo único es que estoy trabajando fuera de las tablas de datos con 5000-6000 filas de datos y hay alrededor de 780 elementos agrupados que estoy clasificando, así que JMP tarda aproximadamente un minuto en generar la columna Rnk, ¡pero funciona!
¡Gracias de nuevo!
Re: herramientas de tabla de datos, parte 3: numeración de filas dentro de grupos para obtener clasificaciones flexiblesAntes de JMP13, esta publicación cubría cómo hacer una suma continua. Esta publicación no cubre hacerlo por grupos, pero no es demasiado difícil extender el concepto a eso.
https://community.jmp.com/t5/Discussions/how-to-get-cumulative-sum-data/td-p/6766
Re: herramientas de tabla de datos, parte 3: numeración de filas dentro de grupos para obtener clasificaciones flexiblesEspecíficamente, jaredgj, prueba la fórmula:
k = fila ();
Suma (i = 1, k, If (: País [i] ==: País [k], 1, 0));
Me había olvidado de la función de resumen. Será mucho más rápido que la otra función, ya que obtener filas, como lo hace la otra fórmula, requiere mucho tiempo.
Aclamaciones,
Brady
Re: herramientas de tabla de datos, parte 3: numeración de filas dentro de grupos para obtener clasificaciones flexiblesGenial gracias brady_brady, que también funcionó. Todavía tomó un poco de tiempo completar el guión, pero fue un poco más rápido que el original que publicaste. Gracias de nuevo
Y gracias a todos por el enlace / publicación adicional
Herramientas de tabla de datos, parte 3: Numeración de filas dentro de grupos para obtener clasificaciones flexibles¿Alguna vez tuvo un conjunto de datos donde tuvo que realizar tareas similares a cualquiera de estos:
A partir de una tabla alta, que contiene múltiples mediciones mediante múltiples herramientas, registradas a intervalos irregulares, cree una tabla de subconjuntos con solo la k-medición más reciente para cada combinación de herramienta / operador. Para una métrica dada, encuentre las k ocurrencias superiores (o inferiores) dentro de cada grupo; un ejemplo es enumerar qué tres productos en cada región generan la mayor cantidad de ingresos, o el margen de ganancia más bajo.Si es así, no estás solo. Recibimos solicitudes con bastante frecuencia de consejos sobre cómo abordar problemas como este. Dado que cada una de estas tareas requiere una clasificación, es natural que los usuarios de JMP busquen la función rank () en JSL, y esa es ciertamente una opción. El problema es que la función rank () requiere que la columna por la cual se clasifiquen las filas de la tabla se especifique explícitamente, y cuando exploramos datos, a menudo queremos experimentar con una variedad de clasificaciones, sin crear múltiples columnas nuevas o editarlas. fórmulas de columna.
Al utilizar la función Col Sum acumulativa () en JMP 13 de manera creativa, podemos clasificar las filas de manera flexible y dinámica: para producir una clasificación diferente, simplemente ordenamos por una variable diferente.
Para ilustrar, considere Car Physical Data.jmp, que contiene datos nominales y continuos sobre los automóviles. Se instala en la carpeta de datos de muestra JMP, a la que puede acceder seleccionando Ayuda> Biblioteca de datos de muestra.
A continuación, agregué una columna (resaltada) para calcular el número acumulado de automóviles, agrupados por país, que ocurren en la fila dada o antes. Observe que a medida que avanzamos por las filas de la tabla, los automóviles con País = Japón se numeran secuencialmente, al igual que los automóviles para País = EE. UU. Y País = Otro.
Este enfoque es poderoso porque para responder la pregunta “¿cuáles son los cinco autos más livianos en cada país?” Solo debemos hacer lo siguiente:
Ordene la tabla por Peso, en orden ascendente, manteniendo la tabla original. Seleccione las celdas donde la columna de clasificación es <= 5. Subconjunto estas filas si lo desea.Este enfoque también es flexible porque si decidimos que ahora debemos encontrar los tres autos más poderosos de cada país, simplemente ordenamos por Caballos de fuerza en orden descendente y seleccionamos celdas donde la clasificación es menor o igual a tres.
La fórmula en la columna de clasificación es simple (a continuación), pero no tiene que escribirla: con el complemento de herramientas de tabla de datos, incluso los que no escriben scripts pueden agregar fácilmente una columna como esta a cualquier tabla, usando cualquier combinación de agrupar columnas.
Una vez que ejecute el complemento, solo tiene que seleccionar la tabla y las columnas de agrupación que desee y hacer clic en el botón "Crear columna". ¡Eso es!
los Complemento de herramientas de tabla de datos Se puede descargar gratis desde el Intercambio de archivos JMP - Se requiere un perfil SAS gratuito.
Nota: este blog es el tercero de una serie que explora las diversas características del complemento Herramientas de la tabla de datos.
Con el complemento Herramientas de tabla de datos, puede crear una columna para realizar consultas flexibles basadas únicamente en el orden de clasificación de la tabla, ¡sin necesidad de codificación!