Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hola a tod@s,
tengo un problema que no consigo resolver, a ver si alguien puede ayudarme.
Imaginad la tabla de datos siguiente
Articulo | Fecha | Condicion | Stock |
---|---|---|---|
A1 | 15/10/2013 | 1 | 25 |
A1 | 24/11/2013 | 1 | 34 |
A1 | 12/12/2013 | 3 | 18 |
A2 | 03/11/2013 | 4 | 480 |
A2 | 05/12/2013 | 2 | 26 |
A3 | 30/11/2013 | 4 | 50 |
A4 | 15/10/2013 | 2 | 260 |
i necesito mostrar una tabla con solo una fila por cada articulo que tenga la fecha máxima i que cumpla ciertas condiciones.
Por ejemplo, solo deben aparecer las condiciones 1 o 2, con lo que el resultado de mi tabla simple debería contener solo la información de las filas de los artículos marcados en rojo (A1, A2 i A4).
He intentado poner una dimensión calculada para el artículo, una expresión con aggr, etc pero no lo consigo.
Alguna idea?
Gracias de antemano
Hola Jordi,
Lo que debes hacer es poner la condición de salida del registro (en tu caso que la condición sea 1 ó 2) en cada una de las expresiones de tu tabla, con una sentencia IF, de forma que si se cumple la condición, le pones el valor que corresponda y si no se cumple le pones cero. Después, en la pestaña “Presentación”, marcas “Suprimir valores cero” (si toda la fila/registro tiene valor cero, no saldrá).
// CONDICION SALIDA REGISTRO
IF( Condicion
, Valor correspondiente (dependiendo de la columna en que estés)
, 0
)
Un saludo,
Hola Sonia,
esto ya lo he hecho i funciona pero es la solución a medias, creo.
Además de aplicar las condiciones, debo quedarme con la fila que las cumpla i que tenga fecha máxima de cada articulo, no de todos los datos.
Y ahí es donde no lo consigo.
Gracias.
Por ejemplo, una expresión que tengo (i que luego no muestro la columna) es:
=if(Priority ❤️ and [Service Type] <> 'User Service Request' and Type_Fact = 'Incident' and [Master Ticket]= '.' and [Assigned Group]<>'CH-Platinum Support',
aggr(max(UploadDate14), [Incident ID]),null())
donde puedes ver que hay más de una condición a aplicar por cada línea de la tabla de entrada.
Lo único que se me ocurre para la fecha máxima es que lo montes en el script y tal vez no te interese ahí.
Podrías cargar un .qvd , algo así:
Tabla:
LOAD
CAMPO1,
CAMPO2,
FECHA
;
SQL SELECT
CAMPO1,
CAMPO2,
MAX(AÑO||MES) as FECHA
FROM archivo correspondiente de donde obtengas los datos
Where (condicion=”1” or “2”)
;
Un saludo