Hola a todos,
Tengo una consulta. Si tengo una tabla como la de abajo. Si trazo el TIEMPO en el eje X y agrupo el eje X por TIPO. Mostrará los cinco valores en el eje X para ambos grupos, incluso si no hay datos para eso. Utiliza innecesariamente el espacio del gráfico. Una forma es que puedo anidar el eje X (TIEMPO) con el TIPO de columna, pero esto solo funciona cuando ambas columnas son de tipo nominal. ¿Es una forma si ambas columnas son de diferente tipo?
Gracias
| TIEMPO | TIPO |
| 1-OCT-2018 | MALO |
| 2-OCT-2018 | MALO |
| 3-OCT-2018 | MALO |
| 1-ENE-2019 | BIEN |
| 1-ENE-2019 | BIEN |
Las plataformas JMP funcionan según el script de los desarrolladores de JMP. Puedes hacer un cambio en la Lista de deseos y tal vez cambie en el futuro,
No sé cómo hacer que GraphBuilder haga lo que creo que quieres a menos que reestructures tu tabla de datos. GraphBuilder no anidará diferentes tipos de datos y X-Grouping usa la misma escala X.Entonces, la única forma de hacer esto es hacer que el tiempo (variable X) de cada grupo (Tipo) sea su propia columna y arrastrarlas una al lado de la otra.A continuación se muestra una captura del diseño de su tabla y una tabla dividida reestructurada: Dividir :Tiempo por :Tipo agrupando por :fila y manteniendo todas las columnas.
Your specified table layout - Row # column addedYour specified table layout - Row # column addedSu diseño de tabla especificado - Fila # columna agregada
Date Split by Type, Grouped by row #Date Split by Type, Grouped by row # Fecha dividida por tipo, agrupada por número de fila
A continuación se muestra el GraphBuilder en paralelo creado con el horario de la tabla dividida

Aquí está el guión.
Graph Builder(
Variables( X( :BAD ), X( :GOOD ), Y( :y ) ),
Elements(
Position( 1, 1 ),
Points( X, Y, Legend( 19 ) ),
Smoother( X, Y, Legend( 20 ) )
),
Elements(
Position( 2, 1 ),
Points( X, Y, Legend( 21 ) ),
Smoother( X, Y, Legend( 22 ) )
)
)
Por supuesto, no necesita reestructurar, puede crear nuevas variables mediante la transformación, una nueva variable para cada tipo y luego arrastrar las variables transformadas al eje X, una al lado de la otra.

A continuación se muestra el script guardado. Dividir la mesa será lo más fácil, si hay muchos grupos.
Graph Builder(
Size( 856, 534 ),
Show Control Panel( 0 ),
Variables(
X( Transform Column( "Bad[TIME]", Formula( If( :TYPE == "BAD", :TIME ) ) ) ),
X(
Transform Column(
"Good[TIME]",
Formula( If( :TYPE == "GOOD", :TIME ) )
)
),
Y( :y )
),
Elements(
Position( 1, 1 ),
Points( X, Y, Legend( 17 ) ),
Smoother( X, Y, Legend( 18 ) )
),
Elements(
Position( 2, 1 ),
Points( X, Y, Legend( 19 ) ),
Smoother( X, Y, Legend( 20 ) )
),
SendToReport(
Dispatch( {}, "Bad[TIME]", ScaleBox, {Format( "m/d/y", 10 )} ),
Dispatch(
{},
"Good[TIME]",
ScaleBox,
{Format( "m/d/y", 10 ), Min( 3629059200 ), Max( 3629232000 ),
Interval( "Numeric" ), Inc( 17.28 ), Minor Ticks( 1 )}
),
Dispatch(
{},
"400",
ScaleBox,
{Legend Model( 17, Level Name( 0, "y Bad", Item ID( "y", 1 ) ) ),
Legend Model( 19, Level Name( 0, "y Good", Item ID( "y", 1 ) ) )}
),
Dispatch(
{},
"400",
LegendBox,
{Legend Position( {17, [0], 18, [-1], 19, [1], 20, [-1]} ),
Position( {0, -1, 1, -1} )}
)
)
)No debes haber entendido mi respuesta:
- Transforma el tiempo en personaje,
- Utilice la columna transformada en el anidamiento.
El gráfico incrustado en mi publicación usó su ejemplo, con una variable Y aleatoria.
Usando la interfaz GraphBuilder, haga clic derecho en la columna Hora y seleccione Fórmula e ingresa esta fórmula Formato( :HORA, "m/d/a") .Esto ahora aparecerá en el selector de columnas como Transformar[Tiempo] . Arrastre esto a X, luego arrastre la columna Tipo para que Hora quede anidada dentro de Tipo.