Skip to main content
Announcements
Qlik Connect 2025: 3 days of full immersion in data, analytics, and AI. May 13-15 | Orlando, FL: Learn More
cancel
Showing results for 
Search instead for 
Did you mean: 
farolito20
Contributor III
Contributor III

What's wrong?

ComprasDiarias:

LOAD

   Order,

   Date

   Item

  Status,

Quantity

FROM TempComprasDiarias.qvd (qvd);

LET vCantFilas = noofrows('ComprasDiarias');

FOR i=0 TO vCantFilas-1

 

          IF ($(fnEsOro) = 1 )THEN

                    TempComprasDiarias:

                    LOAD

       Order,

        Date

        Item

       Status,

      Quantity

                    RESIDENT ComprasDiarias

ELSE

 

   TempComprasDiarias:

                    LOAD

          Order,

             Date

             Item

            Status

                    RESIDENT ComprasDiarias

                    WHERE Cursor = $(i)+1;

                    inner Join(TempComprasDiarias)

                    LOAD

          Quantity2 as Quantity

   FROM TablaArticuloRendimiento.qvd (qvd)

                    WHERE Exists(Order,t_orno) and Exists (Item,t_item);

 

          END IF

 

NEXT;

9 Replies
sebastiandperei
Specialist
Specialist

Hola Farolito!

Hay errores de sintaxis (faltan comas y punto y comas), pero no creo que apuntes a eso.

Cuál es el error que te da? Qué es lo que no funciona? Por otro lado, qué campos tenés en las tablas que leés?

farolito20
Contributor III
Contributor III
Author

Sintaxis no es el problema. De hecho quiero que si se cumple el if, se carguen los datos de comprasDiarias normales.

En caso de que no se cumpla el if, que en vez de cargar el quantity de la tabla comprasDiarias , me cargue el quantity de TablaArticuloRendimiento donde este esa orden y ese item

sebastiandperei
Specialist
Specialist

Ok, pero cuál es el problema entonces? Pasaste el script, ahora decís "qué" no es el problema y lo que querés que haga.

Qué es lo que no hace? Te da un error? No funciona el if? te da siempre verdadero o siempre falso? qué tiene la variable fnEsOro?

farolito20
Contributor III
Contributor III
Author

no se me hace inner join :s

esa parte de reemplazar el anterior quantity no me funciona.

sebastiandperei
Specialist
Specialist

Aha!

Bueno, en cualquier Join (left, right, inner u outer) necesitás un campo en común para ambas tablas.

El caso del Inner join, buscás las coincidencias en los valores de ambas tablas, y el resultante tendrá sólo aquellos registros que, en el campo en común, estén presentes en ambas tablas.

Vos hacés un Inner Join entre dos tablas que no tienen campos en común. TempComprasDiarias(order, date, item, status) y TablaArticuloRendimiento(quantity).

Por el nombre de la tabla supongo que deberás tener campos relativos al artículo en TablaArticuloRendimiento, por lo cual, tendrías que pasarme qué campos tenés en TempComprasDiarias y en TablaArticuloRendimiento.

Si querés intentar, buscá qué campos en común tienen las tablas, y agregalos tanto en la lectura de la primera, como en la lectura del Inner Join... Me explico?

sebastiandperei
Specialist
Specialist

Probaste?

farolito20
Contributor III
Contributor III
Author

Si, pero como que me junta las dos tablas, me sale ComprasDiarias y TempComprasDiarias, y yo quiero que se reemplace los campos de ComprasDiarias que cumplen con la condicion con los de TempComprasDiarias

farolito20
Contributor III
Contributor III
Author

Ya me funciono! Gracias

sebastiandperei
Specialist
Specialist

jeje... y entonces no es respuesta correcta?