How to display data at all parent/child levels

How about Appsheet community? I want to consult something that can be very useful for many topics.

When we create a view in UX, let's say a table view, we can see the columns of the table and its rows.

When we organize it so that it is displayed in a cascade by selecting "group by", the result is very useful since it can be subselected until we obtain what we need.

If we reach the end of the selection, it is possible to see all the rest of the columns associated with the last record of the chain.

I would like to know if this is possible to do at all levels of the journey.

For example:

In the first option in the next image I have the google sheet table

The second scheme would be a group unfolded by in Ux

The third scheme is what I want to do, not only show population, area and density for the city, but as it unfolds, you can see population, area and density for the state and for the country, at the end of the day it is a SUM(SELECT())

Sin título.png

what I want to know is if I have to create a new table where I calculate the density, surface and population data for each level or is it possible to do it without making those tables and how do I make this information appear as I unfold the levels.
If there is any test app made maybe it can help me. 

SALUDOS!

 

Solved Solved
0 12 612
  • UX
3 ACCEPTED SOLUTIONS

Just create virtual columns in the state and country tables to sum up the metrics from the levels below, for example in the state table create a virtual column called state_population with the following formula:

SUM(
  SELECT(
    city[population], [state_id] = [_THISROW].[state_id]
  )
)

then for the country table create a VC for country_population with the following formula:

SUM(
  SELECT(
    state[state_population], [country_id] = [_THISROW].[country_id]
  )
)

You can then display these calculated columns and any other similar ones, in the table views.

View solution in original post

Hola Gus,

Yo haría los siguiente:

  1. Agregar las columnas "Superficie", "Población" y "Densidad" a las dos tablas Provincias y Países.
  2. Agregar una columna Ref en Provincias apuntando a Países y otra en Ciudades a Provincias.

Así, puedes por ejemplo empezar en la vista Países y tendrás dentro de cada País una lista de Provincias relacionadas, con las sumas relevantes. Si entras en una Provincia, tendrás la lista de Ciudades. Y por supuesto puedes hacer marcha atrás desde una Ciudad a su Provincia luego a su País. En cada etapa tendrás las sumas en la vista para las tres columnas correspondientes. 

Fuera de la app, ten en cuenta esta nota por favor:

Ten en cuenta que la formula para "Densidad" no será SUM([densidades relacionadas]), pero SUM([poblaciones relacionadas])/SUM([superficies relacionadas]). Matemáticamente este es correcto, pero de punto de vista estadística este formula no tendrá mucho sentido o significado. Lo más pertinente estadísticamente sería: AVERAGE([densidades relacionadas]).

View solution in original post

To display values related to child, grand child records, just create VCs as others have already suggested.

As for an 'interactive' table view, fold/unfold showing aggregated values at each level, I spent some time before and concluded that there is none available in AppSheet except using a dashboard view like below.

I would also like to know if such a SINGLE view is available already..

If not, I believe the dashboard is the closest 'SINGLE' view to what you want or like you say, create summary tables...

Animation.gif

View solution in original post

12 REPLIES 12

Hola Gustavo.

Tu descripción es un poco confusa.

Necesitas ver un total para algún grupo en particular?

Necesitas poder ver todos los registros aunque estén agrupados?

Hola Oscar! voy a escribirte en español para mejorar mi descripción.

Yo tengo tres tablas. 

Id Pais       Pais

Id Provincia        Provincia

Id Ciudad       Ciudad        Superficie         Población           Densidad

 

Como todas las ciudades pertenecen a una provincia, lo que yo quiero hacer es que, a partir de las ciudades que cargo, se calculen los aspectos de población, superficie y densidad para cada provincia y repetir el mecanismo en el nivel pais. Probablemente tenga que agregar en la tabla pais y provincia, los aspectos de densidad, población y superficie para que se sumen. Eso no sería un problema, los totales son fáciles de conseguir con SUM(SELECT() )

El tema es que a mi me gustaria generar vistas tipo tabla, donde al seleccionar el pais (como una lista desplegable, pudiera yo ver sus datos de densidad, población y superficie (que resultan de la suma segun provincias)

Luego, en la tabla que me aparece seguramente aparecerán las provincias, cada una con su descripción particularizada de densidad, población y superficie. si yo quisiera seleccionar una de las provincias, al tocar alguna de ellas aparecerían las ciudades. Cada una con sus datos de densidad población y superficie.

Lo que ahora ocurre es que yo elijo pais, luego se muestran las provincias, elijo la provincia y se muestran las ciudades con los datos de población, densidad y superficie. Pero estos datos quisiera verlos todos en los tres niveles no solamente en el último.

Siento que estoy siendo demasiado rebuscado pero es que no encuentro otra forma de explicarlo. Voy a pensar alguna otra forma para poder mejorar mi expicación en caso que no entiendas esta. 

Tengo la siguiente idea, pero solo podrás ver un ítem (superficie, población o densidad).

Intenta agregar una columna virtual a la última tabla para poder agregar la Provincia. Otra para agregar el país.

Luego en la vista agrupas primero por país, luego por provincia.

En el "Group aggregate" Selecciona Sum seguido el campo que deseas sumar.

Luego en la app verás que se suma lo que seleccionaste, primero por país, luego por provincia...

Puedes también ver un promedio, el máximo o el mínimo.

Algo distinto a eso ya dependería de tu ingenio, pero es la solución que se puede lograr de manera nativa

Oscar Buen día, estuve probando. Tengo organizado el "Group By" de la siguiente manera:

Nivel 1: PAIS

Nivel 2: PROVINCIA

Nivel 3: CIUDAD

En group agregate, tengo "COUNT" entonces se cuantas ciudades están cargadas en el último grupo. No es exactamente lo que busco, dado que si sumo también sumaría el total que elija del último grupo pero no tendría un encabezado que me diga que es lo que está sumando y no tendría en cuenta los primeros niveles. EN este caso, el usuario no podría saber de que se trata la suma a menos que se interiorice mucho con la app.

Te agradezco mucho la intención, vale porque sirve para descartar! Un saludo para vos Oscar que tengas buen día!

Just create virtual columns in the state and country tables to sum up the metrics from the levels below, for example in the state table create a virtual column called state_population with the following formula:

SUM(
  SELECT(
    city[population], [state_id] = [_THISROW].[state_id]
  )
)

then for the country table create a VC for country_population with the following formula:

SUM(
  SELECT(
    state[state_population], [country_id] = [_THISROW].[country_id]
  )
)

You can then display these calculated columns and any other similar ones, in the table views.

Muchas gracias graham por tu respuesta! Mañana pruebo y te cuento

Hola Gus,

Yo haría los siguiente:

  1. Agregar las columnas "Superficie", "Población" y "Densidad" a las dos tablas Provincias y Países.
  2. Agregar una columna Ref en Provincias apuntando a Países y otra en Ciudades a Provincias.

Así, puedes por ejemplo empezar en la vista Países y tendrás dentro de cada País una lista de Provincias relacionadas, con las sumas relevantes. Si entras en una Provincia, tendrás la lista de Ciudades. Y por supuesto puedes hacer marcha atrás desde una Ciudad a su Provincia luego a su País. En cada etapa tendrás las sumas en la vista para las tres columnas correspondientes. 

Fuera de la app, ten en cuenta esta nota por favor:

Ten en cuenta que la formula para "Densidad" no será SUM([densidades relacionadas]), pero SUM([poblaciones relacionadas])/SUM([superficies relacionadas]). Matemáticamente este es correcto, pero de punto de vista estadística este formula no tendrá mucho sentido o significado. Lo más pertinente estadísticamente sería: AVERAGE([densidades relacionadas]).

Como estas Joseph! Buen día. Ahora mismo me dedico a poner en práctica esto. Seguramente, como siempre, consigo la solución. Un abrazo te cuento en breve voy con el tema!

 

To display values related to child, grand child records, just create VCs as others have already suggested.

As for an 'interactive' table view, fold/unfold showing aggregated values at each level, I spent some time before and concluded that there is none available in AppSheet except using a dashboard view like below.

I would also like to know if such a SINGLE view is available already..

If not, I believe the dashboard is the closest 'SINGLE' view to what you want or like you say, create summary tables...

Animation.gif

Estoy viendo que esto es lo que más se acerca a la solución que quiero. Ahora pruebo y veo. Les dejo una respuesta a todos los que escribieron una vez consiga resolver, con la solución. Esto que me estás mostrando aquí parece ser un "tutorial" o una app de prueba para mostar un comportamiento. Si es así, te agradecería que me dijeras donde se puede "look in the hood" esta app, de manera que pueda adaptar la mía a esta situación. Por supuesto si es posible, caro, y entiendo perfectamente si prefieres mantenerla en privado dado que cada aplicación es personal. 

https://www.appsheet.com/portfolio/3401559

GroutByReporting

Be my guest!

Muchas Gracias. Pude verlo, a mi en particular, cuando hago clicks sobre los registros me lleva a vistas de detalle, en cambio en tu app no ocurre eso. De todos modos estoy viendo de mostrar los datos de una forma responsive. Fue de mucha utilidad te lo agradezco mucho. 

Top Labels in this Space