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.
Tengo una tabla de datos de estudiantes que muestra varios cambios en los registros de solicitud, incluso cuando se ha hecho una oferta. Las fechas están vinculadas a un número de día de año, y las filas se indexan para cada solicitante en función del campo de rango de solicitud.
StudentId | ApplicationRank | Número de día | Ofrecer | ÚltimoRecord |
Estudiante | 1 | 20 | 0 | FALSO |
Estudiante | 2 | 35 | 0 | FALSO |
Estudiante | 3 | 47 | 0 | FALSO |
Estudiante | 4 | 200 | 1 | FALSO |
Estudiante | 5 | 220 | 1 | FALSO |
Estudiante | 6 | 220 | 1 | VERDADERO |
Estudiante | 7 | 239 | 1 | FALSO |
EstudianteB | 1 | 200 | 0 | FALSO |
EstudianteB | 2 | 201 | 1 | VERDADERO |
EstudianteB | 3 | 300 | 1 | FALSO |
EstudianteB | 4 | 301 | 1 | FALSO |
El campo "LatestRecord" es una columna calculada de la siguiente manera, donde CurrentDayOfYearNumber devuelve el número de día basado en la fecha de hoy:
Solved! Go to Solution.
Hay @Craines
Le sugiero que cree una tabla DayNumber no relacionada por dax o parámetro what if para crear una segmentación de datos. Luego calcule el recuento distinto de la identificación del estudiante por medida.
Tabla DayNumber:
DayNumber = GENERATESERIES(1,MAX('Table'[DayNumber]))
Medir:
Distinct Count ID =
VAR _SelectDayNumber =
SELECTEDVALUE ( DayNumber[Value] )
RETURN
CALCULATE (
DISTINCTCOUNT ( 'Table'[StudentId] ),
FILTER ( ALL ( 'Table' ), 'Table'[DayNumber] <= _SelectDayNumber )
)
Saludos
Rico Zhou
Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.
Hay @Craines
Le sugiero que cree una tabla DayNumber no relacionada por dax o parámetro what if para crear una segmentación de datos. Luego calcule el recuento distinto de la identificación del estudiante por medida.
Tabla DayNumber:
DayNumber = GENERATESERIES(1,MAX('Table'[DayNumber]))
Medir:
Distinct Count ID =
VAR _SelectDayNumber =
SELECTEDVALUE ( DayNumber[Value] )
RETURN
CALCULATE (
DISTINCTCOUNT ( 'Table'[StudentId] ),
FILTER ( ALL ( 'Table' ), 'Table'[DayNumber] <= _SelectDayNumber )
)
Saludos
Rico Zhou
Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.
Esto ha funcionado perfectamente para obtener el recuento utilizando un parámetro What If y la siguiente medida:
Contar =
VAR SelectedDay = SELECTEDVALUE(DateSelect[DateSelect])
DEVOLUCIÓN
CALCULAR(
DISTINCTCOUNT(
'Tabla'[StudentId]
),
'Tabla'[Oferta] = "1",
FILTRO(
ALLSELECTED(
'Tabla'
),
'Tabla'[Número de día] <= SelectedDay
&& 'Table'[ApplicationRank] <= MAX( 'Table'[ApplicationRank]
)
)
)
pero tengo una capa adicional de complejidad que no parece resolver: he agregado las columnas OfferType a continuación para explicar esto:
StudentId | ApplicationRank | Número de día | Ofrecer | OfertaTypeA | OfertaTipoB | ÚltimoRecord |
Estudiante | 1 | 20 | 0 | 0 | 0 | FALSO |
Estudiante | 2 | 35 | 0 | 0 | 0 | FALSO |
Estudiante | 3 | 47 | 0 | 0 | 0 | FALSO |
Estudiante | 4 | 200 | 1 | 1 | 0 | FALSO |
Estudiante | 5 | 220 | 1 | 1 | 0 | FALSO |
Estudiante | 6 | 220 | 1 | 0 | 1 | VERDADERO |
Estudiante | 7 | 239 | 1 | 0 | 1 | FALSO |
EstudianteB | 1 | 200 | 0 | 0 | 0 | FALSO |
EstudianteB | 2 | 201 | 1 | 1 | 0 | VERDADERO |
EstudianteB | 3 | 300 | 1 | 1 | 0 | FALSO |
EstudianteB | 4 | 301 | 1 | 0 | 1 | FALSO |
Así que necesitaría el conteo de la siguiente manera:
DayNumber 200 – Oferta = 1; OfferTypeA = 1
DayNumber = 201 – Oferta = 2; OfferTypeA = 2
DayNumber = 220 – Oferta = 2; OfferTypeA = 1; OfferTypeB = 1
Así que por día número 301 Oferta = 2; OfferTypeB = 2
El problema en este momento es que el recuento está incluyendo a todos aquellos que alguna vez han sido un OfferTypeA, incluso si luego cambian a OfferTypeB, por lo que DayNumber 301 Offer = 2; OfferTypeA = 2; OfferTypeB = 2
¿Hay alguna manera de arreglar esto dentro de mi medida?
Muchas gracias
Hola @crains
¿Ha intentado cambiar la condición para que se base en la segmentación de datos de fecha seleccionada?
Y agregar un filtro para todos los valores a la plantilla en función del valor de fecha máximo seleccionado
Parece que no puedo hacer una columna calculada dentro de la tabla que identifique el registro que se seleccionará en función del valor de la segmentación de datos, ¿es esto posible?
@Craines Hola
No se puede crear una columna calculada que cambie dinámicamente, pero se puede crear una medida que utilice la fórmula de valor seleccionada o, en este caso, recomendaría usar Max(valor de segmentación de datos de fecha)
He intentado crear una variable dentro de mi medida:
Debería poder implementar esto con un parámetro "What-If" y ajustar su medida en consecuencia.
¿Qué sucede cuando este proceso se extiende más allá de un año? ¿O comienza antes del 1 de enero?
Hay pasos adicionales que aseguran que toda la actividad permanezca dentro de una ventana de un año, que es un año académico, por lo que se extiende a partir de octubre de cada año, por lo que esto no causaría un problema con la cortadora, debería funcionar en todos los años.
¿Puede explicar lo que quiere decir con "un parámetro "What-If" y ajustar su medida en consecuencia", por favor?
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 | |
1 | |
1 | |
1 | |
1 |
User | Count |
---|---|
2 | |
2 | |
2 | |
2 | |
1 |