Cómo guardar grupos por gráficos individualmenteEstoy tratando de automatizar la creación de mi gráfico JMP. He estado usando lo siguiente como una guía: Creación automatizada de informes desde la importación de datos hasta la publicación 2019
He llegado al punto en el que puedo crear todos los gráficos. Ahora estoy trabajando para salvarlos y tener dificultades para determinar cómo. Estoy generando un informe de gráfico P que se agrupa por algún valor en la tabla de datos subyacente. El informe sale con varios gráficos P, uno para cada grupo por valor. Quiero guardar cada uno individualmente en una página HTML separada. Así, por ejemplo, si tengo un informe que se agrupó en "Planetas" y el informe tenía gráficos para cada planeta, quiero tener una página HTML con el gráfico para cada Planet que se lee de una página HTML con todos los planetas. Es posible? y si lo es, cómo. Se adjunta mi script de ejemplo.
Re: Cómo guardar grupos por gráficos individualmenteAquí hay un ejemplo que deberías poder adaptar:
NamesDefaultToHere(1);
// Get some data
dt = Open("$SAMPLE_DATA/Big Class.jmp");
// Run the platform. NB: ccb is a list, because of teh use of the 'By' variable
ccb = dt << Control Chart Builder(
Show Control Panel( 0 ),
Show Limit Summaries( 0 ),
Show Capability( 0 ),
Variables( Y( :height ) ),
By( :sex)
);
// Save the report for each level of the 'By' variable
for(c=1, c<=NItems(ccb), c++,
// Get the current report layer
thisrep = Report(ccb[c]);
// Get the first outline box
firstOB = thisrep[OutlineBox(1)];
// Get the title of this outline box
thistitle = firstOB << getTitle;
// Save as HTML
firstOB << saveHTML("$DESKTOP/"||thistitle);
);Re: Cómo guardar grupos por gráficos individualmenteHe intentado lo siguiente, pero no se está ejecutando correctamente:
tabla de datos actual (ppn);
ppnP = ppn << Control Chart Builder(
Sample Label( :ReleaseMonth ),
Phase( :Phase ),
Sample Size( :Name( "Sum-Total" ) ),
KSigma( 3 ),
Chart Col( :OnTimePct, P( Phase Level( "1" ), Phase Level( "2" ) ) ),
By( :name )
);
// Save the report for each level of the 'By' variable
For( c = 1, c <= N Items( ccb ), c++,
// Get the current report layer
thisrep = Report( ccb[c] );
// Get the first outline box
firstOB = thisrep[Outline Box( 1 )];
// Get the title of this outline box
thistitle = firstOB << getTitle;
// Save as HTML
firstOB << saveHTML( "$DESKTOP/" || thistitle );
);
Obtengo un solo informe como el siguiente (nota: he tachado la información) y no se guarda nada como HTML en el directorio del escritorio. Estoy creando gráficos P, así que no sé si eso es un problema con este proceso.

Re: Cómo guardar grupos por gráficos individualmenteDudo que sea un problema con el tipo de gráfico. Pero observo que ha asignado la referencia a los múltiples gráficos p de Control Chart Builder a 'ppnP', pero el código posterior aún se refiere a 'ccb' (como lo usé en el ejemplo).
Re: Cómo guardar grupos por gráficos individualmenteBuena captura en "ccb". Eso fue parte del problema. El otro problema fue usar "Control Chart Builder". Lo cambié a solo "Control Chart" y funciona. El nuevo problema es el nombre de archivo que se genera. Te veo usado
thistitle = firstOB << getTitle;
Esto me da un nombre de título de: "Control Chart name = XXXXXXX"
1. Supongo que al usar saveHTML, podría agregar .html ya que se está guardando sin una extensión.
2. ¿Cómo puedo obtener solo la parte XXXXXX? ¿Debería saber por adelantado que siempre será "Cuadro de control =" y luego manipular ese valor de cadena, o hay una forma más simple? ¿Hay funciones de manipulación de cadenas en JMP?
Re: Cómo guardar grupos por gráficos individualmente
@LeeP escribió:
¿Hay funciones de manipulación de cadenas en JMP?
Hay muchos. Aquí está un buen comienzo:
Funciones de cadena de caracteres JSL
Si aprendes solo una función del editor de fórmulas, Word () es la