Forum Discussion

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

Suma acumulada

Tengo un conjunto de datos que contiene 52 semanas de ventas:

la siguiente tabla es una muestra del conjunto de datos que tengo.

Semana

Ventas

Real/pronóstico

1

10

Real

1

12

Previsión

2

14

Real

2

20

Previsión

3

-

Real

3

6

Previsión

4

-

Real

4

8

Previsión


Quiero crear una tabla visual en Power BI que se parezca a la siguiente tabla, que básicamente hace la siguiente suma de las ventas reales totales hasta la semana seleccionada y, si no hay ningún real para la semana seleccionada, quiero reemplazarlo con el valor de pronóstico, tal como se muestra en la columna de rollover.

Semana

Real

Previsión

Suma acumulada

1

10

12

10

2

14

20

= 10+14 = 24

3

-

6

=24+6=30

_

8

30+8= 38


Escribí esta fórmula, pero parece que solo me da el resultado correcto hasta la semana 3 y valores incorrectos después de la semana 3, ¿por qué es eso?

test = VAR SelectedWeek = MAX('salesdata[week] VAR ActualSumUpToSelectedWeek = CALCULATE( SUM(salesdata'[Value]), salesdata[actual/forcast] = "actual", salesdata[week] <= SelectedWeek )RETURN ActualSumUpToSelectedWeek + if([ActualSum] = 0, [ForecastSum],[ActualSum]).

¿Alguien puede ayudarme por favor?

9 Replies

  • Más información sobre COALESCE

    SUMX(<tabla>,COALESCE([Real],[Pronóstico]))

    Filtrar por semana, etc.

  • Agregue estas medidas o clubes: Todavía no entiendo la intención...


    Sales  for Actual = 
    CALCULATE(
    	SUM('salesdata'[Sales ]),
    	'salesdata'[Actual/forecast] IN { "Actual" }
    )
    
    Sales  for Forecast = 
    CALCULATE(
    	SUM('salesdata'[Sales ]),
    	'salesdata'[Actual/forecast] IN { "Forecast" }
    )
    
    CT Actual or Forecast = 
    SUMX (
           CALCULATETABLE(  values(salesdata[Week ]), salesdata[Week ] <= MAX(salesdata[Week ])) 
          , COALESCE( salesdata[Sales  for Actual], [Sales  for Forecast])
    )
    

    Si no desea varias medidas, puede agrupar la lógica de la medida en una sola medida.

    ¡Vaya, esto ayuda!

    • Syndicate_Admin's avatar
      Syndicate_Admin
      Icon for Administrator rankAdministrator

      Funciona, muchas gracias por su ayuda; Rápido, por favor, por qué esta fórmula no funciona cuando se seleccionan varias semanas de una cortadora; Digamos que quiero tener una tabla que muestre el número de semana, real, pronóstico, ct real si pronósticos y usar la columna de semana en una cortadora para poder elegir la semana que quiera y mostrar los resultados, también quiero tener la opción de elegir varias semanas y aún así obtener los resultados que quiero siguiendo la lógica que explicé anteriormente. Gracias 🙂

      • Syndicate_Admin's avatar
        Syndicate_Admin
        Icon for Administrator rankAdministrator

        NO veo ningún problema.

        Mira estas capturas de pantalla:

        a) Ausencia de selección

        b) con selección de la semana 2, semana 2

        b) con selección de Semana 1, Semana 4

    • Syndicate_Admin's avatar
      Syndicate_Admin
      Icon for Administrator rankAdministrator

      Hola, tengo una pregunta, por favor: he creado dos variables minweek y max week y he utilizado su fórmula y he añadido la semana mínima, así que cuando selecciono, por ejemplo, la semana 3 y la 6, quiero sumar los datos reales de la semana 3 a la semana 6 y no de la semana 1 a la semana 6, pero no funciona por alguna razón

      • Syndicate_Admin's avatar
        Syndicate_Admin
        Icon for Administrator rankAdministrator

        tienes que compartir el DAX o .pbix para que lo entendamos. 🙂

        Si está tratando de filtrar el rango de semanas como mínimo y máximo, es posible que deba modificar esta línea como:

        CALCULATETABLE(  values(salesdata[Week ]), 
        salesdata[Week ] >= MIN(salesdata[Week ] && salesdata[Week ] <= MAX(salesdata[Week ]
        ) 

  • Hola

    ¿Tiene una columna de fecha? Si no es así, ¿tiene columnas Año y Mes? Si tienes alguno de los dos, comparte algunos datos con los que trabajar. Además, comparta una tabla de calendario con una columna de número de semana.