Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hola! Estoy en mis primeros meses de aprendizaje de qlik y me surge una duda a la hora de hacer un informe.
La idea es crear una tabla que muestre el precio a pagar por cada uno de los socios de un gimnasio.
El precio a pagar varía en función del producto contratado, pero todos los productos tienen una estructura común: Precio base, Descuento por forma de pago, Recargo por edad
Cada uno de estos conceptos del desglose tiene una fecha desde y una fecha hasta, de forma que periódicamente los precios, descuentos y recargos varían, pero el informe nos podría mostrar el precio pagado por un socio a una fecha dada.
Con todo esto mi idea es tener las siguientes tablas:
- Socios: IDSocio, IDProductoContratado, Edad, Forma de pago
- Productos: IDProductoContratado, IDPrecio, IDRecargo, IDDescuento
- Precio: IDPrecio, Precio, Fecha Desde, Fecha Hasta
- Recargo: IDRecargo, Recargo, Fecha Desde, Fecha Hasta
- Descuento: IDDescuento, Descuento, Fecha Desde, Fecha Hasta
*Nota: Ahora mismo los precios, recargos y descuentos tienen una vigencia de 1 año, es decir, sus fechas de alta serán siempre 1 de Enero y la de baja 31 de diciembre, pero esto podría cambiar en un futuro.
A la hora de crear el informe con la tabla y el filtro de calendario me surgen varias dudas:
- ¿Como cargo los datos para evitar relaciones con fechas incompatibles? Es decir, si mi socio número 1 es alta desde 2021, la idea es mostrar 3 líneas para ese socio:
Cualquier otra combinación de precios, recargos y descuentos sería inutil y solo ralentizaría la carga, así que debería evitarse
- ¿Como creo un calendario que me permita seleccionar 1 día concreto y me muestre los precios a pagar por cada socio en ese dia? Tengo claro como crear una link table y una calendar que me permita hacer filtros de fecha seleccionando el tipo de fecha por el que deseo filtrar, pero desconozco como hacer un calendario que me filtre por los 3 conceptos al mismo tiempo y mas aun teniendo en cuenta que los conceptos tienen rangos de fecha.
Perdón por el tocho, pero creía conveniente explicar detalladamente el problema.
Espero que alguien me pueda ayudar.
Un saludo!
Hola, usando set analysis puede obtener el valor de un rango con algo como:
Sum({<[Fecha Desde]={"<=$(=Max(Fecha))}, [Fecha Hasta]={">=$(=Max(Fecha))}>} Precio)+ Sum(...Recargo)-Sum(...Descuento)
Para un rango de fechas se puede complicar y sería mejor trabajar el script para dividir cada rango en días, meses, trimestres... ya depende de lo que quieras calcular, formas de pago, tipo de análisis... puede haber varias variables sobre como prepararlo.
Saludos.