<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />En una tabla JMP, ¿cuál es el método más conocido para hacer el equivalente de ROW_NUMBER () OVER ([PARTITION BY value_expression, ... [n]] ORDENAR POR ...) que podemos hacer en SQL (como Transact-SQL)?
Para la versión T-SQL ver: https://msdn.microsoft.com/en-us/library/ms186734.aspx
Si tengo esta tabla de ejemplo:
| Nombre | Comida |
|---|
| Alicia | tostada |
| Mover | naranja |
| Alicia | manzana |
| Charlie | Pizza |
| Mover | Tomate |
Y quiero agregar una columna de "número de instancia" que me dé la instancia de esa persona basada en una clasificación alfabética en Alimentos ...
Nombre
| Comida | Ejemplo
|
|---|
| Alicia | tostada | 2 |
| Mover | naranja | 1 |
| Alicia | manzana | 1 |
| Charlie | Pizza | 1 |
| Mover | Tomate | 2 |
(El orden de la tabla de salida no importa.)
Un método que encontré hasta ahora es ordenar la tabla de entrada por (Nombre, Alimentos) y agregar una columna de fórmula:
Si (Fila () == 1, 1, Si (Lag (: Nombre, 1) ==: Nombre, Lag (: Instancia, 1) + 1, 1))
¿Es esta la forma más fácil de imitar la función ROW_NUMBER SQL o JMP ofrece una forma más conveniente?
Lo más cercano que se me ocurre es Col Rank (), pero actualmente no admite variables BY o columnas de caracteres.