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

Be one of the first to start using Fabric Databases. View on-demand sessions with database experts and the Microsoft product team to learn just how easy it is to get started. Watch now

Reply
1katznir
Regular Visitor

Running Total Cohort DAX

Hola

Tengo la siguiente tabla:

  • first_day_of_month (por ejemplo, '2020-01-01')
  • cohort_month (por ejemplo, 0, 1, 2, 3, etc.)
  • customer_type (mensual, anual
  • plan_type (básico, profesional, premium)
  • order_total_amount (número de decimel de moneda)

Me gustaría crear una medida similar a: sum(order_total_amount) over (partición por orden first_day_of_month por cohort_month)

El informe debe contener filtros por: customer_type y plan_type por lo que afectaría a la nueva medida personalizada.

*Nota: la medida personalizada se utiliza en un informe que admite estos desgloses y también sin los desgloses (así que sólo los totales por first_day_of_month), si eso no es posible tenga en cuenta

1 ACCEPTED SOLUTION

Hola @1katznir

Creo que desea calcular el total de ejecución para cada Start_OF_Month_Date por Cohort_Month.

Y compare el gasto con la medida para calcular el mínimo Cohort_Month para cada Start_OF_Month.

Construyo dos medidas:

Running Total Booking Amount = 
SUMX (
    FILTER (
        ALL ( BOOKING_MONTHLY_COHORT ),
        BOOKING_MONTHLY_COHORT[Start_OF_Month_Date]
            = MAX ( BOOKING_MONTHLY_COHORT[Start_OF_Month_Date] )
            && BOOKING_MONTHLY_COHORT[Cohort_Month]
                <= MAX ( BOOKING_MONTHLY_COHORT[Cohort_Month] )
    ),
    BOOKING_MONTHLY_COHORT[Booking_Amount]
)
M.Cohort_Month = 
VAR _RunningTotalExpense_Amount =
    SUMX (
        FILTER (
            ALL ( BOOKING_MONTHLY_COHORT ),
            BOOKING_MONTHLY_COHORT[Start_OF_Month_Date]
                = MAX ( BOOKING_MONTHLY_COHORT[Start_OF_Month_Date] )
                && BOOKING_MONTHLY_COHORT[Cohort_Month]
                    <= MAX ( BOOKING_MONTHLY_COHORT[Cohort_Month] )
        ),
        BOOKING_MONTHLY_COHORT[Expense_Amount]
    )
VAR _COHORT =
    MINX (
        FILTER (
            ALL ( BOOKING_MONTHLY_COHORT ),
            BOOKING_MONTHLY_COHORT[Start_OF_Month_Date]
                = MAX ( BOOKING_MONTHLY_COHORT[Start_OF_Month_Date] )
                && [Running Total Booking Amount] >= _RunningTotalExpense_Amount
        ),
        BOOKING_MONTHLY_COHORT[Cohort_Month]
    )
RETURN
IF(NOT(ISBLANK(_COHORT)),IF(MAX(BOOKING_MONTHLY_COHORT[Cohort_Month])=_COHORT,_COHORT,BLANK()),BLANK())

El resultado es el siguiente.

1.png

Puede descargar el archivo pbix desde este enlace: Ejecución de Total Cohort DAX

Saludos

Rico Zhou

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

View solution in original post

9 REPLIES 9
1katznir
Regular Visitor

Here is a sample of the data structure, note:

- Additional columns exists that provide further breakdowns as described above

 

1katznir_2-1603002728492.png

 

 

 

Hola @1katznir

¿Podría decirme si su problema ha sido resuelto? Si es así, acédi es la solución. Más gente se beneficiará de ello. O todavía está confundido al respecto, por favor proporcione más detalles sobre su tabla y el resultado que desea o compártame con su archivo pbix de su Onedrive for Business.

Saludos

Rico Zhou

Hola @1katznir

Creo que desea calcular el total de ejecución para cada Start_OF_Month_Date por Cohort_Month.

Y compare el gasto con la medida para calcular el mínimo Cohort_Month para cada Start_OF_Month.

Construyo dos medidas:

Running Total Booking Amount = 
SUMX (
    FILTER (
        ALL ( BOOKING_MONTHLY_COHORT ),
        BOOKING_MONTHLY_COHORT[Start_OF_Month_Date]
            = MAX ( BOOKING_MONTHLY_COHORT[Start_OF_Month_Date] )
            && BOOKING_MONTHLY_COHORT[Cohort_Month]
                <= MAX ( BOOKING_MONTHLY_COHORT[Cohort_Month] )
    ),
    BOOKING_MONTHLY_COHORT[Booking_Amount]
)
M.Cohort_Month = 
VAR _RunningTotalExpense_Amount =
    SUMX (
        FILTER (
            ALL ( BOOKING_MONTHLY_COHORT ),
            BOOKING_MONTHLY_COHORT[Start_OF_Month_Date]
                = MAX ( BOOKING_MONTHLY_COHORT[Start_OF_Month_Date] )
                && BOOKING_MONTHLY_COHORT[Cohort_Month]
                    <= MAX ( BOOKING_MONTHLY_COHORT[Cohort_Month] )
        ),
        BOOKING_MONTHLY_COHORT[Expense_Amount]
    )
VAR _COHORT =
    MINX (
        FILTER (
            ALL ( BOOKING_MONTHLY_COHORT ),
            BOOKING_MONTHLY_COHORT[Start_OF_Month_Date]
                = MAX ( BOOKING_MONTHLY_COHORT[Start_OF_Month_Date] )
                && [Running Total Booking Amount] >= _RunningTotalExpense_Amount
        ),
        BOOKING_MONTHLY_COHORT[Cohort_Month]
    )
RETURN
IF(NOT(ISBLANK(_COHORT)),IF(MAX(BOOKING_MONTHLY_COHORT[Cohort_Month])=_COHORT,_COHORT,BLANK()),BLANK())

El resultado es el siguiente.

1.png

Puede descargar el archivo pbix desde este enlace: Ejecución de Total Cohort DAX

Saludos

Rico Zhou

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

v-rzhou-msft
Community Support
Community Support

Hola @1katznir

¿Podría decirme si su problema ha sido resuelto? Si es así, acédi es la solución. Más gente se beneficiará de ello. O todavía está confundido al respecto, por favor proporcione más detalles sobre su tabla y su problema o compártame con su archivo pbix de su Onedrive for Business.

Saludos

Rico Zhou

1katznir
Regular Visitor

Hola @1katznir

Descargo su pbix, pero cuando lo abro, dice que necesito firmar en copo de nieve o no puedo ver nada sobre su modelo de datos.

¿Puede mostrarme una captura de pantalla de su modelo de datos y decirme su lógica de cálculo, y puede hacer que sea más fácil para mí entender sus requisitos.

Aquí voy a dar un consejo.

Creo que puede probar esta medida:

Measure =
SUMX (
    FILTER (
        BOOKING_MONTHLY_COHORT,
        [START_OF_MONTH_DATE] = MAX ( [START_OF_MONTH_DATE] )
            && [COHORT_MONTH] = MAX ( [COHORT_MONTH] )
    ),
    [BOOKING_AMOUNT]
)

Saludos

Rico Zhou

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

Gracias por responder, todavía no funciona como se esperaba,

por favor tenga en cuenta que me gustaría tener el total de carrera en el mes de la cohorte, así que creo que debo usar < (por favor, corríjame si me equivoco)

1katznir_0-1602674873271.png

Hola @1katznir

¿Podrías mostrarme una muestra de tu mesa?

Desde el modelo de datos sé que crea una tabla de fechas DIM y las dos tablas relacionadas por Start_month_date columna.

Pero todavía estoy confundido sobre el mes de la cohorte, si usted da una tabla de muestra, me hará más fácil de entender.

O puede compartirme un archivo pbix de OneDrive para la Empresa.

Saludos

Rico Zhou

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

Fowmy
Super User
Super User

@1katznir

¿Puede compartir algunos datos de muestra y el resultado esperado para tener una comprensión clara de su pregunta?
Puedes guardar tus archivos en OneDrive, Google Drive o cualquier otra plataforma de uso compartido en la nube y compartir el enlace aquí.
____________________________________
¿Cómo pegar datos de muestra con su pregunta?
¿Cómo obtener respuestas a sus preguntas rápidamente?

_____________________________________
¿He respondido a tu pregunta? Marque este post como una solución, esto ayudará a otros!.

Haga clic en el icono Thumbs-Up si le gusta esta respuesta 🙂

Youtube Linkedin

Did I answer your question? Mark my post as a solution! and hit thumbs up


Subscribe and learn Power BI from these videos

Website LinkedIn PBI User Group

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

Dec Fabric Community Survey

We want your feedback!

Your insights matter. That’s why we created a quick survey to learn about your experience finding answers to technical questions.

ArunFabCon

Microsoft Fabric Community Conference 2025

Arun Ulag shares exciting details about the Microsoft Fabric Conference 2025, which will be held in Las Vegas, NV.

December 2024

A Year in Review - December 2024

Find out what content was popular in the Fabric community during 2024.

Top Solution Authors
Top Kudoed Authors