Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

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.

Reply
Syndicate_Admin
Administrator
Administrator

Predicciones basadas en el rendimiento pasado

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í:

Table.png

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?

1 ACCEPTED 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.

View solution in original post

6 REPLIES 6
Syndicate_Admin
Administrator
Administrator

@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:

A.png

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:

B.png

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.

formula.png

@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!

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.