¿Variando el comportamiento del resumen en JSL?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />¿Alguien puede explicar esto?
| dt = | newtable ("test", Add Rows (8), |
| Nueva columna ("A", carácter, nominal, conjunto seleccionado, |
| | Valores establecidos ({"manzana", "manzana", "manzana", "manzana", "pera", "pera", "pera", "pera"}) |
| ) |
| Nueva columna ("B", carácter, nominal, |
| | Valores establecidos ({"rojo", "verde", "rojo", "amarillo", "amarillo", "amarillo", "rosa", "rosa"}) |
| ) |
);
// primera forma - esto resume todo, no solo filas de manzanas
dtsummary1 = dt << resumen (grupo (:
, donde (: A == "manzana"));
// segunda forma - esto resume solo las filas de manzanas como yo quería
currentdatatable (dt);
dtsummary2 = resumen (grupo (:
, donde (: A == "manzana"));
Solo puedo usar la segunda forma pero no entiendo este comportamiento. ¿Por qué no funciona donde funciona igual? ¿Hay alguna forma más inteligente de obtener los valores B solo para las filas de manzanas?
Re: comportamiento variable de Resumen en JSL?Interesante. Eso me hace preguntarme si hay otros comandos que puedo hacer que "se comporten como una plataforma" al no enviarlos como mensajes. Y qué comportamientos diferentes que harían posible. Las plataformas (como dice FitYbyX) parecen comportarse de la misma manera, ya sea que se envíen como un mensaje a una tabla o no, pero quizás también haya diferencias allí. Si digo dt << Bivariate (..), ¿estoy haciendo que una plataforma se comporte como un comando de alguna manera que pueda hacer alguna diferencia? (Lo hago todo el tiempo, ya que parece una forma menos complicada de asegurarme de que estoy hablando con la tabla correcta).
Re: comportamiento variable de Resumen en JSL?Tenga en cuenta que el resumen en sí no analiza la cláusula where.
En el primer caso, está enviando el mensaje de resumen a la tabla de datos dt.
El resumen resuelve lo que entiende, que en este caso es la columna de agrupación.
El segundo caso se comporta como una plataforma. La plataforma resuelve la tabla de datos y le envía el mensaje.
En este caso, la tabla de datos es el subconjunto donde: A == "apple".