Forum Discussion
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
- Syndicate_Admin
Administrator
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!!
- Syndicate_Admin
Administrator
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 - Syndicate_Admin
Administrator
¿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
Administrator
Intenté estos cálculos, pero no muestran nada. ¿Quizás un problema con la fecha? lo siento, soy un usuario bastante nuevo
- Syndicate_Admin
Administrator
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! 🤠