Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Administrator
3 years ago

Promedio

Hola

Tengo problemas para obtener el promedio correcto.

Se trata de contadores de clientes donde tengo varias mediciones todos los días. Me gustaría tener un promedio por día de la semana (lunes, martes, etc.) durante una semana promedio.

Tengo algunos datos:

-fecha

-Hora

-valores

Véase el cuadro siguiente

La tabla es:

Si ahora creo una 2ª tabla en la que dejo que PowerBi determine los promedios, sale mal. PowerBi divide el número de clientes por el producto del número de momentos de medición y el número de días.

El promedio para el lunes (día número 1), por ejemplo, debería ser 152.

Por favor, avise, gracias de antemano.

5 Replies

  • Hi, @Laska02

    Para promediar los datos de recuento de clientes por día laborable en Power BI, querrá crear una columna calculada para el día de la semana y, a continuación, usar la función PROMEDIO en el contexto de una visualización, no de una tabla nueva.

    Estos son los pasos que debe seguir:

    1. Agregar una columna calculada para el día de la semana:

      Haga clic en la pestaña de modelado en Power BI Desktop y, a continuación, en el botón "Nueva columna".

      Querrá usar la función WEEKDAY para crear una nueva columna que represente el día de la semana. La fórmula se verá algo como esto:

      DayOfWeek = WEEKDAY('YourTable'[Fecha])

      Esto devolverá un número de 1 (para el domingo) a 7 (para el sábado), de acuerdo con el parámetro predeterminado. Si desea comenzar con el lunes como 1, modifique la función de la siguiente manera:

      DayOfWeek = WEEKDAY('YourTable'[Fecha], 2)

      También es posible que desee utilizar la función FORMAT para devolver el nombre real del día de la semana:

      DayOfWeekName = FORMAT('YourTable'[Date],"dddd")

    2. Usar la función AVERAGE en una visualización:

      Una vez que tenga la columna Día de la semana, puede crear una visualización (como un gráfico de barras) que muestre los valores promedio para cada día de la semana.

      Arrastre la columna "DayOfWeekName" al área Eje y la columna "valores" al área Valores. De forma predeterminada, Power BI puede sumar los valores. Deberá hacer clic en la flecha desplegable junto al nombre del campo en el área Valores y seleccionar "Promedio" en lugar de "Suma".

      Ahora debería ver un gráfico que muestra el recuento promedio de clientes para cada día de la semana.

  • Gracias por su respuesta, he estado de vacaciones, de ahí la respuesta tardía.

    Desafortunadamente, esta no es la solución.
    Ya he aplicado el método que recomiendas y también lo he incorporado en el ejemplo, esta es la tabla 2.
    Para el lunes, PowerBi divide el número de clientes por el producto del número de lunes y el número de momentos de medición).

    ¿Tienes otra idea?

  • @Laska02

    Si encuentra que los promedios calculados por PowerBI no coinciden con los promedios esperados, podría deberse a la forma en que PowerBI maneja la agrupación en agregaciones.

    Una cosa que podría estar causando el problema que está describiendo es si PowerBI calcula primero un promedio para cada lunes (y para cada intervalo de tiempo del lunes, si los datos tienen varios registros por lunes) y, a continuación, calcula un promedio de estos promedios.

    Para evitar esto, debe crear una nueva columna calculada que represente el número total de clientes para cada día. Esto asegurará que el promedio calculado más adelante sea preciso. Así es como podrías hacerlo:

    1. Crear una nueva columna calculada para el total del día

      DayTotal = CALCULATE(SUM('YourTable'[Values]), ALLEXCEPT('YourTable', 'YourTable'[Date]))

      Esta fórmula sumará la columna 'Valores' para todos los registros que tienen la misma fecha, dándole efectivamente el número total de clientes para cada día.

    2. Crear una medida para el promedio por día

      AveragePerDay = AVERAGE('YourTable'[DayTotal])

      Esto promediará la columna 'DayTotal', que le dará el número promedio de clientes por día.

    3. Crear una visualización

      Ahora puede crear una visualización como lo hacía antes, utilizando la columna 'DayOfWeekName' para el eje y la nueva medida 'AveragePerDay' para los valores. Esto debería darle el promedio correcto por día de la semana.

    Hágame saber si esta solución ayuda, o si hay más detalles de su situación que no tuve en cuenta, estaré encantado de ayudar más.