Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Buenos días,
Tenemos una base de datos que se va alimentando grabando cada minuto datos de un plc de una máquina.
Esa tabla de la bd la puedo cargar sin problemas en una tabla en Qlik Sense.
Mi pregunta es, si es posible en una tabla, que solo muestre la última fila grabada cada uno de los días.
Entiendo que en la columna fecha que introduzco, tendría que crear una "Medida" en "Elementos maestros" y ahí definir esa media que obtenga la última fecha de cada día.
Un saludo y gracias.
Para que se entienda mejor la pregunta, tengo una tabla que me refleja estos datos (es una parte de los datos)
FECHA | M3 DEPÓSITO 1 | M3 DEPÓSITO 2 | TOTAL M3 1+2 |
12/04/2018 13:33 | 0,0 | 0,0 | 0,0 |
12/04/2018 13:33 | 0,0 | 0,0 | 0,0 |
12/04/2018 13:33 | 0,0 | 0,0 | 0,0 |
12/04/2018 13:34 | 0,0 | 0,0 | 0,0 |
12/04/2018 13:39 | 0,0 | 0,0 | 0,0 |
12/04/2018 13:44 | 0,0 | 0,0 | 0,0 |
12/04/2018 13:49 | 0,0 | 0,0 | 0,0 |
12/04/2018 13:54 | 0,0 | 0,0 | 0,0 |
12/04/2018 13:59 | 0,0 | 0,0 | 0,0 |
12/04/2018 14:04 | 0,0 | 0,0 | 0,0 |
12/04/2018 14:09 | 0,0 | 0,0 | 0,0 |
12/04/2018 14:14 | 0,0 | 0,0 | 0,0 |
12/04/2018 14:19 | 0,0 | 0,0 | 0,0 |
12/04/2018 14:24 | 0,0 | 0,0 | 0,0 |
12/04/2018 14:29 | 0,0 | 0,0 | 0,0 |
12/04/2018 14:34 | 0,0 | 0,0 | 0,0 |
12/04/2018 14:39 | 0,0 | 0,0 | 0,0 |
12/04/2018 14:44 | 0,0 | 0,0 | 0,0 |
12/04/2018 14:49 | 0,0 | 0,0 | 0,0 |
12/04/2018 14:54 | 0,0 | 0,0 | 0,0 |
12/04/2018 14:59 | 0,0 | 0,0 | 0,0 |
12/04/2018 15:04 | 0,0 | 0,0 | 0,0 |
12/04/2018 15:09 | 0,0 | 0,0 | 0,0 |
El problema es que yo lo que quiero es que me saque solo la última fila de cada día, es decir, algo así
FECHA | M3 DEPÓSITO 1 | M3 DEPÓSITO 2 | TOTAL M3 1+2 |
12/04/2018 23:33 | 0,0 | 0,0 | 0,0 |
11/04/2018 23:33 | 0,0 | 0,0 | 0,0 |
10/04/2018 23:33 | 0,0 | 0,0 | 0,0 |
09/04/2018 23:34 | 0,0 | 0,0 | 0,0 |
08/04/2018 23:39 | 0,0 | 0,0 | 0,0 |
07/04/2018 23:44 | 0,0 | 0,0 | 0,0 |
06/04/2018 23:49 | 0,0 | 0,0 | 0,0 |
Hola Esteban, podrías hacer cargar en una tabla auxiliar la fecha más alta de cada día y hacer un Inner Join para quedarte solo con esos registros, para esto se podría crear al cargar la primera tabla un campo solo con la fecha (sin hora):
Floor(FECHA) as SoloFecha
Y agrupando con ese campo puedes obtener la hora más alta para cada fecha
Inner Join (NombreTablaDatos)
LOAD SoloFecha
MAX(FECHA) as FECHA
Resident NombreTablaDatos
Group by SoloFecha
;
Hola:
Necesitas asegurarte que en la carga de datos has creado una dimensión que contiene la Fecha-Hora en formato correcto y una que contiene la fecha por separado (sin la información de la hora). Con esto tu formula para la dimensión sería:
aggr(timestamp(max(FechaHora)), Fecha)
Estos son los datos que he utilizado:
Esta la formula con el resultado:
Activa no visualizar nulos.
Hola Julio, creo que tu respuesta sería la que me podría ayudar, pero el problema es como defino esa dimensión que comentas.
En en la creación de las dimensiones del calendario que tengo, se queda así:
[Formato]:
DECLARE FIELD DEFINITION Tagged ('$date')
FIELDS
Dual(Year($1), YearStart($1)) AS [Año] Tagged ('$axis', '$year'),
Month($1) AS [Mes] Tagged ('$month'),
Dual(Year($1)&'-'&Month($1), monthstart($1)) AS [Año Mes] Tagged ('$axis', '$yearmonth'),
Dual('W'&Num(Week($1),00), Num(Week($1),00)) AS [Semana] Tagged ('$weeknumber'),
Date(Floor($1)) AS [Fecha] Tagged ('$date');
DERIVE FIELDS FROM FIELDS [Tiempo_Depositos] USING [Formato] ;
Supongo que será sacando algo como esto
Dual(Year($1)&'-'&Month($1), monthstart($1)) AS [Año Mes] Tagged ('$axis', '$yearmonth'),
pero con el día también.
Ahora, como meter el día también, no lo consigo.
Ok, a ver si te sirvo de ayuda que yo estoy empezando.
La dimensión Fecha que tienes definida te debería de servir porque no está incluida la hora al haberle aplicado la función Floor.
Por otro lado entiendo que en [Tiempo_Depositos] estás cargando datos de tipo "06/04/2018 23:49" prueba a usar alguna función de fecha para ver si te está reconociendo ese campo como fecha xej.
timestamp#([Tiempo_Depositos]).
Si esto es correcto la formula de la dimensión sería:
aggr(timestamp(max(Tiempo_Depositos)), Fecha)