Tengo una tabla INVENTARIO - Columna [PART NUMBER] KEY, donde se almacenan los productos.
Luego una tabla VENTAS
[ID_DETALLE] Type Text - Key
[ID_VENTAS] Type Text - Label
Y tabla hija DETALLE_VENTAS
[ID_DETALLE] Type Text - Key
[ID_VENTAS] REF A Tabla Ventas
[PART NUMBER] REF A Tabla INVENTARIO
en la columna [PART NUMBER] Tabla DETALLE_VENTAS / Valid if:
Lo que quiero hacer con esta formula es no permitir que se ingresen Part Numbers o productos que ya fueron ingresados (duplicados). Pero no funciona.
te voy a dejar un spoiler de lo que creo que puede ser parte de la solución…> INTERSECT(LIST([PART NUMBER]),DETALLE_VENTAS[PART NUMBER])
Agregué tu formula en VALID IF de la columna [PART NUMBER] tabla DETALLE_VENTAS donde se ingresan los productos pero me muestra la lista vacia.
[PART NUMBER] type REF a Tabla INVENTARIO (donde se almacenan los productos)
dices que [PART NUMBER] es el key de tu tabla inventario, generas esa llave con la fórmula UNIQUEID()? y cuál es su label?
Si usas UNIQUEID() teóricamente el ID siempre va a ser único.
tu fórmula tiene que basarse en el Label de inventario (Producto?).
La fórmula que te dí te regresa los elementos en común de las 2 listas, tendrias que meterla en un ISBLANK() para que sea una evaluación.
Piensa en usar la sección de Suggested values.
y cuando te pido capturas de pantalla de las tablas en appsheet me refiero a algo así.
ok, ya te estoy entendiendo
Pienso que es una mala praxis el tener una llave (key) que no tenga de valor inicial UNIQUEID() pero no sé, supongo que existen casos en los que está justificado según la funcionalidad a lograr. Suponiendo que en tu caso te estás asegurando de que sean valores únicos (los que tu quieras pero que no se repitan) y analizando tus capturas de pantalla creo que quizá algo de esto te funcione
En caso de que estés agregando a detalle ventas y no quieras duplicados con la tabla detalle ventas
NOT(IN([PRODUCTO],DETALLE_VENTAS[PRODUCTO]))
En caso de que estés agregando a detalle ventas y no quieras duplicados con especificamente los registros de detalle ventas que pertenezcan o estén referenciados a la misma venta…
La columna [PART NUMBER] Key de la tabla INVENTARIO no es UNIQUEID() porque ingreso directamente el PART NUMBER y el sistema me informa cuando se quiere ingresar un Part Number Duplicado.
En caso de que estés agregando a detalle ventas y no quieras duplicados con la tabla detalle ventas> > > NOT(IN([PRODUCTO],DETALLE_VENTAS[PRODUCTO]))> > > En caso de que estés agregando a detalle ventas y no quieras duplicados con especificamente los registros de detalle ventas que pertenezcan o estén referenciados a la misma venta…> > > NOT(IN([PRODUCTO],[ID_VENTAS].[Related DETALLE_VENTASs][PRODUCTO]))>
Seria el 2do caso, productos de la misma venta no esten duplicados.
Pero la formula me arroja el siguiente error:
Error in expression ‘[ID_VENTAS].[Related DETALLE_VENTASs][PRODUCTO]’ : Unable to find column ‘Related DETALLE_VENTASs][PRODUCTO’
Funciona bien dejando la ultima formula en Suggested values, pero funciona mucho mejor en Valid If, ya que cuando elijo una categoria de la lista para filtrar productos, no me borra el producto seleccionado, lo sigue dejando seleccionado.
Solo necesito fusionarlas, si es que se puede en Valid If
Gracias @Kabulino
Le agregué el parentesis al final que faltaba pero me tira este error.
Condition AND(NOT(IN([PART NUMBER],[ID_VENTAS].[PART_DETALLEVENTAS])), IF(ISBLANK([CATEGORIA]),ORDERBY(INVENTARIO[PART NUMBER],[CANTIDAD],“true”),ORDERBY(SELECT(INVENTARIO[PART NUMBER],([CATEGORIA] = [_ThisRow].[CATEGORIA])),[CANTIDAD],“true”))) has an invalid structure: subexpressions must be Yes/No condition
A mi me da la impresión que no necesitas ninguna de estas fórmulas, lo que realmente necesitas es arreglar la estructura de tu base de datos para no tener estas complicaciones
sin embargo prueba esta y me dices si te funciona