Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hola,
A ver si alguien me puede ayudar. Tengo los datos de ventas de la empresa y ahora he incorporado los abonos. En una pestaña nueva, he añadido un cuadro de lista dónde tengo todos los productos pero quisiera mostrar sólo los que tienen abonos, ahora me salen todos los que tienen ventas. Como añado esa condición?
Gracias.
Si estás añadiendo los abonos en la misma tabla de las Ventas (probablemente con importes negativos), lo cual puede ser muy buena opción, la mejor solución que se me ocurre es crear manualmente un campo que identifique los abonos y que puedas utilizar para filtrar esos registros. Por ejemplo, con el siguiente script tendrías un campo llamado TipoMovimiento que podrías utilizar para discriminar entre Ventas y Abonos:
LOAD
CustomerID,
Amount,
SalesDate,
'Venta' AS TipoMovimiento;
SQL SELECT *
FROM VENTAS;
LOAD
CustomerID,
Amount * (-1) AS Amount,
SalesDate,
'Abono' AS TipoMovimiento;
SQL SELECT *
FROM ABONOS;
Hola jcabriag.
Primero carga tu catalogo, y en la tabla que quieres reducir, en el Where ingresa el exist
Ejemplo
Catalogo:
Load
Producto
From [x.xlsx];
Venta:
Producto
Importe
Pza
From [x.qvd]
Where exist(Producto, Producto);
Con lo cual busca en el campo Producto los productos ya cargados.
Si estás añadiendo los abonos en la misma tabla de las Ventas (probablemente con importes negativos), lo cual puede ser muy buena opción, la mejor solución que se me ocurre es crear manualmente un campo que identifique los abonos y que puedas utilizar para filtrar esos registros. Por ejemplo, con el siguiente script tendrías un campo llamado TipoMovimiento que podrías utilizar para discriminar entre Ventas y Abonos:
LOAD
CustomerID,
Amount,
SalesDate,
'Venta' AS TipoMovimiento;
SQL SELECT *
FROM VENTAS;
LOAD
CustomerID,
Amount * (-1) AS Amount,
SalesDate,
'Abono' AS TipoMovimiento;
SQL SELECT *
FROM ABONOS;
Hola Manuel,
Gracias por responder. Si yo cargo todo mi catálogo de productos, después cargo las ventas con la sentencia exist y seguidamente cargo los abonos con la misma sentencia, en mis datos habrá productos que tienen ventas y no tienen abonos. En la pestaña donde muestro un estudio de los abonos tengo un cuadro de lista para poder filtrar por producto pero solo me interesa ver los productos que tienen abonos, no los que solo tienen ventas.
No se si acaba de quedar muy claro.
Muchas gracias por tu ayuda.
Hola jcabriaq,
Te adjunto un ejemplo a ver si te sirve.
Si no lo entendí mal, lo que quieres es seleccionar mediante ese cuadro de lista en el que sólo te salen los códigos de aquellos productos que tienen abonos los productos de tu catálogo de productos.
Un saludo,
Hola jcabriag.
Si entendí solo quieres tener los productos que tienen bonos, la Respuesta de Juan es muy útil ya que en la nueve de datos tendrías todo, y con un campo puedes filtrar cuales son los que tienen Bono.
Si únicamente requieres los productos con bono, es la misma mecánica que el ejemplo de la lista.
Primero carga tu tabla de Bonos con los productos que únicamente quieres tener, y en las tablas siguientes lo condicionas con la sentencia.
Where Exist ([Campo Comparar],[Campo Tabla]) para que time la primera tabla la tomen como base y los siguientes se basen en lo previamente cargados.
Saludos…
Hola Sonia,
Gracias por tu respuesta. Tu ejemplo me ha servido de ayuda.
La idea que tenía era no trastear con el script, quería utilizar Set Analysis.
Por ejemplo, si queremos contar los artículos que tienen abonos podemos utilizar esta sentencia:
Count({<AbonoMarca = {1}>}DISTINCT(CodigoArticulo))
Donde AboMarca es una marca que pongo cuando cargo los abonos.
Pero no sé (creo que no se puede....) como utilizar Set Análysis sin funciones de agregación (count, sum, avg,......)
Aplicaré tu ejemplo en mi proyecto.
Gracias.
De nada jcabriaq,
Me alegro de que te haya servido.
En el foro podrías plantear qué es lo que quieres sacar con Set Analysis, por si alguien sabe cómo hacerlo; aunque creo que sólo se puede usar con funciones de agregación.
Un saludo,