Sach
Tengo un conjunto de datos que contiene el rendimiento del jugador durante el último año, que se ve a continuación. En este deporte, suponga que hay 3 tipos de partidos, por lo que el «Tipo» indica de qué tipo es. 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 la cantidad de partidos que jugarán los equipos en cada tipo de partido.
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 Puntos / Partido promedio de cada jugador para cada tipo de partido, para el último año. Entonces, la tabla de 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 de cualquier jugador durante el último año y luego multiplíquelo por la cantidad de partidos del próximo año para el equipo de ese jugador (suponiendo que ese jugador jugará todos los partidos para ese equipo).
Por ejemplo, tomemos [ Player F ] por [ Type 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 Tipo Z.
Entonces, 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?
greg_deckler
En respuesta a Sach
@Sach Sí, tendrás errores de sintaxis cuando lo improvisas, había una coma ofensiva. Tratar:
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 debajo de la cual aparece la línea roja squilly.
greg_deckler
@Sach ¿Suponiendo que tiene eso como visualización de tabla? Primero, deberá deshacer la rotación de sus columnas de tipo (X, Y y Z) en su tabla de coincidencias futuras 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
Sach
En respuesta a greg_deckler
@Greg_Deckler, gracias por la respuesta.
Esto parece funcionar si luego lo muestro en una tabla con ‘Tipo’ como columna:
Los valores calculados están bien.
Sin embargo, si elimino la columna ‘Tipo’ (en última instancia, quiero saber el total de puntos previstos de cada jugador), entonces la suma parece darme un valor incorrecto:
Por ejemplo, el total del jugador A debería 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á pasando aquí.
greg_deckler
En respuesta a Sach
@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])
Sach
En respuesta a greg_deckler
@Greg_Deckler Esta no parece ser una fórmula válida, comenzando en la Línea 11.
greg_deckler
En respuesta a Sach
@Sach Sí, tendrás errores de sintaxis cuando lo improvisas, había una coma ofensiva. Tratar:
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 debajo de la cual aparece la línea roja squilly.
Sach
En respuesta a greg_deckler
Funcionó perfecto, gracias!