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

Grow your Fabric skills and prepare for the DP-600 certification exam by completing the latest Microsoft Fabric challenge.

Reply
Syndicate_Admin
Administrator
Administrator

Total acumulado con otra medida (mes anterior)

Hola chicos,

Así es como se ve el problema:

anoonymous_0-1667390360381.png

Como puede ver en ejecución Total no calcula el valor de la columna "PreviousValue".

Para eso estoy usando una medida, que ayuda a llenar mi valor faltante con el anterior. (Valor de septiembre == valor de agosto):

PreviousValue = 
VAR _actualOrder = SELECTEDVALUE('Datetable'[Order])
VAR _mspOrder =
    CALCULATE ( MAX('Table'[Order]), ALLSELECTED ('Table'))
VAR _maxdate =
    CALCULATE ( MAX ( 'Table'[Data] ), ALLSELECTED ( 'Table' ) )
VAR _month =
    MONTH ( _maxdate )
VAR _lastvalue =
    CALCULATE (
        SUM ( 'Table'[value] ),
        FILTER (
            ALLSELECTED ( 'Table' ),
            YEAR ( 'Table'[Data] ) = YEAR ( _maxdate )
                && MONTH ( 'Table'[Data] ) = _month
        )
    )
RETURN
    IF ( _actualOrder <= _mspOrder, SUM ( 'Table'[value] ), _lastvalue )

Ya tengo un código para ejecutar total y sería perfecto si la solución se basa en ese código:
1.

MinDate = Date(SELECTEDVALUE(Datetable[GJ]),3,1)

2.

RunningTotal=
VAR minDate = [MinDate]

return 
   CALCULATE (
        SUM('Table'[value]),
     FILTER (
            ALL ('Table'),
            'Table'[Data] >= minDate
                &&'Table'[Data] <= MAX ( 'Table'[Data])), FILTER (
            ALL ('Table'),
            'Table'[Order] <= MAX ( 'Table'[Order])))

Lamentablemente no puedo agregar un archivo, así que les estoy dando toda la información aquí (tal vez alguien pueda decirme cómo, para que pueda publicarlo aquí)

Tablas que estoy usando:

OrderMonth (Running Total tiene que funcionar entre el primer día de marzo y el último día de febrero (próximo año)

Debido a eso creé una tabla de pedidos:

anoonymous_2-1667390713763.png

Mesa:

(Como puede ver, no hay datos para septiembre, octubre, etc.)

anoonymous_3-1667390847864.png

Fecha:

anoonymous_4-1667390959703.png

Puedo darte al código fuente:

let
	 Source = #date(2013, 1, 1), 
	 #"add dates until today" = List.Dates(Source, Number.From(DateTime.LocalNow())+0- Number.From(Source), #duration(1,0,0,0)), 
	 #"Converted to Table" = Table.FromList(#"add dates until today", Splitter.SplitByNothing(), null, null, ExtraValues.Error), 
	 #"Renamed Column Date" = Table.RenameColumns(#"Converted to Table",{{"Column1", "Datum"}}), 
	 #"Changed Type of Column Date" = Table.TransformColumnTypes(#"Renamed Column Date",{{"Datum", type date}}),
    #"Hinzugefügte benutzerdefinierte Spalte3" = Table.AddColumn(#"Changed Type of Column Date", "Jahr", each Date.Year([Datum])),
    #"Hinzugefügte benutzerdefinierte Spalte" = Table.AddColumn(#"Hinzugefügte benutzerdefinierte Spalte3", "GJ", each if [Datum] <> null then (if Date.Month([Datum]) ❤️ then Date.Year([Datum])-1 else Date.Year([Datum])) else null),
    #"Hinzugefügte benutzerdefinierte Spalte1" = Table.AddColumn(#"Hinzugefügte benutzerdefinierte Spalte", "Monatsname", each Date.MonthName([Datum])),
    #"Geänderter Typ" = Table.TransformColumnTypes(#"Hinzugefügte benutzerdefinierte Spalte1",{{"GJ", Int64.Type}}),
    #"Zusammengeführte Abfragen" = Table.NestedJoin(#"Geänderter Typ", {"Monatsname"}, OrderMonth, {"Monate"}, "OrderMonth", JoinKind.LeftOuter),
    #"Erweiterte OrderMonth" = Table.ExpandTableColumn(#"Zusammengeführte Abfragen", "OrderMonth", {"Order"}, {"OrderMonth.Order"}),
    #"Umbenannte Spalten" = Table.RenameColumns(#"Erweiterte OrderMonth",{{"OrderMonth.Order", "Order"}, {"Monatsname", "Monathname"}, {"Datum", "Date"}})
in
    #"Umbenannte Spalten"

Modelo de relación:

anoonymous_1-1667390688506.png

Creé otras publicaciones antes, marcadas como resueltas para que ya no pueda editarlas, por lo tanto, creé esta y agregué toda la información.

2 REPLIES 2
Syndicate_Admin
Administrator
Administrator

Hi, @anoonymous

Puede probar los siguientes métodos.

PreviousValue = 
VAR _a = SUM('Table'[Value])
Var _b = CALCULATE(SUM('Table'[Value]),FILTER(ALL('Table'),[Order]=MAXX(ALL('Table'),[Order])))
return IF(ISBLANK(_a),_b,_a)

vzhangti_0-1667458015389.png

RunningTotal = SUMX(FILTER(ALL(OrderMonth),[Order]<=SELECTEDVALUE(OrderMonth[Order])),[PreviousValue])
RunningTotal 2 = 
Var _N1=SUM('Table'[Value])
Var _N2=SUMX(FILTER(ALL(OrderMonth),[Order]<=SELECTEDVALUE(OrderMonth[Order])),[PreviousValue])
Var _N3=CALCULATE(SUM('Table'[Value]),ALL('Table'))
Return
IF(ISBLANK(_N1),_N3,_N2)

vzhangti_2-1667458435448.png

¿Es este el resultado que esperas?

Saludos

Equipo de apoyo comunitario _Charlotte

Si esta publicación ayuda, considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

¡Muchas gracias!

Helpful resources

Announcements
RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

Ask questions in Eventhouse and KQL, Eventstream, and Reflex.

MayPowerBICarousel1

Power BI Monthly Update - May 2024

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