Skip to main content
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!
cancel
Showing results for 
Search instead for 
Did you mean: 
walterlh
Creator II
Creator II

Cliente con código null (NULO)

Hola, desde la base de datos que me provee otro programador hago una carga de la tabla Clientes y Ventas entre otras.


Clientes:

Load

    Id_Cliente,

    Nombre,

    Condicion_Venta;


SQL SELECT *

FROM BASEDEDATOS.dbo.Clientes;

Ventas:

Load

    IdCliente,

    Razon_Social,

    Venta;

SQL SELECT *

FROM BASEDEDATOS.dbo.Ventas;

El problema es que el cliente "Consumidor Final" que comprende todos los clientes con esa condición ante IVA en la tabla Ventas la carga con código null, entonces en los informes de ventas la venta sale como cliente null.

Como puedo asignarle un código o Id_Cliente ? Intenté:

Left Join (Ventas)

LOAD      If(Razon_Social='Consumidor Final', Id_Cliente=9999) as IdCliente

Resident Ventas;

Pero no funciona. Alguien me ayuda?

1 Solution

Accepted Solutions
jolivares
Specialist
Specialist

Lo que sucede es que con el left join ya estas restrigiendo a los clientes que existen en la tabla clientes.  Dejalo solo con "Join" para que agregue los clientes que existen en la tabla ventas y en cuyo caso ya tendrias el cliente 9999

Join (Clientes)

Load If(Razon_Social='Consumidor Final',9999, IdCliente) as IdCliente,

Razon_Social,

Venta;

Sql Select *

From Basedatos.dbo.Ventas;

View solution in original post

4 Replies
jolivares
Specialist
Specialist

Lo que sucede es que con el left join ya estas restrigiendo a los clientes que existen en la tabla clientes.  Dejalo solo con "Join" para que agregue los clientes que existen en la tabla ventas y en cuyo caso ya tendrias el cliente 9999

Join (Clientes)

Load If(Razon_Social='Consumidor Final',9999, IdCliente) as IdCliente,

Razon_Social,

Venta;

Sql Select *

From Basedatos.dbo.Ventas;

rubenmarin

O si quieres que 'Consumidor Final' aparezca como un cliente seleccionable a través de 'Nombre' puedes añadirlo a la tabla de clientes:

Clientes:

Load

    Id_Cliente,

    Nombre,

    Condicion_Venta;


SQL SELECT *

FROM BASEDEDATOS.dbo.Clientes;


Concatenate (Clientes)

LOAD * Inline [

Id_Cliente, Nombre

9999, Consumidor Final

];

Ventas:

Load

    If(Razon_Social='Consumidor Final', 9999, Id_Cliente) as IdCliente,

    Razon_Social,

    Venta;

SQL SELECT *

FROM BASEDEDATOS.dbo.Ventas;

walterlh
Creator II
Creator II
Author

Gracias Juan, agregué la línea que me sugeriste y salió la información correctamente. Muchas gracias por tu ayuda.

walterlh
Creator II
Creator II
Author

Está correcto Ruben, pero el cliente ya está creado, solamente no almacenaba el IdCliente adecuadamente en la tabla Ventas. Pero en el caso de que el cliente no esté creado, tu sugerencia es la acertada. Muchas gracias por tu ayuda.