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 un conjunto de datos que contiene el rendimiento de los jugadores durante el último año, que se ve como a continuación. En este deporte, supongamos que hay 3 tipos de partidos, por lo que el "Tipo" indica de qué tipo se trata. He tomado X, Y y Z como 3 tipos diferentes.
Player,Team,Matches,Points,Type
Player A,Australia,25,500,X
Player B,Sri Lanka,23,433,X
Player C,India,24,535,X
Player D,Australia,22,233,X
Player E,England,26,635,X
Player F,Sri Lanka,27,344,X
Player A,Australia,12,150,Y
Player B,Sri Lanka,9,233,Y
Player C,India,11,144,Y
Player D,Australia,8,178,Y
Player E,England,7,201,Y
Player F,Sri Lanka,13,211,Y
Player A,Australia,15,225,Z
Player B,Sri Lanka,18,200,Z
Player C,India,9,136,Z
Player D,Australia,14,253,Z
Player E,England,16,233,Z
Player F,Sri Lanka,18,198,Z
A continuación, tengo un calendario para el próximo año para cada equipo que muestra el número de partidos que los equipos jugarán en cada tipo de partidos.
Team,X,Y,Z
Australia,25,9,15
England,29,10,18
India,31,13,19
Sri Lanka,27,11,20
Ahora puedo calcular un promedio de puntos / partidos para cada jugador para cada tipo de partido, para el año lats. Por lo tanto, la tabla powerbi calculada se vería así:
Ahora, quiero calcular o predecir cuántos puntos anotará cada jugador el próximo año en cada tipo de matemáticas. Esencialmente, tome los puntos / partido para cualquier jugador durante el último año, y luego multiplique eso por el número de partidos el próximo año para el equipo de ese jugador (suponiendo que el jugador jugará todos los partidos para ese equipo).
Por ejemplo, tomemos [ Jugador F ] para [ Tipo Z ].
El año pasado, el Jugador F anotó 11.00 puntos por partido en el Tipo Z.
El equipo del jugador F es Sri Lanka.
El próximo año, Sri Lanka jugará 20 partidos de Tipo Z.
Por lo tanto, podemos predecir que el Jugador F anotará 11 x 20 = 220 puntos en los partidos de Tipo Z el próximo año.
¿Cómo puedo generar esto como una tabla o matriz, mostrando el rendimiento previsto de cada jugador para el próximo año en cada tipo de partidos?
Solved! Go to Solution.
@Sach Sí, tendrás errores de sintaxis cuando lo alas, había una coma ofensiva. Probar:
Measure Total Points =
VAR __Player = MAX('Table'[Player])
VAR __Team = MAX('Table'[Team])
VAR __Table =
ADDCOLUMNS(
ADDCOLUMNS(
SUMMARIZE('Table',[Type]),
"__Team",__Team,
"__PPM",[Points/Match]),
"__FutureGames", MAXX(FILTER('MatchesTableNextYear',[Team]=__Team && [Attribute]=[Type]),[Value])
),
"__Points",[__PPM] * [__FutureGames]
)
RETURN
SUMX(__Table,[__Points])
Es esa última coma justo encima de la primera línea bajo la que obtienes la línea roja.
@Sach ¿Suponiendo que tienes eso como una visualización de tabla? Primero, deberá despivot sus columnas de tipo (X, Y y Z) en su futura tabla de coincidencias y luego tal vez una medida como:
Measure Total Points =
VAR __Team = MAX('Table'[Team])
VAR __Type = MAX('Table'[Type])
VAR __PointsPerMatch = [Points/Match] //assumes a measure
VAR __TotalMatches = MAXX(FILTER('MatchesTableNextYear',[Team]=__Team && [Attribute]=__Type),[Value])
RETURN
__PointsPerMatch * __TotalMatches
Greg, gracias por la respuesta.
Esto parece funcionar si luego muestro esto en una tabla con 'Tipo' como columna:
Los valores calculados están bien.
Sin embargo, si tomo la columna 'Tipo' (en última instancia, quiero saber el total de puntos predichos de cada jugador), entonces la suma parece darme un valor incorrecto:
Por ejemplo, el total de PlayerA debe ser 500 + 112.5 + 225 = 837.50.
El valor resultante, 252.40, ni siquiera parece ser el promedio (que debería ser 837.5 / 3 = 279.16), así que pregúntese qué está sucediendo aquí.
@Sach Entonces, ¿qué pasa con esto?
Measure Total Points =
VAR __Player = MAX('Table'[Player])
VAR __Team = MAX('Table'[Team])
VAR __Table =
ADDCOLUMNS(
ADDCOLUMNS(
SUMMARIZE('Table',[Type]),
"__Team",__Team,
"__PPM",[Points/Match]),
"__FutureGames", MAXX(FILTER('MatchesTableNextYear',[Team]=__Team && [Attribute]=[Type]),[Value]),
),
"__Points",[__PPM] * [__FutureGames]
)
RETURN
SUMX(__Table,[__Points])
Esta no parece ser una fórmula válida, comenzando en la Línea 11.
@Sach Sí, tendrás errores de sintaxis cuando lo alas, había una coma ofensiva. Probar:
Measure Total Points =
VAR __Player = MAX('Table'[Player])
VAR __Team = MAX('Table'[Team])
VAR __Table =
ADDCOLUMNS(
ADDCOLUMNS(
SUMMARIZE('Table',[Type]),
"__Team",__Team,
"__PPM",[Points/Match]),
"__FutureGames", MAXX(FILTER('MatchesTableNextYear',[Team]=__Team && [Attribute]=[Type]),[Value])
),
"__Points",[__PPM] * [__FutureGames]
)
RETURN
SUMX(__Table,[__Points])
Es esa última coma justo encima de la primera línea bajo la que obtienes la línea roja.
Funcionó perfecto, gracias!
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 | |
1 | |
1 |