Anónimo
Los datos sin procesar son una combinación de 3 dimensiones (Usuario, Calendario, que son fechas con un inicio de semana calculado y Tipo de examen) y 1 tabla de hechos con la información de puntuación.
Datos sin procesar: | ||||
Usuario | Fecha | Semana de | Examen | Puntaje |
Tim | 2/1/2019 | 31/12/2018 | Base | 75 |
ellie | 3/1/2019 | 31/12/2018 | Base | 90 |
Jon | 2/1/2019 | 31/12/2018 | Base | 88 |
ellie | 10/01/2019 | 7/1/2019 | Actualizar | 91 |
Tim | 10/01/2019 | 7/1/2019 | Actualizar | 90 |
ellie | 21/01/2019 | 21/01/2019 | Actualizar | 95 |
Sofía | 21/01/2019 | 21/01/2019 | Base | 63 |
Sofía | 29/01/2019 | 28/01/2019 | Actualizar | 77 |
A continuación se muestra lo que espero en un conjunto de resultados de la fórmula DAX, el promedio de puntuación puede ser una medida creada más tarde… Busco puntuaciones y usuarios por semana. Cada usuario tomará un Tipo de examen «Base» y obtendrá un puntaje, después de obtener su puntaje inicial, puede actualizarlo tomando un Tipo de examen «Actualizar» y cambiando su puntaje. Me importa el tipo de examen más reciente para cada usuario dentro del contexto de la semana.
Conjunto de resultados DAX previsto: | |||
Semana de | Puntuaciones (numerador) | Usuarios (denominador) | Puntuación media |
31/12/2018 | 253 | 3 | 84.33333333 |
7/1/2019 | 269 | 3 | 89.66666667 |
14/01/2019 | 269 | 3 | 89.66666667 |
21/01/2019 | 336 | 4 | 84 |
28/01/2019 | 350 | 4 | 87.5 |
Descripción de lo que nos muestra el conjunto de resultados:
Semana de | Descripcion de actividad |
31/12/2018 | Tim, Ellie, Jon toman el examen de referencia (sumamos sus puntajes y los dividimos entre los 3 usuarios para obtener el promedio) |
7/1/2019 | Tim y Ellie toman el examen de actualización y cambian la puntuación desde la línea de base (sumamos la actualización de Tim/Ellies y la línea de base de Jons, dividimos por 3) |
14/01/2019 | sin actividad, igual que la semana anterior |
21/01/2019 | Ellie realiza el examen de actualización y cambia las puntuaciones, Sophia realiza el examen de referencia, aumenta el número de usuarios (tomamos la última puntuación del examen de actualización de Ellie, la puntuación de actualización de Tims, las puntuaciones del examen de referencia de Jon y Sophia porque no tienen una actualización disponible) |
28/01/2019 | Sophia realiza el examen de actualización y cambia la puntuación, el número de usuarios se mantiene |
Cualquier ayuda es muy apreciada, ¡esto ha sido un rompe-cerebros para mí por un tiempo!
smpa01
@Anónimo Creo que tengo lo que puede necesitar.
Tuve éxito al alimentar su lógica para generar una medida que hace que el número apropiado de filas (todas las filas con WeekOf <= contexto de filtro actual WeekOf date) sea visible para el contexto de filtro actual (WeekOf) para el cálculo
Numerator := VAR _1 = MAX ( 'Table'[WeekOf] ) VAR _3 = SUMMARIZE ( FILTER ( ALL ( 'Table' ), 'Table'[WeekOf] <= _1 ), [User], "X", MAX ( [WeekOf] ), "Y", MAX ( [Score] ) ) VAR _5 = SUMX ( _3, [Y] ) RETURN _5 Denominator := VAR _1 = MAX ( 'Table'[WeekOf] ) VAR _3 = SUMMARIZE ( FILTER ( ALL ( 'Table' ), 'Table'[WeekOf] <= _1 ), [User], "X", MAX ( [WeekOf] ), "Y", MAX ( [Score] ) ) VAR _5 = COUNTX( _3, [Y] ) RETURN _5
gilbertq
hola @anonimo
Encuentre el PBIX.
Según sus datos de origen, he creado los resultados DAX previstos.
Lo que hice fue crear las 3 medidas como se detalla en el PBIX.
Luego usé la columna llamada WeekOf para que mostrara los valores por semana.
Si hay alguna pregunta adicional, por favor hágamelo saber.