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 355
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