This is best Fabric, Power BI, SQL and AI community event. How do we know? The last event sold out! Save €200 with code FABCMTY200.
Register nowA new Data Days event is coming soon! This time we’re going bigger than ever. Fabric, Power BI, SQL, AI and more. Don't miss out.
Hola
| Rodar | Ciencia | Física | Biología | Matemáticas |
| 1 | 12 | 14 | 11 | 23 |
| 2 | 13 | 15 | 12 | 16 |
| 3 | 14 | 16 | 13 | nulo |
| 4 | 15 | nulo | 14 | 17 |
| 5 | nulo | 17 | nulo | 17 |
Quiero calcular el promedio a través de las columnas (para cada estudiante / rollno)
Pero la advertencia es: si hay un espacio en blanco, entonces eso no va en el promedio.
Por ejemplo, para el rollo nº 1 sería 12+14+11+23/4
para Roll 5 sería 17+17/2
Para el rollo 4 sería 15+14+17/3
¿Cómo puedo hacer esto en dax?
Solved! Go to Solution.
No @klehar
Pruebe este código para crear una columna calculada.
Avg =
VAR _T =
ADDCOLUMNS (
'Table',
"C_S", IF ( 'Table'[Science] <> BLANK (), 1, 0 ),
"C_P", IF ( 'Table'[Physics] <> BLANK (), 1, 0 ),
"C_B", IF ( 'Table'[Biology] <> BLANK (), 1, 0 ),
"C_M", IF ( 'Table'[Maths] <> BLANK (), 1, 0 )
)
VAR _Sum = 'Table'[Science] + 'Table'[Physics] + 'Table'[Biology] + 'Table'[Maths]
VAR _Count =
SUMX (
FILTER ( _T, [Roll] = EARLIER ( 'Table'[Roll] ) ),
[C_S] + [C_P] + [C_B] + [C_M]
)
VAR _Avg =
DIVIDE ( _Sum, _Count )
RETURN
_Avg
El resultado es el siguiente.
Saludos
Rico Zhou
Si esta publicación ayuda, entonces por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Hola @klehar
En Power Query, primero realice la despivoting de la tabla
Una vez hecho esto, utilice el DAX,
Salida:-
Déjame saber si su trabajo para ti y dando la salida correcta.
Hola Nidhi,
Quiero que la solución sea puramente DAX
La razón es: en los datos reales, todos mis sujetos son campos calculados derivados en el propio DAX
No @klehar
Pruebe este código para crear una columna calculada.
Avg =
VAR _T =
ADDCOLUMNS (
'Table',
"C_S", IF ( 'Table'[Science] <> BLANK (), 1, 0 ),
"C_P", IF ( 'Table'[Physics] <> BLANK (), 1, 0 ),
"C_B", IF ( 'Table'[Biology] <> BLANK (), 1, 0 ),
"C_M", IF ( 'Table'[Maths] <> BLANK (), 1, 0 )
)
VAR _Sum = 'Table'[Science] + 'Table'[Physics] + 'Table'[Biology] + 'Table'[Maths]
VAR _Count =
SUMX (
FILTER ( _T, [Roll] = EARLIER ( 'Table'[Roll] ) ),
[C_S] + [C_P] + [C_B] + [C_M]
)
VAR _Avg =
DIVIDE ( _Sum, _Count )
RETURN
_Avg
El resultado es el siguiente.
Saludos
Rico Zhou
Si esta publicación ayuda, entonces por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Tengo un problema similar, sin embargo, parece haber un error en la función anterior.
Mis datos:
Hola
En el Editor de consultas, debe seleccionar las primeras 2 columnas, hacer clic derecho y seleccionar "Despivotar otras columnas". A partir de entonces, una medida promedio simple debería funcionar
Promedio = promedio(Datos[Valor])
Hoep esto ayuda.
Check out the May 2026 Power BI update to learn about new features.
Sign up to receive a private message when registration opens and key events begin.
If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.