Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Grow your Fabric skills and prepare for the DP-600 certification exam by completing the latest Microsoft Fabric challenge.

Reply
Syndicate_Admin
Administrator
Administrator

Total acumulado en el período personalizado anterior

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ÓNsemestreFecha de inscripción
12023203/16/2023
22023203/15/2023
32024203/01/2024
42024203/03/2024
52024203/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:

  • Recuento acumulado a día de hoy para 20242 = 3
  • Cómputo acumulado a la misma fecha del año pasado para el semestre 20232 = 2

Gracias por su ayuda. No dudes en comentar el modelo, es decir, tener los semestres fuera de la tabla de fechas.

4 REPLIES 4
Syndicate_Admin
Administrator
Administrator

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.

Syndicate_Admin
Administrator
Administrator

@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):

FechaEste semestreÚltimo semestreInscripción total
###########1 1
###########597204597
###########224188224
###########187190187
###########234127234

La columna acumulativa muestra el mismo recuento que el total de registros. Gracias.

Helpful resources

Announcements
Europe Fabric Conference

Europe’s largest Microsoft Fabric Community Conference

Join the community in Stockholm for expert Microsoft Fabric learning including a very exciting keynote from Arun Ulag, Corporate Vice President, Azure Data.

RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

Ask questions in Eventhouse and KQL, Eventstream, and Reflex.

MayPowerBICarousel1

Power BI Monthly Update - May 2024

Check out the May 2024 Power BI update to learn about new features.

Top Solution Authors