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

Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.

Reply
Anonymous
Not applicable

Cómo restar el valor del valor anterior a través de DAX

Hola equipo,

Tengo un dato que se parece un poco a esto:

SkuFechaCumplimientoSuministroAcción
183083/15/2020111336884
394543/15/2020195473363
352803/15/2020160120773
612823/15/2020117384231
390963/15/2020121350463
430573/15/2020121367733
625533/15/2020132492572
562793/15/2020144155122
285023/15/2020190204340
276473/15/2020143496944
367533/15/2020172446353
732563/15/2020112184737
124203/15/2020125200494
306783/15/2020112207919
68793/15/2020191179833
183083/16/2020182381854
394543/16/2020175119225
352803/16/2020178300409
612823/16/2020136312204
390963/16/2020193199956
430573/16/2020191351297
625533/16/2020178140957
562793/16/2020188306749
285023/16/2020170105518
276473/16/2020103101835
367533/16/2020139268462
732563/16/2020122215571
124203/16/2020119272656
306783/16/2020197326887
68793/16/2020193302240
183083/17/2020123311574
394543/17/2020170491918
352803/17/2020100291558
612823/17/2020110161714
390963/17/2020153433820
430573/17/2020132266363
625533/17/2020195277480
562793/17/2020191136774
285023/17/2020194436987
276473/17/2020151247485
367533/17/2020101338234
732563/17/2020116114950
124203/17/2020171403600
306783/17/2020127140944
68793/17/2020160170913

Lo que estoy haciendo aquí es que estoy mostrando estos datos en un gráfico de líneas que tiene líneas de suministro y stock y la fecha es el eje.

Lo que quiero lograr es, digamos que si mi gráfico está empezando a partir de 15/3/2020, debe mostrar la línea de suministro tal como es, pero la línea de stock debe ser (stock - suministro + cumplimiento). Y el valor que obtengo para el 15 debe ser el valor base para el 16 de marzo, es decir, digamos que mi valor de acción para el 15 sale a ser 450 (ejemplo), la base para el valor de la acción para el 16 debe ser 450 y no el valor real que tengo.

Si se centra estrechamente en los datos, el valor de stock para una SKU determinada no cambia a lo largo de los datos, sino que el cumplimiento y el suministro cambian en consecuencia. Además, podría haber la posibilidad de que la SKU no se presente para todas las fechas. Podría perderse unas cuantas citas en el medio. En este caso, el stock debe recoger el último valor calculado para esa SKU en particular.

Estoy mostrando el gráfico de líneas en un nivel general y se desglosaría a nivel SKU a través de segmentaciones de datos.

¿Puedo lograr algo que estoy buscando?

Por favor, ayuda

Gracias de antemano,

@Greg_Deckler @parry2k @amitchandak @Ashish_Mathur @Cmcmahan

1 ACCEPTED SOLUTION
Icey
Community Support
Community Support

Hola @RohanChhabra ,

Por favor, compruebe si esto es lo que desea:

1. Cree una columna como así:

HasStock =
VAR t =
    FILTER ( 'Table', [SKU] = EARLIER ( 'Table'[SKU] ) )
VAR Stock =
    CALCULATE (
        MAX ( 'Table'[Stock] ),
        FILTER ( t, [Date] = MINX ( 'Table', 'Table'[Date] ) )
    )
RETURN
    Stock
        - CALCULATE (
            SUM ( 'Table'[Supply] ),
            FILTER ( t, [Date] <= EARLIER ( 'Table'[Date] ) )
        )
        + CALCULATE (
            SUM ( 'Table'[Fulfilment] ),
            FILTER ( t, [Date] <= EARLIER ( 'Table'[Date] ) )
        )

stock.PNG

2. Cree un gráfico de líneas.

line.gif

Para obtener más información, compruebe el archivo PBIX adjunto.

Saludos

Icey

Si este post ayuda,entonces por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

View solution in original post

6 REPLIES 6
Icey
Community Support
Community Support

Hola @RohanChhabra ,

¿Está resuelto este problema?


Si se resuelve, por favor acepte siempre las respuestas que tienen sentido como solución a su pregunta para que las personas que pueden tener la misma pregunta puedan obtener la solución directamente.


Si no, por favor hágamelo saber.


Saludos
Icey

Ashish_Mathur
Super User
Super User

Hola

En función de los datos que haya compartido, muestre el resultado esperado en un formato de tabla simple. Modifique también sus datos originales para tener en cuenta las fechas que faltan.


Regards,
Ashish Mathur
http://www.ashishmathur.com
https://www.linkedin.com/in/excelenthusiasts/
amitchandak
Super User
Super User

@RohanChhabra

Tratar

Cumm Sales = CALCULATE(SUM(Sales[stock ]) -SUM(Sales[supply])+ SUM(Sales[fulfilment]),filter(date,date[date] <=maxx(date,date[date])))

///////////OR 
Cumm Sales = 
var _min = Minx(Date,date[Date])
var _min = Maxx(Date,date[Date])
return
CALCULATE(SUM(Sales[stock ]) -SUM(Sales[supply])+ SUM(Sales[fulfilment]),filter(all(date),date[date] >=_min date[date]<=_max ))

Anonymous
Not applicable

Hola @amitchandak ,

Gracias por responder.

Sin embargo, probé ambos métodos, pero de alguna manera todavía estoy obteniendo el mismo resultado (es decir, la medida no está funcionando como debería)

PFB la medida que escribí:


VAR dem - SUMX( SUMMARIZE(Sheet1, Sheet1[Material], "_max", MAX(Sheet1[Inventario disponible])), [_max])
VAR ful - CALCULATE(SUM(Sheet1[Quantity]), Sheet1[Type1] - "Fulfilment")
VAR sup - CALCULATE(SUM(Sheet1[Quantity]), Sheet1[Type1] - "Supply")
var _min á Minx(Sheet1,Sheet1[Date])
var _max á Maxx(Sheet1,Sheet1[Date])
devolución
CALCULATE( dem - sup + ful ,filter(all(Sheet1),Sheet1[Date] >' _min && Sheet1[Date]< á _max ))

¿Estoy haciendo algo malo aquí?
Gracias

Icey
Community Support
Community Support

Hola @RohanChhabra ,

Por favor, compruebe si esto es lo que desea:

1. Cree una columna como así:

HasStock =
VAR t =
    FILTER ( 'Table', [SKU] = EARLIER ( 'Table'[SKU] ) )
VAR Stock =
    CALCULATE (
        MAX ( 'Table'[Stock] ),
        FILTER ( t, [Date] = MINX ( 'Table', 'Table'[Date] ) )
    )
RETURN
    Stock
        - CALCULATE (
            SUM ( 'Table'[Supply] ),
            FILTER ( t, [Date] <= EARLIER ( 'Table'[Date] ) )
        )
        + CALCULATE (
            SUM ( 'Table'[Fulfilment] ),
            FILTER ( t, [Date] <= EARLIER ( 'Table'[Date] ) )
        )

stock.PNG

2. Cree un gráfico de líneas.

line.gif

Para obtener más información, compruebe el archivo PBIX adjunto.

Saludos

Icey

Si este post ayuda,entonces por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Greg_Deckler
Super User
Super User

Sí, debe utilizar EARLIER. Vea mi artículo sobre el tiempo medio entre el error (MTBF) que utiliza EARLIER: http://community.powerbi.com/t5/Community-Blog/Mean-Time-Between-Failure-MTBF-and-Power-BI/ba-p/3395...


@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
The Definitive Guide to Power Query (M)

DAX is easy, CALCULATE makes DAX hard...

Helpful resources

Announcements
LearnSurvey

Fabric certifications survey

Certification feedback opportunity for the community.

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.