Promedio de muchas sesiones de entrenamietno que tienen promedio internos de diferentes ejercicios

Hola, tengo un problema que seguramente es de facil solucion, no para mi jaja. 

En una o varias sesiones de entrenamiento, tengo uno o varios deportistas que realizan diferentes ejercicios y por lo tanto recorreron diferentes distancias. 

Esto genera una distancias parcial para cada ejercicio y una distancia total para cada jugador. Al utilizar los Slice o al agregar los campos de sesion de entrenamiento o los nombres de de los jugadadores, logre obtener el resultado que deseo . Pero cuando quito todos los slice y quiero por ejemplo ver la distancias total recorrida en todas mis sesiones de entrenamiento, logro sin problema hacerlo, ahora cuando quiero conocer el promedio de la distancias de todas las sesiones, al tener diferentes ejercicios dentro de cada sesion, el promedio generado ( a pesar de quitar todos los slice) me termina dando el promedio de cada sesion como resultado del promedio de los diferentes ejercicios. Y yo quiero el promedio de la distancias total de cada sesion y despues realizar el promedio de todas ellas. 

Espero se entienda. 

Muchas gracias. 

Creo que encontre la solucion, lo copio aqui a ver si es correcto

 

Promedio Dist x sesion x atleta =

averagex(

KeySessionTable,

AVERAGEX(AthleteTable,

CALCULATE(SUM(GPSdataTable[Distance]))))

LA COLUMNA QUE BUSCABA CALCULAR ERA LA DERECHA 

 

 

Esta seria la tabla y la columna que interesa es la de la derecha

 

 

Lo primero queria darles las gracias por contestar, lo segundo pedirte disculpas ya que envie los datos sin ordenarlos como corresponde. 

A continuacion les envio 5 imaganes, donde se podra observar el esquema o modelo de datos, y en las imagenes restantes, muestran las 4 formulas que tengo armadas hasta ahora.

Cada formula esta explicada en la imagen, y se puede ver la redaccion de la misma y los resultados sobre diferentes tablas. 

Para mi lo mas importante es saber si las formulas estan correctamente formuladas, pensando que estas serian las bases para poder pensar mas adelante en la posibilidad de comparar , crear porcentajes, comparar un jugador con otro , o el volumen de la semana con otra semana o inclusive intentar crear datos de partido referencial y podes compararlos . Y entiendo que si las bases de estas formulas o si estas formulas son poco eficientes, podrian terminar afectando el resultado y la eficiencia del modelo. 

Algo mas y no menos importante , es observar que aqui solo estuve trabajando con una variable que es la DISTANCIA, y la realidad es que las variables a analizar son muchas mas, lo que me hace pensar mas y mas en la importancia de que las formulas sean eficientes y faciles quizas de ser utilzadas casi en forma automatica con otras variables que se van a ir sumando a esta fact table. 

Bueno desde ya muchas gracias por sus recomendaciones. 

Atte. 

Diego 
 

PD. Yo soy profe de educacion fisica y la verdad que hacer estas pocas formulas y entender sobre los modelos de datos me llevo un tiempo interesante ya que la base de estos conocimientos para mi son muy debiles. 

img1

img2

img3

img4

img5

Gracias

Hola Diego,

he intentado entender el escenario y tu enfoque pero tengo que reconocer que me quedado en la primera de las imágenes, pues hay varias cosas que no entiendo. Tu fórmula es la siguiente:

Promedio de Distancia por KeyAthlete = 
    AVERAGEX(
        KEEPFILTERS(VALUES(AthleteTable[KeyAthlete]));
        CALCULATE(SUM(GPSdataTable[Distance]))
    )

Te comento:

  • Reconozco que no estoy acostumbrado a usar KEEPFILTERS en otro escenario que no sea como argumento de CALCULATE o de CALCULATETABLE pues, sencillamente, no sé que devuelve como "tabla" de una función recursiva. Pura ignorancia mía (no sé si alguien más puede opinar aquí)
  • No estoy seguro del objetivo de cambiar el contexto de fila a contexto de filtro con el CALCULATE

Así, a ojo -discúlpame por lo que voy a decir- no veo el motivo de no usar algo tan simple como

Promedio de Distancia por KeyAthlete = AVERAGE(GPSdataTable[Distance])

...imagino que tendrás tus motivos pero no consigo verlos. De cualquier forma, en tu captura de pantalla veo distancias medias de, por ejemplo, para el atleta 5, más de 11 mil kilómetros. No sé de qué deporte se trata, pero suena raro :)

Si me dices qué estás intentando obtener con el uso de esas funciones KEEPFILTERS y CALCULATE te lo agradeceré.

Un saludo

Script

Voy a tratar de explicar el problema a ver si se puede entender mejor. 

Yo dentro de una sesion de entrenamiento tengo varios jugadores, cada jugador realiza varios ejercicios. Y este es realmente el gran problema. Y el poque termine utilizando 

Promedio de Distancia por KeyAthlete  :

AVERAGEX(
        KEEPFILTERS(VALUES(AthleteTable[KeyAthlete]));
        CALCULATE(SUM(GPSdataTable[Distance]))
    )

Que en realidad se llama promedio pero no es realmente un promedio. Lo que hace si vos te fijas es sumar los diferentes ejercicios para cada jugador. dentro de cada sesion y al final de todo, si como total te da el promedio del grupo en base al total de cada jugador. Lo que si, si yo selecciono mas de una sesion que es la imagen que te mande ayer (img 2). Pero si te fijas ahora te mando con una sola sesion y funciona muy bien. Y cuando agrego dentro de la session cada jugador y luego le agrego cada drill esta formula funciona bien.

SI utilizo la formula que vos me pasaste, fijate que el promedio es para cada jugador, el promedio de la distancias de los n drill que realizo en esa session y al final el resultado total el el promedio de todos esos promedios. 

Te mando una imangen donde estan las dos formulas juntas para que las veas y a ver si se entiende mejor. 

 

Saludos 

 

Diego img6 

ok!!!, es que lo de "Promedio" me estaba volviendo loco. El único promedio es el del total. Voy a darle una vuelta y si se me ocurre alguna alternativa que crea que pueda ser más eficiente te lo digo.

OK muchas gracias. SI la realidad es que esta formula es el punto de partida para todo el resto, si observas las otras son mas simples y quizas hasta mas mejorables. Pero la realidad es que ante la situacion de los ejercicos qeu son la parte fundamental de cada sesion y para cada jugador, las formulas que en general trabajan con una fila como son la mayoria no respondian de la mejor forma a la necesidad. 

Bueno te dejo un saludo y gracias. 

 

Enviado por Diego Giacchino el Sáb, 16/05/2020 - 13:09