Forum Discussion

JoeJoe666's avatar
JoeJoe666
Frequent Visitor
6 years ago
Solved

Recuento de ciclos

Hola Soy nuevo en power BI. No estoy seguro de si necesito usar DAX o M para lo que necesito. Me gustaría crear un recuento cíclico en una nueva columna basada en lo siguiente: *para cada disposit...
  • Greg_Deckler's avatar
    6 years ago

    @JoeJoe666 - Ah, quieres Cthulhu - https://community.powerbi.com/t5/Quick-Measures-Gallery/Cthulhu/m-p/509739#M211

    En realidad, no, no Cthulhu pero se puede hacer con 2 columnas, todavía estoy trabajando en la versión de una sola columna. PBIX se adjunta debajo de sig, es tabla (13).

    Cycle Change = 
        VAR __Table = FILTER('Table (13)',[device]=EARLIER([device]) && [time]<=EARLIER([Time]))
        VAR __Previous = MAXX(FILTER(__Table,[time]<EARLIER([Time])),[Time])
        VAR __PreviousState = MAXX(FILTER(__Table,[Time]=__Previous),[State])
    RETURN
        IF(([State]=1 && __PreviousState<>1),1,0)
    
    
    Cycles = SUMX(FILTER('Table (13)',[device]=EARLIER([device]) && [Time]<=EARLIER([Time])),[Cycle Change])

    OK, metí esto en una sola columna:

    Single Column non working = 
        VAR __BaseTable = 'Table (13)'
        VAR __Table = 
            ADDCOLUMNS(
                ADDCOLUMNS(
                    ADDCOLUMNS(
                        FILTER(__BaseTable,[device]=EARLIER([device]) && [time]<=EARLIER([Time])),
                        "__Previous",MAXX(FILTER(__BaseTable,[time]<EARLIER([Time])),[Time])
                    ),
                    "__PreviousState",MAXX(FILTER(__BaseTable,[Time]=[__Previous]),[State])
                ),
                "__CycleChange",IF(([State]=1 && [__PreviousState]<>1),1,0)
            )
    RETURN
        SUMX(__Table,[__CycleChange])

    Se ha actualizado el PBIX.