Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more.
Get startedGrow your Fabric skills and prepare for the DP-600 certification exam by completing the latest Microsoft Fabric challenge.
Hola
Tengo 3 tablas a partir de las cuales quiero comparar el número de estudiantes matriculados para semestres similares, es decir, el semestre equivalente al año anterior. Por ejemplo, en este día quiero calcular el número de estudiantes registrados para el semestre de verano (20242) y quiero recuperar el recuento acumulado para el mismo día del año pasado para los estudiantes registrados para (20232). Las tablas son semestres, matrícula y fechas (no se muestran).
Semestres |
semestre |
20231 |
20232 |
20233 |
20241 |
20242 |
20243 |
Registro | ||
IDENTIFICACIÓN | semestre | Fecha de inscripción |
1 | 20232 | 03/16/2023 |
2 | 20232 | 03/15/2023 |
3 | 20242 | 03/01/2024 |
4 | 20242 | 03/03/2024 |
5 | 20242 | 03/04/2024 |
Creo que mi modelo semántico no es del todo estándar, ya que mis semestres están fuera de la tabla de fechas. La razón es que los estudiantes se inscriben antes del semestre (ver fecha de inscripción). De lo contrario, el recuento acumulado tendría que caer en el intervalo fijado en la tabla de fechas. Yo mismo no estoy totalmente convencido, puedes discutir sobre eso. Los semestres están relacionados con la inscripción, y la inscripción está relacionada con las fechas. Los períodos de inscripción varían con el tiempo por muchas razones y tengo que recuperar las fechas MIN y MAX de cada semestre para obtener el recuento acumulado.
Mi objetivo es seleccionar el semestre actual (segmentación) y obtener ambos recuentos acumulativos en tarjetas (o en un gráfico de líneas. El problema es el eje X). He aquí uno de mis numerosos intentos:
VAR currentSem = SELECTEDVALUE(Semesters[semester])
VAR prevSem = currentSem - 10
RETURN
CALCULATE (
DISTINCTCOUNT( Registration[ID] ),
FILTER(Registration, Registration[semester] = prevSem )
)
Como puede ver, no estoy usando la tabla de fechas aquí, ya que la fecha de registro ya está en la tabla de registro. No se puede averiguar cómo forzar el recuento acumulado para usar la función TODAY().
La salida deseada sería:
Gracias por su ayuda. No dudes en comentar el modelo, es decir, tener los semestres fuera de la tabla de fechas.
Hola @जेएसबीओआरएनआई ,
Si desea calcular en función de la función TODAY(), puede utilizar el siguiente dax.
All =
var _today=TODAY()
var _todaysemester=
MAXX(
FILTER(ALL('Registration'),
YEAR('Registration'[registration date])=YEAR(_today)&&MONTH('Registration'[registration date])=MONTH(_today)),[semester])
var _Thissemester=
CALCULATE(DISTINCTCOUNT('Registration'[ID]),
FILTER(ALL('Registration'),
'Registration'[semester]=_todaysemester))
var _last=
MAXX(
FILTER(ALL('Registration'),
YEAR('Registration'[registration date])=YEAR(_today)-1&&MONTH('Registration'[registration date])=MONTH(_today)),[semester])
var _Lastsemester=
CALCULATE(DISTINCTCOUNT('Registration'[ID]),
FILTER(ALL('Registration'),
'Registration'[semester]=_last))
return
_Thissemester-_Lastsemester
Para la acumulación, puede utilizar las siguientes funciones:
cumulative =
SUMX(
FILTER(ALL('Registration'),
'Registration'[registration date]<=MAX('Registration'[registration date])),[All])
Saludos
Liu Yang
Si esta publicación ayuda, considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente
Alto @व-Yangliu-MSFT,
Gracias por su sugerencia. Sin embargo, no parece realizar lo que estoy buscando. Obtengo un número negativo de la resta y el recuento acumulado (SUMX en su código) recopila todos los datos.
Trataré de acotar un poco el alcance. De hecho, tengo un slicer en la página que permite la selección de semestres. El usuario puede seguir el registro en el semestre actual y en el siguiente, así como mirar hacia atrás para ver el recuento final de semestres anteriores.
Me gustaría un recuento acumulado que haga referencia al valor seleccionado de la segmentación. Digamos que las inscripciones para el otoño de 2024 están en marcha. Seleccionaría el valorador de corte 20243 y una tarjeta mostraría el recuento acumulativo a partir de hoy. La tarjeta al lado mostraría el recuento acumulado hasta el 19/03/2023 para el semestre equivalente anterior (otoño), 20233. Básicamente, es un año antes o el mismo período del año pasado, pero el recuento acumulado está condicionado por las fechas variables MIN y MAX de cada semestre. Puedo obtener el recuento acumulado:
Totalytd Registrations=
VAR CumulCount =
CALCULATE (
DISTINCTCOUNT('Registration[ID] ),
FILTER ( ALLSELECTED('Registration'), 'Registration'[date] <= MAX ( 'Registration'[date] )
) )
RETURN
IF( MAX ('Registration'[date] ) <= TODAY(), CumulCount, BLANK() )
Para el semestre anterior intenté la siguiente parte, pero no pude modificar el contexto lo suficiente como para obtener lo que quiero y el cálculo siempre muestra los mismos resultados que si la fórmula no recuperara el intervalo de fechas correcto para el semestre anterior.
VAR currentSemester = SELECTEDVALUE(Semesters[semester])
VAR previousSemester = currentSemester - 10
Espero haber ayudado a aclarar un poco las cosas. Gracias.
@jsbourni , Suponiendo que la tabla Semestres está unida a la tabla Registro
Crear una nueva columna en la tabla semestral
Rango de semestres = RANKX(todos(semestres),semestres[semestres],,ASC,denso)
Ahora crea medidas
Este semestre = CALCULATE(DISTINCTCOUNT( Registro[ID] ), FILTER(ALL(Semestres),Semestres[Semestres]=max(Semestres[Semestres]))
Últimos semestres= CALCULATE(DISTINCTCOUNT( Registro[ID] ), FILTER(ALL(Semestres),Semestres[Semestres]=max(Semestres[Semestres])-1 ))
Período de hasta. personalizado (PTD) de Power BI - https://youtu.be/rQ3Z_LtxwQM
Hola Amitchandak,
Gracias por su rápida respuesta. Desafortunadamente, no acumula las inscripciones. Esto es lo que veo (por alguna razón, las fechas no se muestran correctamente, pero son ascendentes):
Fecha | Este semestre | Último semestre | Inscripción total |
########### | 1 | 1 | |
########### | 597 | 204 | 597 |
########### | 224 | 188 | 224 |
########### | 187 | 190 | 187 |
########### | 234 | 127 | 234 |
La columna acumulativa muestra el mismo recuento que el total de registros. Gracias.
Join the community in Stockholm for expert Microsoft Fabric learning including a very exciting keynote from Arun Ulag, Corporate Vice President, Azure Data.
Ask questions in Eventhouse and KQL, Eventstream, and Reflex.