Concatenar datos de otra tabla

Hola!

Necesito concatenar los datos de la columna [CANTIDAD] de la Tabla SIN CARGADOR a otra.
La tabla SIN CARGADOR tiene la cantidad de Part Number o productos sin cargador.
Agregue una columna virtual llamada [PART_CARGADOR] en la tabla INVENTARIO con la siguiente formula que no funciona

 

IF (
([Related SIN CARGADORs].[PART NUMBER].[CANTIDAD]>0), (CONCATENATE([PART NUMBER], " ","(",[Related SIN CARGADORs].[PART NUMBER].[CANTIDAD],")")), [PART NUMBER])

 

Lo que necesito es que si la cantidad es igual a cero que muestre el PART NUMBER y la CANTIDAD entre (), sino que solo muestre el part number

Ejemplo:    PART56RT (5) else PART56RT

Gracias!

Solved Solved
0 5 354
1 ACCEPTED SOLUTION

Entonces necesitarías una expresión como la siguiente (o similar):

IF (
    SUM([Related SIN CARGADORs][CANTIDAD]) >0,
    CONCATENATE(
       [PART NUMBER],
       " (",
       SUM([Related SIN CARGADORs][CANTIDAD]),
       ")"
       ),
    [PART NUMBER]
   )

 

View solution in original post

5 REPLIES 5

Hola, 

Es porque estás intentando llamar la referencia de una lista como si no fuera una lista (las columnas Related en este caso).

Cuando quieres llamar a todos los valores reverenciados por los valores de una lista, como es el caso de los relateds, no se utiliza el punto, como se hace normalmente [REF].[VALOR], en este caso se utiliza sin el punto: [LISTA][VALORES]; Pero cabe aclarar que cuando haces esto no puedes llamar a otro valor después, es decir que no puedes hacer esto: [LISTA][VALORES].[OTRO_VALOR]

Tienes dos opciones dependiendo de lo que quieras lograr. Si lo que quieres es un solo valor referenciado deberás usar una columna virtual que tome un solo valor de la lista de los Relateds, por ejemplo [Columna_virtual_1]=INDEX([Related productos],1); posteriormente puedes usar esa columna virtual como referencia: [Columna_virtual_1].[Valor_1]

 

IF (
    [Columan_virtual_SIN_CARGADORs].[PART NUMBER].[CANTIDAD]>0,
    CONCATENATE(
          [PART NUMBER],
          " (",
          [Columan_virtual_SIN_CARGADORs].[PART NUMBER].[CANTIDAD],
          ")"
          )
        ), 
       [PART NUMBER]
       )

 Si lo que quieres en realidad es una lista de valores referencia da por otra lista entonces también tendrías que usar una columna virtual pero esta vez en forma de lista: [lista__de_valores_1_columna_virtual]= [Related Productos][Valor_1] para luego obtener la lista de los valores referenciados por esos valores obtenidos: [lista__de_valores_2_columna_virtual]= [lista__de_valores_1_columna_virtual][Valor_2]; nota que en estos casos no se utiliza el punto

Gracias por tu respuesta @Karimmc2 


Tienes dos opciones dependiendo de lo que quieras lograr. Si lo que quieres es un solo valor referenciado deberás usar una columna virtual que tome un solo valor de la lista de los Relateds, por ejemplo [Columna_virtual_1]=INDEX([Related productos],1); posteriormente puedes usar esa columna virtual como referencia: [Columna_virtual_1].[Valor_1]


No entiendo esta parte cuando genero una columna virtual en la tabla SIN CARGADOR con la formula que mencionas [Columna_virtual_1]=INDEX([Related productos],1)

La estructura de mi App es la siguiente:

SIN CARGADOR (Tabla)
       [ID_DETALLE] Key
       [PART NUMBER] ref a tabla INVENTARIO
       [PRODUCTO]
       [CANTIDAD]

INVENTARIO (Tabla)
     [PART NUMBER] Key
     [PRODUCTO]
     ETC

Entonces necesitarías una expresión como la siguiente (o similar):

IF (
    SUM([Related SIN CARGADORs][CANTIDAD]) >0,
    CONCATENATE(
       [PART NUMBER],
       " (",
       SUM([Related SIN CARGADORs][CANTIDAD]),
       ")"
       ),
    [PART NUMBER]
   )

 

Excelente! Funciono perfecto, estaba cerca 🙂
Muchas gracias @Karimmc2 

Qué bueno que funcionó

Top Labels in this Space