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

Calcular el promedio por semana en función de una fecha

Hola a todos,

Estoy tratando de calcular un promedio por semana basado en una fecha.
Mi tabla de datos trata sobre alertas de servidores

Algunos de estos servidores han sido parcheados, y para estos tengo una fecha de parche


Las columnas de mi tabla son:
- el nombre del servidor
- la fecha en que se produce la alerta
- la descripción de la descripción de la descripción

- la fecha del parche

Basándome en la fecha del parche que creé:
- una columna calculada para saber si la alerta se produce antes o después de la fecha del parche (según la fecha de la alerta)
- una columna calculada que contiene el número de semana de la alerta (basado en la fecha de alerta)

Calcularía un promedio de alerta por semana, antes y después de la fecha de pach (para comparar la eficiencia del parche).


Pero nada mejor que un ejemplo 😊

Ejemplo dado:
Tengo 100 alertas para un servidor X:
semana 1 : 15 alertas
semana 2 : 40 alertas
semana 3 : 35 alertas
-- parche --
semana 4 : 8 alertas
semana 5 : 2 alertas

Me gustaría poder informar algo como:
Antes del pach tenía un promedio de 30 alertas por semana, después del parche tengo un promedio de 5 alertas por semana

Gracias por su ayuda

Bruno

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

¿Algo así?

WeeklyAvgBeforePatch =
AVERAGEX (
    ADDCOLUMNS (
        VALUES ( Alerts[WeekNumber] ),
        "@BeforeCount", CALCULATE ( COUNTROWS ( Alerts ), Alerts[BeforePatch] = 1 )
    ),
    [@BeforeCount]
)

WeeklyAvgAfterPatch =
AVERAGEX (
    ADDCOLUMNS (
        VALUES ( Alerts[WeekNumber] ),
        "@AfterCount", CALCULATE ( COUNTROWS ( Alerts ), Alerts[BeforePatch] = 0 )
    ),
    [@AfterCount]
)

View solution in original post

4 REPLIES 4
Syndicate_Admin
Administrator
Administrator

Hola

Funciona perfectamente bien 😁

En primer lugar tuve algunos problemas para aplicar la fórmula porque pensé que iba a ser utilizada como una columna calculada, y tenía el valor 1 para todas las líneas de mi tabla.
Cuando lo usé como medida, el resultado está bien.


En realidad me gusta otra forma de manejarme con mi problema, mucho más desordenado:


- Creé una medida para contar el número de semanas antes y después de la fecha del parche:

Número de semanas antes del parche =
CALCULAR(
CUENTAS(
DISTINCT(Alertas[WeekNumber])
),
FILTRO(
Alertas
Alertas[BeforePatch] = 1
)
)
Número de semanas después del parche =
CALCULAR(
CUENTAS(
DISTINCT(Alertas[WeekNumber])
),
FILTRO(
Alertas
Alertas[AfterPatch] = 1
)
)

- Medidas para calcular el número de aleres antes y después del parche

Número de alertas antes del parche =
CALCULAR(
COUNTROWS(Alertas),
FILTRO(
Alertas
Alertas[BeforePatch] = 1
)
)
Número de alertas después del parche =
CALCULAR(
COUNTROWS(Alertas),
FILTRO(
Alertas
Alertas[AfterPatch] = 1
)
)


- y finalmente otras 2 medidas para obtener el promedio

Promedio por semana antes del parche = DIVIDE([Número de alertas antes del parche], [Número de semanas antes del parche], 0)
Promedio por semana después del parche = DIVIDE([Número de alertas después del parche], [Número de semanas después del parche], 0)

El resultado es el mismo pero lo voy a hacer a tu manera: el método es mucho más profesional 👍

Gracias por su tiempo

Perdón por el retraso de la retroalimentación

Saludos

Syndicate_Admin
Administrator
Administrator

@AlexisOlson y @v-henryk-mstf

Hola

Perdón por el retraso: no tuve la oportunidad de trabajar en este informe hasta hoy.
Lo intentaré lo antes posible y te haré saber cómo funciona

Syndicate_Admin
Administrator
Administrator

Hay @Bruno_M ,

Creo que la fórmula @AlexisOlson proporciona vale la pena. Por favor, hágame saber los resultados de la prueba y señale si el problema persiste. Si el problema se ha resuelto, marque la respuesta correcta como la respuesta estándar para ayudar a los otros miembros a encontrarla más rápidamente.


Esperamos su respuesta.


Saludos
Henrio

Syndicate_Admin
Administrator
Administrator

¿Algo así?

WeeklyAvgBeforePatch =
AVERAGEX (
    ADDCOLUMNS (
        VALUES ( Alerts[WeekNumber] ),
        "@BeforeCount", CALCULATE ( COUNTROWS ( Alerts ), Alerts[BeforePatch] = 1 )
    ),
    [@BeforeCount]
)

WeeklyAvgAfterPatch =
AVERAGEX (
    ADDCOLUMNS (
        VALUES ( Alerts[WeekNumber] ),
        "@AfterCount", CALCULATE ( COUNTROWS ( Alerts ), Alerts[BeforePatch] = 0 )
    ),
    [@AfterCount]
)

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.