Skip to main content
Announcements
Qlik Connect 2025: 3 days of full immersion in data, analytics, and AI. May 13-15 | Orlando, FL: Learn More
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

excluir fechas

Buenas tardes,

Quisiera saber como puedo excluir un listado de fechas independientemente de la seleccion que realice.

Mi BBDD muestra todos los dias  que contengan valores, y he generado un excel con los dias festivos, que no debe mostrarme aunque seleccione el mes completo, por ejemplo que no muestre el día 19 de Marzo si le he indicado que es festivo, aunque la seleccion sea 2015 Marzo.

Lo que he hecho es un excel con los festivos y cargarlo en una tabla llamada festivos, necesito ayuda para realizar la segunda parte, esto es, como indicarle de alguna manera que excluya esos días.

Gracias por adelantado!

9 Replies
Miguel_Angel_Baeyens

Hola Ander,

La forma más fácil es efectivamente creando una tabla de calendario de festivos, o incluso mejor, crear un nuevo campo con un valor 1 o 0 (festivo o no festivo) en cada línea del calendario maestro de forma que la línea correspondiente al 19/03/2015 tenga ese valor a 1, y por tanto puedas excluirlo en cualquier expresón de la forma:

Sum({< Festivo -= {1} >} Ventas) // agregado de Ventas de todos los días excepto los festivos

Miguel

Not applicable
Author

Gracias por tu respuesta Miguel Angel, lo que me gustaria saber también es como puedo definir los sabados y domingos como fines de semana y excluirlos siempre, no en una expresion, sino que no cuenten, ya que esos datos no se tendran en cuenta en mi escenario.

muchas gracias

Miguel_Angel_Baeyens

Digamos que tienes un campo fecha, a partir del cual puedes obtener si es festivo o no, por dia de la semana (funcion WeekDay()), podrías hacer algo como

LOAD *

FROM Hechos.qvd (qvd)

WHERE Match(WeekDay(CampoFecha), 0, 6) = 0; // cuando el día no sea sabado ni domingo

De esta forma todos los hechos relacionados con esa fecha ni siquiera se cargarán en el modelo.

Miguel

Not applicable
Author

Perdona mi torpeza Miguel Angel pero he introducidoCaptura.JPG la formula que has dicho:

"WHERE Match(WeekDay(CampoFecha), 0, 6) = 0;"   al final del script y no me la detecta

Miguel_Angel_Baeyens

Juan,

Elimina el ";" tras "FINAL$);"

Miguel

Not applicable
Author

Muchas gracias Miguel Angel. El script se carga correctamente, el problema es que siguen apareciendo los festivos, hay que introducir alguna modificación más en el script o meter alguna expresión adicional?

Saludos

Miguel_Angel_Baeyens

Por festivos te refieres a sábados y domingos o al calendario de festivos laborales (1 de enero, 6 de enero, 12 de octubre, 25 diciembre, etc.)? Si este es el caso, hay que utilizar una función distinta, NetWorkDays() donde se le puede pasar como parámetro la lista de fechas que son festivas, aparte de sábados y domingos.

Miguel

Not applicable
Author

Gracias por la rapidez en la respuesta:

-Estoy interesado en eliminar sólo los Sabados y Domingos

-Hasta ahora aplicando la fórmula Networkdays me filtra perfectamente los sábados y domingos pero no festivos adicionales.En caso de querer filtrar dichos días habría que añadir una lista adicional con los festivos como has comentado anteriormente, verdad?

Saludos

Miguel_Angel_Baeyens

Es correcto. Por facilitar las cosas y en lugar de usar la función NetWorkDays() como antes comenté otra opción es que marques dichos festivos con un campo a 1 o 0 dependiendo de si es o no festivo, de forma que muy rápidamente, una expresión del tipo

Sum({< Es_Festivo = {0} >} Ventas)

Te devuelva la suma de ventas de los días no festivos.