Cambiar color Categoria si la suma de sus productos es igual a cero

Hola!

Tengo una app de inventario, una vista donde se listan todas las categorias.
Lo que necesito es poder cambiar el color de la CATEGORIA cuando la suma de los productos es igual a cero, como lo muestra la imagen abajo (editado)

Captura de pantalla 2022-11-21 a la(s) 13.41.49.png

Lo que hice fue ir a UX > Format Rules y crear esta regla (rule)

Captura de pantalla 2022-11-21 a la(s) 13.43.41.png

El problema esta en la formula > If this condition is true > [CANTIDAD]=0
ya que no hace la suma de todos los productos, me falta la formula correcta.

Captura de pantalla 2022-11-21 a la(s) 13.57.48.png

Espero haber explicado bien, gracias!

0 13 552
13 REPLIES 13

Creo que medio entiendo tu problema.


@marinocity wrote:

Captura de pantalla 2022-11-21 a la(s) 13.57.48.png


Esa suma del Grup aggregate es una funcionalidad de la vista que estás usando, por lo tanto no la puedes usar en una fórmula.

Según yo para poder lograr la funcionalidad que quieres primero tienes que crear una columna virtual ó una columna real en tu tabla INVENTARIO con una fórmula como ésta SUM([Cantidad]) para este ejemplo la llamaré [SUMA_CANTIDAD].

Lo segundo que tienes que hacer es crear tu Format Rule , para ello puedes usar el que ya habías creado y lo único que le tendrias que cambiar seria en tu fórmula la columna [CANTIDAD] por tu nueva columna [SUMA_CANTIDAD]. 

La verdad no hice ningún test y puede que me esté pasando algo por alto.

Gracias @Kabuliño 

La formula SUM([Cantidad]) no es valida.
Al crear una columna virtual da error "SUM function is used incorrectly"

Ok, supongo que [CANTIDAD] es de es una columna tipo numérico y entonces prueba con SUM(INVENTARIO[CANTIDAD]) pero aunque te va a decir que está bien creo que no es lo que buscas.

https://support.google.com/appsheet/answer/10107699?hl=en&ref_topic=10104782

Necesito más contexto sobre cómo tienes estructuradas tus tablas 

 

Gracias @Kabuliño 

La estructura es la siguiente

TABLAS
INVENTARIO
VENTAS - Detalle_Ventas (Tabla hija)
COMPRAS - Detalle_Compras (Tabla hija)

La columna [CANTIDAD] dentro de la tabla INVENTARIO es una columna virtual que hace la resta entre la cantidad que entra en COMPRAS y lo que sale en VENTAS, con la siguiente formula.

SUM(SELECT(DETALLE_COMPRAS[CANTIDAD],[PART NUMBER]=[_THISROW].[PART NUMBER]))- 
SUM(SELECT(DETALLE_VENTAS[CANTIDAD],[PART NUMBER]=[_THISROW].[PART NUMBER]))

 

 

Ok, te voy a sugerir otra forma de trabajarlo y te aconsejo no usar fórmulas de Select() en la medida de lo posible.

Suponiendo que [PART NUMBER] es la llave de tu tabla INVENTARIO... y que tienes bien hechas las relaciones de tus tablas 

1.- Crea otra columna virtual de tipo Number en tu tabla INVENTARIO, para el ejemplo la llamaré [STOCK] , su fórmula será SUM([Related DETALLE_COMPRAS][CANTIDAD])-SUM([Related DETALLE_VENTAS][CANTIDAD])

Esta columna de [STOCK] es básicamente lo mismo que tu columna [CANTIDAD]

2.-Para que funcione el Format Rule (Incluso con la fórmula que tenías al principio) es necesario que el tipo de columna pueda ser comparable, en tu caso estabas comparando una lista con 0 , un valor que no representa una lista.

Tengo 2 problemas ahora, dentro de la formula de [CANTIDAD] tengo otra formula que forma parte de la ecuacion (no la copie antes para no complicar)

SUM(SELECT(RMA[CANTIDAD],AND([PART NUMBER]=[_THISROW].[PART NUMBER],[STOCKONO]="STOCK")))

quise traducirla a la nueva sintaxis, pero nose como ubicar el AND que le sigue a la formula, no funciona la que escribi abajo, ya que tiene una condicion.

SUM([Related RMAs][CANTIDAD]), AND [STOCKONO]="STOCK"))

Supongamos que solo tenga estas 2 formulas en la ecuacion, son las que me enviaste.

SUM([Related DETALLE_COMPRASs][CANTIDAD])-
SUM([Related DETALLE_VENTASs][CANTIDAD])

No funciona el paso 2 en Format Rule con la formula [CANTIDAD]=0
Tampoco funciona si creo una columna virtual [SUMA_CANTIDAD] con la formula SUM(INVENTARIO[CANTIDAD]) y luego colocarla en Format Rule.


@marinocity wrote:

Supongamos que solo tenga estas 2 formulas en la ecuacion, son las que me enviaste.

SUM([Related DETALLE_COMPRASs][CANTIDAD])-
SUM([Related DETALLE_VENTASs][CANTIDAD])


Te funcionó la fórmula?

 

 


@marinocity wrote:

No funciona el paso 2 en Format Rule con la formula [CANTIDAD]=0
Tampoco funciona si creo una columna virtual [SUMA_CANTIDAD] con la formula SUM(INVENTARIO[CANTIDAD]) y luego colocarla en Format Rule.


en la fórmula del Format Rule usa [STOCK]=0 y me dices si te funciona.

 

 


@marinocity wrote:

SUM(SELECT(RMA[CANTIDAD],AND([PART NUMBER]=[_THISROW].[PART NUMBER],[STOCKONO]="STOCK")))

quise traducirla a la nueva sintaxis, pero nose como ubicar el AND que le sigue a la formula, no funciona la que escribi abajo, ya que tiene una condicion.


Es mejor si explicas para que te sirve [STOCKNO] y la tabla RMA .
La tabla RMA también es hija de tu tabla Inventario?

 

 


@Kabuliño wrote:

Supongamos que solo tenga estas 2 formulas en la ecuacion, son las que me enviaste.

SUM([Related DETALLE_COMPRASs][CANTIDAD])-
SUM([Related DETALLE_VENTASs][CANTIDAD])


Esa formula funciona perfecto, igual que la otra con el SELECT.


@Kabuliño wrote:
@marinocity wrote:

No funciona el paso 2 en Format Rule con la formula [CANTIDAD]=0
Tampoco funciona si creo una columna virtual [SUMA_CANTIDAD] con la formula SUM(INVENTARIO[CANTIDAD]) y luego colocarla en Format Rule.


en la fórmula del Format Rule usa [STOCK]=0 y me dices si te funciona.


[STOCK] es igual a [CANTIDAD], es la misma columna virtual con la formula que esta mencionada arriba, solo con nombre diferente.


@Kabuliño wrote:
@marinocity wrote:

SUM(SELECT(RMA[CANTIDAD],AND([PART NUMBER]=[_THISROW].[PART NUMBER],[STOCKONO]="STOCK")))

quise traducirla a la nueva sintaxis, pero nose como ubicar el AND que le sigue a la formula, no funciona la que escribi abajo, ya que tiene una condicion.


Es mejor si explicas para que te sirve [STOCKNO] y la tabla RMA .
La tabla RMA también es hija de tu tabla Inventario?


RMA es otra tabla que forma parte de la ecuacion de la columna [CANTIDAD].
La formula completa seria la siguiente

SUM(SELECT(DETALLE_COMPRAS[CANTIDAD],[PART NUMBER]=[_THISROW].[PART NUMBER]))- 
SUM(SELECT(DETALLE_VENTAS[CANTIDAD],[PART NUMBER]=[_THISROW].[PART NUMBER]))-
SUM(SELECT(RMA[CANTIDAD],AND([PART NUMBER]=[_THISROW].[PART NUMBER],[STOCKONO]="STOCK")))

[STOCKONO] es una columna dentro de la tabla RMA que pregunta si el producto a ingresar forma parte de STOCK o CLIENTE

Captura de pantalla 2022-11-21 a la(s) 17.38.41.png

Si se elige STOCK, hace la resta en [CANTIDAD], si se elige CLIENTE no.

 

 

 


@marinocity wrote:

[STOCK] es igual a [CANTIDAD], es la misma columna virtual con la formula que esta mencionada arriba, solo con nombre diferente.


Son del mismo tipo? 

Ok,
Para poder agregar la última parte de tu fórmula sin usar select()

1.- Es necesario que RMA también tenga una columna Ref, haciendo referencia a tu tabla inventario (En otras palabras que RMA sea hija de INVENTARIO)

2.- Crear un Slice de RMA para el ejemplo la llamaré RMA_STOCK y usarás como fórmula filtro: [STOCKONO]="STOCK"

3.- En tu tabla INVENTARIO copia la columna virtual [Related RMAs] ponle de nombre el que quieras (para el ejemplo la llamaré [RMA_EN_STOCK]) y cambia de la fórmula el nombre de la tabla por el de la slice, Quedaría algo parecido a REF_ROWS("RMA_STOCK", "ID RMA")

4.- La fórmula final para tu columna [STOCK] quedará algo así 

SUM([Related DETALLE_COMPRASs][CANTIDAD])-
SUM([Related DETALLE_VENTASs][CANTIDAD])-
SUM([RMA_EN_STOCK][CANTIDAD])

 

Gracias @Kabuliño 

Deberia cambiar toda la estructura.
Lo que no puedo solucionar es el topic de este post,

Cambiar color Categoria si la suma de sus productos es igual a cero
 
 
Captura de pantalla 2022-11-21 a la(s) 13.41.49.png

Hasta aqui te puedo ayudar 

Te recomiendo visitar esta lista de reproducción https://youtube.com/playlist?list=PLo4qc7daF3rczyFE7kviX_U_9lH4Z-pY9 

 

 

Gracias por tu ayuda @Kabuliño 

Pero las formulas mencionadas no lo solucionaron.
Seguire buscando

Any help?

Top Labels in this Space