Jerarquía de tablas de datos abiertos¿Cómo puedo obtener una jerarquía de todas las tablas de datos abiertas?
- subconjuntos
- mesa apilada/dividida
- tabla resumen
¿Algo así como la estructura de árbol en el menú principal o en la lista de ventanas?
Automatización y scriptingRe: Jerarquía de tablas de datos abiertosEn mi último enfoque, uso el truco de @jthi para analizar el registro mejorado:
Hablar con el registro mejorado
Pero tal vez exista un enfoque más inteligente: ¿modificar la vista de lista de ventanas?

Desafortunadamente:

... y la lista de ventanas no aparece en obtener Lista de ventanas()
Re: Jerarquía de tablas de datos abiertos¿O especificar tablas de datos en la función Obtener lista de ventanas()?
Names Default To Here( 1 );
open_tables = Get Window List( Type( "Data Tables" ) ) << Get Window Title;
Re: Jerarquía de tablas de datos abiertosO
Names Default To Here( 1 );
open_tables = Get Data Table List();
Re: Jerarquía de tablas de datos abiertosConozco ambas funciones, pero no sabía que se pueden utilizar para obtener la jerarquía de tablas de datos abiertas.
De las listas devueltas, ¿cómo puedo averiguar qué tabla es un subconjunto o resumen de otra tabla de datos?
Re: Jerarquía de tablas de datos abiertosTengo el mismo problema al mostrar ventanas en el próximo Asistente. Actualmente, solo miro los nombres y analizo "-".
Re: Jerarquía de tablas de datos abiertosDesafortunadamente, a partir del nombre de la ventana no se puede concluir si las tablas están vinculadas o separadas.
Envié la pregunta al soporte de JMP: TS- 00278736
La sugerencia: enviar la idea a la lista de deseos.
Listo: GetOpenTableDependencyGraph() y otros
Re: Jerarquía de tablas de datos abiertosPara los informes, es un poco más fácil, ya que se puede usar «Obtener tabla de datos» (lo molesto es obtener la referencia de la plataforma). Ejemplos demasiado simplificados.
get_reference_table_window = Function({reportwindow}, {Default Local},
table = Empty();
tablelist = Get Data Table List() << get name;
window_title = reportwindow << Get Window Title;
table = Empty(); // one should definitely match...
For Each({tablename}, tablelist,
If(Starts With(window_title, tablename),
table = Datatable(tablename);
break;
);
);
return(table);
);
get_reference_table_helpkey = Function({reportwindow}, {Default Local},
table = Empty();
// look for OutlineBoxes with helpKey xml attribute
obs = reportwindow << XPath("//OutlineBox[@helpKey]"); // can run out of depth, could also loop over outlineboxes
objs = obs << Get Scriptable Object;
For Each({obj}, objs,
If(Is Empty(obj),
continue();
);
sobj = obj << Get Scriptable Object;
If(!Is Empty(sobj),
table = sobj << Get Data Table;
);
);
return(table);
);
Para las tablas de datos, la situación se complica y solo se puede confiar en el nombre y el script de la tabla de origen para las tablas no vinculadas. Para las tablas vinculadas, existen estrategias más complejas que se pueden probar.