Estoy tratando de crear un objeto de clase que contenga métodos y propiedades que encuentro útiles al trabajar con informes de distribución.
Tengo todo funcionando como me gustaría cuando no intento filtrar el informe o la tabla de datos, pero cuando intento ajustar el informe, empiezo a tener problemas.
El problema principal es después de filtrar el informe cuando entro en el árbol de visualización para extraer y guardar valores que no reflejan el filtro. Por ejemplo, si la columna que estoy analizando tiene una media de 132 antes del filtrado y una media de 134 después del filtrado, el informe de distribución mostrará 134 para la media, pero el árbol de visualización mostrará 132.
Make Distribution = Method({filter={}},
Try(
Column(dt,col) << Set Name("Data");
show(NItems(filter)!=0);
If(
NItems(filter)!=0,
dist = dt << Distribution(
Automatic Recalc( 1 ),
Continuous Distribution( Column( :Data ),
Local Data Filter(
Add Filter(Where(:Data >= filter[0] & :Data<= filter[1]))
)
),
),
dist = dt << Distribution(Automatic Recalc(1),Continuous Distribution(Column(:Data)));
);
rdist = dist << Report;
show(rdist[1]);
tmp = rdist["Summary Statistics"][NumberColBox(1)] << Get As Matrix;
mean = tmp[1];
stdev = tmp[2];
std_err_mean = tmp[3];
up_95_mean = tmp[4];
low_95_mean = tmp[5];
N = tmp[6];
dist_graph = rdist[OutlineBox("Data")][PictureBox(1)];
Column(dt,"Data") << Set Name(col);
,
Throw("Error in Making Distribution: "||char(exception_msg))
);
);Arriba está el método en el que estoy realizando el informe de distribución, agregando el filtro local y extrayendo los valores estadísticos de resumen del árbol de visualización.
También he intentado usar una rutina de Seleccionar dónde y Eliminar filas, pero la Selección de dónde no está haciendo nada dentro del método que se encuentra debajo.
Filter Table = Method({filter},
dt << Select Where(Column(dt,col)<FILTER>filter[2]);
dt << Delete Rows;
);</FILTER>Estoy haciendo esto, ya que a menudo necesito obtener varias estadísticas de resumen o elementos de los informes de distribución y esto hace que sea una sintaxis fácil y fácil de cambiar.
He adjuntado la clase completa a este post.
Cualquier ayuda sería apreciada.
Hola,
Estoy respondiendo porque vi un comportamiento similar en JMP 13. Cuando tenía un filtro de datos adjunto, podía obtener y establecer valores en una columna y hacer clasificaciones de tablas y manipulaciones de resumen de tablas, pero obtuve resultados aleatorios con la selección de filas. Mi trabajo fue obtener los valores de las columnas como vectores (el análisis pidió columnas numéricas) y usar las funciones loc (). Luego hice mis cálculos y actualicé los valores de la tabla en consecuencia.
El soporte de JMP fue notificado. Los marcaré para que vean esta publicación de blog porque el comportamiento que describiste parece ser el mismo.
Ningún efecto por desgracia.
@awsmagala ,
Recomendaría introducir un pequeño retraso usando la espera entre la construcción de la tabla de datos después de la aplicación de la plataforma.
Wait(0.1);