cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Administrator
Administrator

Promedio o Suma sobre medida ya agregada

Hola a todos

Soy bastante nuevo en Power BI y sé que se han publicado preguntas similares antes y leí muchas respuestas, pero todavía no estoy insetable de cómo lograr lo que quiero.

Situación: He creado con éxito medidas para las ventas y la cantidad de venta a diario. También he agregado estos valores para todos los artículos vendidos por un cliente. La tabla muestra el número de artículo (de hecho números únicos, acaba de acortarse para la protección de datos), así como los valores de los días en que el artículo estuvo en stock (DayInSt) y para el período de tiempo completo (todos). En este caso, se ha establecido una segmentación de datos entre 01.07.2020 y 31.08.2020
Snip Item Performance table.JPG

(Los números de artículo de la izquierda son únicos, acabo de cortarlos para ocultar el número completo)

Este análisis funciona bien para un solo cliente a la vez, pero ahora quiero promediar y/o sumar valores para muchos clientes. Sé que esto puede ser lento para tantos puntos de datos (220 clientes * 250 artículos en total * 365 días).

Aquí está el código que he utilizado hasta ahora:

Sales Per Day (with blanks) = 
VAR CurrentDate = SELECTEDVALUE('DateTable'[Date])         

VAR NextSalesDate =
    CALCULATE(
        MIN('Sales Invoice Line'[Shipment Date]),           
        DATESBETWEEN(
            DateTable[Date],
            CurrentDate+1,
            CurrentDate+2000
        )
    )   

VAR PrevSalesDate =
    CALCULATE(
        MAX('Sales Invoice Line'[Shipment Date]),           
        DATESBETWEEN(
            DateTable[Date],
            CurrentDate-2000,
            CurrentDate
        )
    )               

VAR PrevAmount =
CALCULATE(    
    SUMX(
        FILTER('Sales Invoice Line',
            'Sales Invoice Line'[Shipment Date] = PrevSalesDate
        ),
        'Sales Invoice Line'[Amount]
    ),
    DATESBETWEEN(
        DateTable[Date],
        PrevSalesDate,
        CurrentDate
    )
)

VAR DaysSinceLastOrderTmp = DATEDIFF(PrevSalesDate, CurrentDate, DAY)
VAR DaysSinceLastOrder =
    IF(
        ISBLANK(DaysSinceLastOrderTmp),
        9999,
        DaysSinceLastOrderTmp
    )

VAR DaysBetweenOrders = DATEDIFF(PrevSalesDate, NextSalesDate, DAY)
VAR SalesDays =
    IF(
        DaysSinceLastOrder > 30, 
        BLANK(),
        IF(
            ISBLANK(DaysBetweenOrders),
            31,
            MIN(DaysBetweenOrders, 31)
        )
    )

VAR SalesPerDay =
    DIVIDE(
        PrevAmount,
        SalesDays,
        BLANK()
    )

RETURN SalesPerDay


La medida final se crea con:

Av. Sales per Day (all) = 
    AVERAGEX('DateTable',
        [Sales Per Day (zeros)]
    )

Pregunta: ¿Cómo resumo/promedio esto sobre todos los clientes? Tenga en cuenta que necesita calcular el "Av. Ventas por Día (todos)" para un artículo para cada cliente por separado y luego sumar o promediar, ingresarlo en la fila y luego ir al siguiente número de artículo haciendo lo mismo.

Gracias de antemano por la ayuda!

Maximilian

1 ACCEPTED SOLUTION
Administrator
Administrator

Encontré una solución por mí mismo:

Summed Av. Sales per Day per Item (all) = 
    SUMX(
        DISTINCT('Sales Invoice Line'[Cust. No]),
        [Av. Sales per Day (all)]
    )

Funciona, es muy lento...

View solution in original post

2 REPLIES 2
Administrator
Administrator

Encontré una solución por mí mismo:

Summed Av. Sales per Day per Item (all) = 
    SUMX(
        DISTINCT('Sales Invoice Line'[Cust. No]),
        [Av. Sales per Day (all)]
    )

Funciona, es muy lento...

View solution in original post

Administrator
Administrator

Tal vez, como una cosa adicional para mostrar lo que quiero, vea la imagen siguiente: Estos son los valores de cantidad de ventas y ventas para UN artículo y muchos clientes en las filas. La medida que necesito haría los siguientes pasos:

  1. Resumir o promediar estas columnas (La suma automática en la parte inferior es obviamente incorrecta, cuando se usa Excel para calcular obtengo un resultado diferente).
  2. Haz esto para cada artículo (ver publicación original)

Snip Cust Performance table.JPG

Helpful resources

Announcements
secondImage

Congratulations!

We are excited to announce the Power BI Super Users!

Microsoft Ignite

Microsoft Ignite with Arun Ulag

Featured Session: Drive Data Culture with Power BI- Vision, Strategy & Roadmap. Register here https://myignite.microsoft.com #MSIgnite #PowerPlatform #Power BI ​

Microsoft Ignite

Microsoft Ignite

Join digitally, March 2–4, 2021 to explore new tech that's ready to implement. Experience the keynote in mixed reality through AltspaceVR!

secondImage

The largest Power BI virtual conference

100+ sessions, 100+ speakers, Product managers, MVPs, and experts. All about Power BI. Attend online or watch the recordings.