Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started

Reply
Syndicate_Admin
Administrator
Administrator

Cálculo de stock fantasma (stock >0 y ventas =0)

Hola
Tengo una configuración básica de mesa:
tblProducts (ProductID)
tblStores (StoreID)
tblData (StoreID, ProductID, Date, SOH, Sales)
tblCalendar (Fecha)

Estoy tratando de contar la línea (ProductID y StoreID). Que tienen más de cero SOH para la última fecha de datos y cero ventas en más de 50 días.

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

Finalmente pude hacer que este cálculo funcionara, usando CROSSJOIN. Otros métodos eran demasiado lentos.
Aquí está la medida, espero que sea capaz de ayudar a alguien más.

Phantom Stock = 
CALCULATE (
    SUMX (
        CROSSJOIN (
            VALUES ( tblProducts[ArticleCode] ),
            VALUES ( tblStores[StoreCode] )
        ),
        IF (
            [Stock on Hand Latest Date] > 0
                && [Volume Sales Total (X Days)] <= 0,
            [Stock on Hand Latest Date],
            BLANK ()
        )
    )
)


Aquí están las 2 medidas de apoyo.

Stock on Hand Latest Date = 
VAR _MaxDate = CALCULATE(MAX(tblCalendar[Date]),ALL(tblCalendar))
RETURN
    CALCULATE (
        [Stock on Hand Total],
        FILTER (
            tblCalendar,
            tblCalendar[Date] = _MaxDate
        )
    )


La variable llamada _Days, es solo una lista de días en semanas, (1 semana = 7, 2 semanas = 14, etc.)

Volume Sales Total (X Days) = 
VAR _CurrentDate = CALCULATE(MAX(tblCalendar[Date]),ALL(tblCalendar))
VAR _Days = max(sptWeeks[Days])
VAR _StartDate = _CurrentDate - _Days
RETURN
CALCULATE(
    [Volume Sales Total],
    FILTER(
        tblCalendar,
        tblCalendar[Date] > _StartDate && tblCalendar[Date] <= _CurrentDate
    )
)

View solution in original post

1 REPLY 1
Syndicate_Admin
Administrator
Administrator

Finalmente pude hacer que este cálculo funcionara, usando CROSSJOIN. Otros métodos eran demasiado lentos.
Aquí está la medida, espero que sea capaz de ayudar a alguien más.

Phantom Stock = 
CALCULATE (
    SUMX (
        CROSSJOIN (
            VALUES ( tblProducts[ArticleCode] ),
            VALUES ( tblStores[StoreCode] )
        ),
        IF (
            [Stock on Hand Latest Date] > 0
                && [Volume Sales Total (X Days)] <= 0,
            [Stock on Hand Latest Date],
            BLANK ()
        )
    )
)


Aquí están las 2 medidas de apoyo.

Stock on Hand Latest Date = 
VAR _MaxDate = CALCULATE(MAX(tblCalendar[Date]),ALL(tblCalendar))
RETURN
    CALCULATE (
        [Stock on Hand Total],
        FILTER (
            tblCalendar,
            tblCalendar[Date] = _MaxDate
        )
    )


La variable llamada _Days, es solo una lista de días en semanas, (1 semana = 7, 2 semanas = 14, etc.)

Volume Sales Total (X Days) = 
VAR _CurrentDate = CALCULATE(MAX(tblCalendar[Date]),ALL(tblCalendar))
VAR _Days = max(sptWeeks[Days])
VAR _StartDate = _CurrentDate - _Days
RETURN
CALCULATE(
    [Volume Sales Total],
    FILTER(
        tblCalendar,
        tblCalendar[Date] > _StartDate && tblCalendar[Date] <= _CurrentDate
    )
)

Helpful resources

Announcements
Europe Fabric Conference

Europe’s largest Microsoft Fabric Community Conference

Join the community in Stockholm for expert Microsoft Fabric learning including a very exciting keynote from Arun Ulag, Corporate Vice President, Azure Data.

Power BI Carousel June 2024

Power BI Monthly Update - June 2024

Check out the June 2024 Power BI update to learn about new features.

PBI_Carousel_NL_June

Fabric Community Update - June 2024

Get the latest Fabric updates from Build 2024, key Skills Challenge voucher deadlines, top blogs, forum posts, and product ideas.

Top Solution Authors
Top Kudoed Authors