Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Icon for Administrator rankAdministrator
3 years ago

indefinido

Hola gente.

Cómo calcular un acumulado por mes usando la siguiente medida

Lost = 
VAR VarCustomerTotal = 
CALCULATETABLE(
    SELECTCOLUMNS(
        dClientes,
        "IDClienteMatriz",
        dClientes[IDCliente]
    ),
    ALL('dCalendário'),
    dClientes[Matriz] = "Não"
)
VAR Result = 
CALCULATETABLE(
    VALUES('fFaturamento Consolidado Churn'[IDClienteMatriz])
    , USERELATIONSHIP('dCalendário'[Data],'fFaturamento Consolidado Churn'[DataUltimaCompraPagamento])
    , PREVIOUSMONTH('dCalendário'[Data])
    , FILTER(
        ALL('dCalendário')
        , 'dCalendário'[Data] < MAX('dCalendário'[Data]) 
    )
)
RETURN
COUNTROWS(EXCEPT(Result, VarCustomerTotal)) 

3 Replies

  • @CSpina

    Puede consultar el siguiente ejemplo:

    Puede crear primero una nueva columna en la tabla:

    Mon_num = SWITCH([Month], 
            "Jan", 1,
            "fev",2,
            "mar",3,
            "abr",4,
            "mai",5,
            "Jun",6,
            "Jul",7, 
            "ago",8,
            "Set",9,
            "out",10,
            "Nov",11,
            "Dez",12
                    )

    A continuación, cree una medida:

    Measure 2 = SUMX(FILTER(ALL('Table'),[Year]=MAX('Table'[Year])&&[Mon_num]<=MAX([Mon_num])),[Measure])

    Salida:

    ¡Saludos!

    Yolo Zhu

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

    • Syndicate_Admin's avatar
      Syndicate_Admin
      Icon for Administrator rankAdministrator

      Gracias Yolo.

      Su solución es muy buena, pero debido a los cálculos en la medida estoy obteniendo otros resultados.

      • Syndicate_Admin's avatar
        Syndicate_Admin
        Icon for Administrator rankAdministrator

        @CSpina

        Puedes probar el siguiente código que he modificado

        Measure 2 = var _addcolumns=ADDCOLUMNS(ALLSELECTED('Table'),"Measure",[Measure])
        return SUMX(FILTER(_addcolumns,[Year]=MAX('Table'[Year])&&[Mon_num]<=MAX([Mon_num])),[Measure])

        ¡Saludos!

        Yolo Zhu

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