Forum Discussion

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

Diferencia %

Hola a todos

Estoy tratando de recrear esta tabla en Power BI pero por más que lo intento, no puedo calcular la diferencia entre dos meses (y después, tendré que calcular el %).

así que por ejemplo tengo que hacer: "venta de ene"- "venta de feb)

Gracias por la ayuda

 

5 Replies

  • Hola @Raffa , ¿puedes compartir la medida que estás utilizando para esto? Tienes que usar la función DAX DEL MES ANTERIOR para lograr lo mismo.

    Es mejor crear una tabla de calendario y conectarla con la tabla de hechos.

    >> En la tabla Calendario, obtener fechas.

    >> A partir de la tabla de hechos, obtener los valores

    >> A partir de la medida usando CALCULATE(SUM(VALUES),PREVIOUSMONTH('DATE TABLE'[DATE_COLUMNS])) calculate MOM

    Si esta publicación ayuda, considere aceptarla como la solución para ayudar a otros miembros a encontrarla más rápidamente. ¡¡Gracias!!

  • Pruebe algo como esto, no olvide aplicar los cambios necesarios, como los nombres de las columnas

    SalesDifference =
    VAR CurrentMonthSales = CALCULATE(SUM('YourTable'[Sales]),
    FILTER(ALL('YourTable'[Month]),
    'TuMesa'[Mes] = MAX('TuMesa'[Mes])))
    VAR NextMonthSales = CALCULATE(SUM('YourTable'[Sales]),
    FILTER(ALL('YourTable'[Month]),
    'TuMesa'[Mes] = MAX('TuMesa'[Mes]) + 1))
    DEVOLUCIÓN
    NextMonthSales - CurrentMonthSales

  • @Raffa

    ¿Tiene una mesa de atenuación adecuada?

    En caso afirmativo,

    Simplemente puede usar funciones de inteligencia de tiempo .

    Como ejemplo:

    p_month =

    Calcular ( suma(table_name[ col_name]) , AnteriorMes(DimDate[fecha]) )

    o

    calcular ( suma(table_name[ col_name]) , dateadd(dimdate[fecha],-1,mes) )

    Si la respuesta es no,

    Necesita usar la función de ventana, . offset DAX hará el truco.

    Si mi respuesta te ayudó a resolver las cosas, ¡agradecería un pulgar hacia arriba 👍 y lo marcaría como la solución ! ✅
    Marca la diferencia y también podría ayudar a alguien más. ¡Gracias por difundir las buenas vibraciones! 🤠

    • Syndicate_Admin's avatar
      Syndicate_Admin
      Icon for Administrator rankAdministrator

      Intenté estos cálculos, pero no muestran nada. ¿Quizás un problema con la fecha? lo siento, soy un usuario bastante nuevo

      • Syndicate_Admin's avatar
        Syndicate_Admin
        Icon for Administrator rankAdministrator

        @Raffa

        Necesitas tener una fecha de atenuación adecuada

        y debe configurarlo como tabla de fechas.

        Cree una fecha de atenuación adecuada: https://radacad.com/all-in-one-script-to-create-date-dimension-in-power-bi-using-power-query

        Funciones de inteligencia de fecha y hora: https://dax.guide/dateadd/

        o pruebe el siguiente código:

        medida =

        was current_value = sum( table_name[sales_col_name])

        var datasoure =

        offset(

        -1,

        calculatetable(

        resumir (

        tbl,

        tbl[año],

        tbl[mes]

        ),

        removefilters ( tbl[month] )

        ),

        orderby( tbl_name[year_col] , asc , tbl_name[month_col] , asc )

        )

        var prev_month =

        calcular (

        sum( table_name[sales_col_name]),

        datasoure

        )

        devolución

        (current_value - prev_month) / prev_month

        Déjame saber si esto funciona para ti.

        Si mi respuesta te ayudara a resolver las cosas, te agradecería un pulgar hacia arriba 👍 y lo marcaría como la solución.✅
        Marca la diferencia y también podría ayudar a alguien más. ¡Gracias por difundir las buenas vibraciones! 🤠