La mejor manera de rastrear el valor inicial para una tendencia de tiempoTodos,
Necesita un consejo sobre cómo organizar esto mejor.
Entonces, tengo una tabla que rastrea un parámetro para algunas categorías a lo largo del tiempo. Necesito tener una columna que muestre el cambio porcentual de algún valor inicial.
Digamos que es un rastreador de la competencia de peso. Tenemos el peso inicial y seguimos el cambio porcentual. El que obtiene más del 15% en 30 días - gana.
Para rastrear que he creado una tabla como esta:
En esta tabla coloco los pesos iniciales como variables de tabla y creé una columna oculta que solo muestra el peso inicial basado en el nombre:

Después de eso, todo lo que tengo que hacer es hacer clic en el script de Dashboard y se muestran todos los gráficos.

Mi objetivo es hacerlo lo más fácil posible para el usuario, para que casi cualquier persona pueda ingresar los datos sin pensar demasiado. Así que tengo algunas preguntas para la comunidad:
Ahora, digamos que tenemos una nueva persona que se une al juego, y necesitamos ingresar un nuevo nombre.
- Para hacer eso necesitas crear una nueva variable de tabla con el nombre apropiado.
- Luego edite la fórmula en la columna oculta "InitialWeight" para agregar ese nombre
- Luego agregue este nombre como una opción permitida para la columna "Nombre".
Todo eso no es muy fácil de usar. Entramos esencialmente los mismos datos tres veces. ¿Hay una manera de hacerlo solo una vez? Digamos que ingresamos una nueva variable.
- ¿Hay alguna forma de decir en la fórmula: "devolver el valor de la variable con el mismo nombre que el valor de la columna" Nombre "?
- ¿Hay alguna forma de decir "mis valores permitidos son los nombres de mis variables de tabla"?
¿O tal vez hay otra forma de establecer un nuevo nombre y una forma inicial y convertir esa información en fórmulas orgánicamente? Todo lo que puedo pensar es en escribir una aplicación completa para gestionar eso, pero ¿tal vez hay una manera útil de hacerlo fuera de la caja?
Gracias,
METRO.
Re: La mejor manera de rastrear el valor inicial para una tendencia de tiempoEstoy de acuerdo, el guión completo sería el mejor. Sin embargo, este ejercicio está dirigido a algo que puede configurar en 10-15 minutos con una funcionalidad mínima. O bien, utilizando la funcionalidad que ya existe.
Gracias por las sugerencias! Creo que es una forma más elegante. Sin embargo, no todo está inmediatamente claro en el código, por lo que tendrá que sentarse en él por un tiempo.
¡Gracias de nuevo!
Re: La mejor manera de rastrear el valor inicial para una tendencia de tiempoMiguello
Mi interpretación de lo que describiste es que tienes esta tabla a la que puede acceder una comunidad de usuarios. Probablemente haría algo diferente como un complemento. Pero usando su interfaz de mesa, yo:
- Eliminar las variables de nombre y eliminar la columna oculta
- Agregue un script llamado New Member Registry, donde se le pide al usuario un nombre y peso. La información se usa para actualizar una matriz asociativa llamada registy = Associative Array ({"Marvin", 280}, {"Smith", 205}, {"Jones", 201}, etc.); Una vez definido, registy ["Marvin"] devuelve el valor 250.
- Agregue un script llamado Inicializar o Actualizar, este es el script que ejecuta la definición de registro, por lo que los valores están en la memoria.
- Cambie la fórmula para que sea t0 = registro << obtener valor (: Nombre); (: Peso - t0) / t0) * 100
El archivo adjunto es una maqueta. ¿No mencionaste qué versión de JMP estás usando? Esto funciona para JMP14. Si tiene una versión anterior del registro JMP, tendrá que ser una función en lugar de una matriz asociativa.
Creo que usar una secuencia de comandos adicional sería más robusto que las secuencias de comandos y las constantes incluidas en una tabla que los usuarios pueden cambiar.
Re: La mejor manera de rastrear el valor inicial para una tendencia de tiempo
El único problema es que para que vaya y lea las variables actualizadas, debe ir a la pantalla de edición de fórmulas y al menos hacer clic en el botón Aplicar. ¿Alguna forma de evitar esto?
Retiro eso, actualiza la fórmula. No de inmediato, pero tan pronto como presionas entrar y agregar otra fila.
Re: La mejor manera de rastrear el valor inicial para una tendencia de tiempoOk, el primer paso sería reemplazar la expresión Match () en Fórmula para la columna "InitialWeight" con el siguiente código:
Names = Current Data Table() << Get Table Variable Names();
formula_pre = "Match( :Name";
formula = formula_pre;
formula_post = ")";
For( i = 1, i <= N Items( Names ), i++,
formula = formula || ", \!"" || Names[i] || "\!", :" || Names[i]
);
formula = formula || formula_post;
Eval( Parse( formula ) );
Esto tomará la lista de las variables de su tabla y construirá y evaluará una fórmula de Matach () basada en la lista.
El único problema es que para que vaya y lea las variables actualizadas, debe ir a la pantalla de edición de fórmulas y al menos hacer clic en el botón Aplicar. ¿Alguna forma de evitar esto?
Gracias,
METRO.