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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Syndicate_Admin
Administrator
Administrator

Totales acumulados con estado y escenarios

Hola a todos. Espero que lo estés haciendo bien y bien.

Luchando por obtener mis totales acumulados para reals+forecast.

Lo que necesito (calculado manualmente en Excel) es una medida [Real+Forecast YTD] que funcione como en la captura de pantalla:

Rostislav_0-1619880831521.png

Tengo medidas para [Reales], [Previsión], [Real+Previsión] que funciona muy bien.

Uso del siguiente TOTALYTD para el total acumulado:

=TOTALYTD ([Actual+Forecast]; dCalendar[Date])

devuelve lo siguiente:

Rostislav_3-1619881011774.png

Por lo tanto, recalcula los valores YTD para diferentes status (ACT, FRC) individualmente.

Lo que hay más en esto:

  • Real y Forecast son tablas separadas;
  • Estado (Real, Previsión, etc.): es una tabla Dimension que tiene relaciones con tablas fActual y fForecast;
  • Este proyecto por ahora solo funciona en Excel+PowerPivot, si eso es de alguna importancia.

He probado KEEPFILTERS, REMOVEFILTERS pero sin resultado significativo.

¿Podría alguien aconsejarme sobre cómo abordar el problema?

Gracias de antemano.

editar:

Las tablas fActual y fForecast tienen la misma estructura, pero la tabla fForecast tiene una columna adicional con el número de escenario que también es necesario para generar la tabla siguiente con datos YTD:

Rostislav_0-1619884106365.png

EDIT2. Fórmula TOTALYTD actualizada para evitar confusiones,

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

No hay @Rostislav

No está muy claro sobre la estructura de la tabla y las relaciones en su modelo. Pero puede probar las siguientes medidas.

Actual+ForecaseYTD =

VAR total_actual =

    SUMX ( ALL ( fAcutal ), [actual_] )

VAR inter_table =

    ADDCOLUMNS ( fForecast, "total", total_actual )

VAR total__ =

    TOTALYTD ( [Actual+Forecast], dCalendar[Date] )

RETURN

    IF (

        HASONEFILTER ( fForecast[date] ),

        Total__ + MAXX ( inter_table, [total] ),

        Total__

)

o

Actual+ForecaseYTD =

VAR total_actual =

    SUMX ( ALL ( fAcutal ), [actual_] )

VAR inter_table =

    ADDCOLUMNS ( fForecast, "total", total_actual )

VAR cum_actual =

    CALCULATE (

        [Actual+Forecast],

        FILTER ( ALL ( fAcutal ),fAcutal[date]>=DATE(YEAR(fAcutal[date]),1,1)&& fAcutal[date] <= MAX ( fAcutal[date] ) )

    )

VAR cum_ff =

    CALCULATE (

        [Actual+Forecast],

        FILTER ( ALL ( fForecast ), fForecast[date]>=DATE(YEAR(fForecast[date]),1,1)&&fForecast[date] <= MAX ( fForecast[date] ) )

    )

RETURN

    IF (

        HASONEFILTER ( fAcutal[date] ),

        cum_actual,

        IF ( HASONEFILTER ( fForecast[date] ), cum_ff + MAXX ( inter_table, [total] ) )

    )

El resultado tiene este aspecto:

v-cazheng-msft_0-1620201076524.png

Para obtener más información, puede consultar el archivo pbix adjunto. Si todavía tiene preguntas, por favor no dude en avísame.

Saludos

Caiyun Zheng

¿Esa es la respuesta que estás buscando? 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

3 REPLIES 3
Syndicate_Admin
Administrator
Administrator

No hay @Rostislav

No está muy claro sobre la estructura de la tabla y las relaciones en su modelo. Pero puede probar las siguientes medidas.

Actual+ForecaseYTD =

VAR total_actual =

    SUMX ( ALL ( fAcutal ), [actual_] )

VAR inter_table =

    ADDCOLUMNS ( fForecast, "total", total_actual )

VAR total__ =

    TOTALYTD ( [Actual+Forecast], dCalendar[Date] )

RETURN

    IF (

        HASONEFILTER ( fForecast[date] ),

        Total__ + MAXX ( inter_table, [total] ),

        Total__

)

o

Actual+ForecaseYTD =

VAR total_actual =

    SUMX ( ALL ( fAcutal ), [actual_] )

VAR inter_table =

    ADDCOLUMNS ( fForecast, "total", total_actual )

VAR cum_actual =

    CALCULATE (

        [Actual+Forecast],

        FILTER ( ALL ( fAcutal ),fAcutal[date]>=DATE(YEAR(fAcutal[date]),1,1)&& fAcutal[date] <= MAX ( fAcutal[date] ) )

    )

VAR cum_ff =

    CALCULATE (

        [Actual+Forecast],

        FILTER ( ALL ( fForecast ), fForecast[date]>=DATE(YEAR(fForecast[date]),1,1)&&fForecast[date] <= MAX ( fForecast[date] ) )

    )

RETURN

    IF (

        HASONEFILTER ( fAcutal[date] ),

        cum_actual,

        IF ( HASONEFILTER ( fForecast[date] ), cum_ff + MAXX ( inter_table, [total] ) )

    )

El resultado tiene este aspecto:

v-cazheng-msft_0-1620201076524.png

Para obtener más información, puede consultar el archivo pbix adjunto. Si todavía tiene preguntas, por favor no dude en avísame.

Saludos

Caiyun Zheng

¿Esa es la respuesta que estás buscando? Si este post ayuda, entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Syndicate_Admin
Administrator
Administrator

Hey @Rostislav ,

tenga en cuenta que el segundo parámetro de TOTALYTD necesita una columna y no una tabla.

Intente reemplazar eso:

=TOTALYTD ([Actual+Forecast]; dCalendar[Date])

Si necesitas ayuda, por favor avísame.
Si respondiera a su pregunta, estaría feliz si pudiera marcar mi publicación como una solución ✔️ y darle un pulgar hacia arriba 👍
Saludos
Denis

Hey, @selimovd.
Sí, soy consciente de eso. Omitido por simplicidad.

Señaló que es una práctica inaceptable.
Publicación editada para el caso.

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

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.