The ultimate Microsoft Fabric, Power BI, Azure AI, and SQL learning event: Join us in Stockholm, September 24-27, 2024.
Save €200 with code MSCUST on top of early bird pricing!
Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started
Hola a todos,
Todavía soy bastante nuevo y tengo un desafío que no he podido superar. Mi tabla de 'inscripciones' se ve así:
Estoy buscando una medida (o cualquier otra opción) que calcule el número total de meses que cada student_id único se consideró "activo".
Para student_id 101, debería ser 1 ya que solo estaban activos en enero de 2000.
Para student_id 202, debería ser 4 ya que estuvieron activos en enero y febrero de 2000, más enero y febrero de 2001. No puedo usar las funciones MIN y MAX porque eso contaría todos los meses entre enero de 2000 y febrero de 2001, lo que sería incorrecto. El estudiante no estuvo activo entre marzo de 2000 y diciembre de 2000.
Para student_id 303, debería ser 15. El estudiante estuvo activo consecutivamente desde enero de 2000 hasta enero de 2001, más abril y mayo de 2001. Una vez más, no puedo usar las funciones MIN y MAX aquí debido a la brecha entre las inscripciones, y tampoco quiero "contar dos veces" de marzo de 2000 a enero de 2000, que se contabilizan tanto en 4 como en 5 de enrollment_id.
Cualquier ayuda sería muy apreciada.
Esto es lo que recomendaría (PBIX adjunto):
Active Student-Months =
SUMX (
VALUES ( enrollment[student_id] ),
VAR EnrollmentDates =
CALCULATETABLE (
GENERATE (
enrollment,
DATESBETWEEN ( 'Date'[Date], enrollment[start_month], enrollment[drop_month] )
)
)
RETURN
CALCULATE (
DISTINCTCOUNT ( 'Date'[Start of Month] ),
EnrollmentDates
)
)
Este artículo puede ser de interés sobre un tema relacionado:
https://www.daxpatterns.com/events-in-progress/
Saludos
Join the community in Stockholm for expert Microsoft Fabric learning including a very exciting keynote from Arun Ulag, Corporate Vice President, Azure Data.
Check out the August 2024 Power BI update to learn about new features.