Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Administrator
4 years ago
Solved

Promedio

¡Hola!

Tengo un modelo con la siguiente tabla (esta es una pequeña muestra de una base mucho más grande)

NombreAñoMesRevisiónContarPeso
Nombre120211A1410
Nombre120211A1160
Nombre120213A2530
Nombre120219A325
Nombre220218B1110
Nombre2202110B2110

Para cada "Nombre", primero debo agrupar por "Revisión" y calcular la diferencia entre 100 y la suma de su "Peso".

Entonces, creo dos medidas

aux = SUMX([Tabla],Tabla[Contar]*Tabla[Peso])
aux2 =
VAR CUENTA=100-[aux]
VAR CUENTA2=IF(CUENTA<0,0,CUENTA)
DEVOLUCIÓN
IF([aux]<1,BLANK(),CUENTA2)

Obtengo los siguientes resultados, que fueron como se esperaba

NombreRevisiónaux2
Nombre1A10
Nombre1A20
Nombre1A390
Nombre2B190
Nombre2B290

Bien, ahora es cuando tengo un problema.

Para cada "Nombre", debo calcular el promedio de "aux2"

Creé la siguiente medida, pero no estoy obteniendo los resultados esperados.

avg= AVERAGEX(NC_Peso_KPI,[aux2])
NombreAvgavg_expected
Nombre147,530
Nombre29090

¿Alguien puede ayudarme a encontrar el error?

Saludos

Frederick.

  • La razón por la que está dando esto es que está promediando la granularidad de la fila de la tabla. Es decir, promediando estos valores:

    AlexisOlson_0-1636734805393.png

    Para solucionar esto, debe promediar sobre la granularidad adecuada:

    avg = AVERAGEX ( SUMMARIZE ( Peso, Peso[Name], Peso[Review] ), [aux2] )

    AlexisOlson_1-1636734936725.png

3 Replies

  • La razón por la que está dando esto es que está promediando la granularidad de la fila de la tabla. Es decir, promediando estos valores:

    AlexisOlson_0-1636734805393.png

    Para solucionar esto, debe promediar sobre la granularidad adecuada:

    avg = AVERAGEX ( SUMMARIZE ( Peso, Peso[Name], Peso[Review] ), [aux2] )

    AlexisOlson_1-1636734936725.png

  • Gracias por su ayuda @AlexisOlson,
    ¿Puedo molestarte con otra pregunta?
    Tengo 2 cortadoras de fechas (una para el mes y otra para el año), ambas de una sola selección.
    Como el cálculo de "promedio" debo hacerlo hace 12 meses, adapté la medida de la siguiente manera (hay una columna "Fecha" que no nosoné antes)

    La tabla [Fecha] está vinculada con Calendario [Fecha]

    avg = CALCULATE(AVERAGEX (SUMMARIZE ( Table, Table[Name], Table[Review],Table[Date] ), [aux2] ),DATESBETWEEN(Calendar[Date],NEXTDAY(SAMEPERIODLASTYEAR(LASTDATE(Calendar[Date]))),LASTDATE(Calendar[Date])))

    Pero no funciona.

    Obtengo, al menos en una pequeña muestra que hice, los mismos valores que sin haber hecho el cambio a su fórmula.

    ¿Alguna sugerencia?

    Gracias.

    • Syndicate_Admin's avatar
      Syndicate_Admin
      Administrator

      No puedo decir muy bien lo que está pasando con esta descripción. Es posible que desee crear una nueva publicación con más detalles e, idealmente, vincular a un archivo de muestra que otros puedan seguir.