Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
Hola
Estoy tratando de calcular el porcentaje de nuevos bookers vs bookers de repetición.
Nuestra fecha de conducción variable es la "Primera fecha de pago". Por lo tanto, necesito que el cálculo se ajuste a medida que cambia el primer intervalo de fechas de pago.
La forma en que sabemos que un huésped ha viajado antes se basa en su fecha de finalización.
La pregunta que quiero responder es, para todos los primeros pagos recibidos entre X / XX / XXXX - X / XX / XXXX, ¿cuántos clientes ya habían completado AL MENOS un viaje?
Usando esta pequeña muestra, si el Primer rango de fechas de pago fuera 9/1/2017 - 9/1/2019, solo las filas en azul serían elegibles, y mi respuesta sería 1. Id. de cliente 98076 HIZO una reserva en mi rango consultado y completó 2 ya.
Así que supongo que necesito un DISTINCTCOUNT de identificadores de cliente que, en un intervalo de fechas de primer pago dado, tienen fechas de finalización en otras filas que son anteriores a las fechas en el intervalo de fecha de primer pago.
Identificador de cliente | fecha final | Código de viaje | estado | Fecha del primer pago |
12345 | 1/1/2017 | XA908 | completado | 3/17/2016 |
12345 | 2/18/2021 | BA807 | completado | 7/1/2020 |
12345 | 5/11/2023 | XA908 | Reservados | 6/1/2021 |
12345 | 4/1/2015 | SA306 | completado | 3/1/2014 |
98076 | 6/10/2018 | FA432 | completado | 9/23/2017 |
98076 | 4/3/2019 | BA999 | completado | 7/17/2018 |
98076 | 4/3/2020 | BA346 | completado | 6/7/2019 |
4356 | 2/20/2020 | SA456 | completado | 8/3/2019 |
Solved! Go to Solution.
Allí, @apmulhearn
Primero crear una tabla de calendario
Calendar =
var _min=MIN('Table'[First Payment Date])
var _max=MAX('Table'[First Payment Date])
return
CALENDAR(_min,_max)
a continuación, cree dos medidas.
_isResult =
var _payInRange=MAX('Table'[First Payment Date])in DATESBETWEEN('Calendar'[Date],MIN('Calendar'[Date]),MAX('Calendar'[Date]))
var _endInRange=MAX('Table'[End Date])in DATESBETWEEN('Calendar'[Date],MIN('Calendar'[Date]),MAX('Calendar'[Date]))
var _if=IF(_payInRange&&_endInRange,1,0)
return
_if
_distinctcountID =
CALCULATE (
DISTINCTCOUNT ( 'Table'[ClientID] ),
FILTER ( ALL ( 'Table' ), [_isResult] = 1 )
)
así que podemos mostrarlo con una tarjeta visual.
resultado:
Consulte el archivo adjunto a continuación para obtener más detalles
Espero que esto ayude.
Saludos
Equipo de apoyo a la comunidad _ Zeon Zheng
Si este post ayuda,entonces por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Allí, @apmulhearn
Primero crear una tabla de calendario
Calendar =
var _min=MIN('Table'[First Payment Date])
var _max=MAX('Table'[First Payment Date])
return
CALENDAR(_min,_max)
a continuación, cree dos medidas.
_isResult =
var _payInRange=MAX('Table'[First Payment Date])in DATESBETWEEN('Calendar'[Date],MIN('Calendar'[Date]),MAX('Calendar'[Date]))
var _endInRange=MAX('Table'[End Date])in DATESBETWEEN('Calendar'[Date],MIN('Calendar'[Date]),MAX('Calendar'[Date]))
var _if=IF(_payInRange&&_endInRange,1,0)
return
_if
_distinctcountID =
CALCULATE (
DISTINCTCOUNT ( 'Table'[ClientID] ),
FILTER ( ALL ( 'Table' ), [_isResult] = 1 )
)
así que podemos mostrarlo con una tarjeta visual.
resultado:
Consulte el archivo adjunto a continuación para obtener más detalles
Espero que esto ayude.
Saludos
Equipo de apoyo a la comunidad _ Zeon Zheng
Si este post ayuda,entonces por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
2 | |
2 | |
2 | |
2 | |
1 |