Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hola,
voy a explicar un problema que me persigue desde hace tiempo que creí haber solucionado pero no.
A ver si alguien sabe cómo resolverlo.
Tengo FechaYhora cada 5 minutos y un dato por cada una.( Tabla Excel )
El problema es que a veces no existe FechaYhora, con lo que tampoco hay dato.
Se pueden ver los datos que faltan entre los días 3 y 8 y los días 14 y 25, necesito que se muestre un 0 en cada dato asociado a una fecha que no existe. ( Que se vea la curva como baja a 0 y vuelve a subir cuando es mayor )
He intentado crear un calendario maestro y asociarlo a FechaYhora pero sigue sin mostrar los datos cuando no existe la FechaYhora.
También he marcado la opción "Mostrar Todos los Valores" y sí que se muestran los ceros en la gráfica pero no reacciona a los filtros de fecha que tengo, es decir, que muestra todas las fechas.
Ya no sé por donde tirar.
Alguna idea?
Gracias.
Un saludo.
Ya he tenido una situacion similar, el tema es que para que QV sepa que no hay datos, debes dejarlo saber, es decir, en esta fecha y hora no hay datos.
Hola chicos ....
No funciona porque al generar un calendario calendario con todas las fechas horas y minutos al marcar 'Mostrar todos los valores' en la dimensión omite los valores seleccionados sobre el campo la dimensión
Por otra parte si se generan datos con valor 0 ... se han de generar sobre todas las combinaciones de valores seleccionables para que funcione independientemente de la selección realizada.
Saludos
Joaquín
He creado un calendario para cada 15 minutos y creo que es lo que buscas.
Si deseas poder seleccionar por la fecha sin intervalos, deja el trozo del calendario de este modo:
y selecciona por el campo FechaSelec.
Hola Miguel, según tu ejemplo funciona, pero lo intento aplicar a mi modelo y me da error de expresión en la recarga.
Yo leo desde la base de datos:
DATOS:
LOAD *,
date(num + hora, 'dd/MM/yyyy h:mm:ss') as Fecha;
LOAD
FECHADatos,
Date(FECHADatos)&' - '&Time(FECHADatos) as IntervaloOrac,
Year(FECHADatos) as AÑOOrac,
Month(FECHADatos) as NomMesOrac,
Day(FECHADatos) as DiaOrac,
Hour(FECHADatos) as HoraOrac,
Minute(FECHADatos) as MinutosOrac,
num(left((Date(FECHADatos)&' - '&Time(FECHADatos)),10)) as num,
num(Trim(Right(Date(FECHADatos)&' - '&Time(FECHADatos), len(Date(FECHADatos)&' - '&Time(FECHADatos)) - Index(Date(FECHADatos)&' - '&Time(FECHADatos),'-')))) as hora
FROM
[..\..\QVD\DATOS.qvd]
(qvd)
WHERE Month(FECHADatos)='ago' and Year(FECHADatos)='2014';
let mindate = num(Peek('Fecha', 0, 'DATOS'));
LET maxdate = num(Peek('Fecha', -1, 'DATOS'));
set tramo = num(Interval#('0:15:00'));
Calendar:
LOAD Date($(mindate) + Tramos) as Fecha,
Tramos,
FechaText,
DateID;
LOAD
Date(($(mindate) + num($(tramo))*IterNo()), '$(DateFormat)') as FechaText,
IterNo() as DateID,
num($(tramo))*IterNo() as Tramos
AUTOGENERATE 1
WHILE num($(mindate))+ num($(tramo))*IterNo()<= num($(maxdate))
;
LET mindate =;
LET maxdate =;
FECHADatos es la fecha y hora en formato numérico y la transformo a FechaYhora uniéndolas.
¿Cual es el problema?
Gracias.
Un saludo.
Sí, me ha pasado a mi también en función de como vienen los datos.
Parece que se lía un poco con los paréntesis en las variables.
Prueba a quitar el num() de la variable tramo
En lugar de
set tramo = num(Interval#('0:15:00'));
pon
set tramo = Interval#('0:15:00');
de este modo evitamos el num(num( que aparece en el error.
Sigue sin funcionarme!
He conseguido que recargue añadiendo floor() y ceil() pero al representar la misma gráfica que has puesto tu no muestra los valores cuando no hay fecha, sigue igual que antes.
let mindate = floor(num(Peek('FECHADatos', 0, 'DATOS')));
LET maxdate = ceil(num(Peek('FECHADatos', -1, 'DATOS')));
Ya no entiendo qué puedo estar haciendo mal.
No se qué se me está escapando.
Gracias.
Un saludo.
Si te parece bien y puedes, cuelga la aplicación para que pueda echar un ojo.