Foro Empleos Academia Blog
Recursos
  • Ejemplos de dashboards
  • DatData Games
  • Alumnos destacados
  • Torneos pasados
Search Icon Iniciar sesión Inscribirme
Back arrow

DAX

hace 1 año

Semana Acumulada del Año Anterior

Gabriela

Espero que esten bien.   Les escribo ya que estoy intentando calcular una fórmula en DAX. La idea es que calcule las ventas de la misma semana de este año y las compare con el año anterior, de manera acumulada. Esto implica sumar las ventas de la semana actual y los días correspondientes de la misma semana del año anterior, considerando siempre un período de siete días. Por ejemplo, si el primer y segundo día de la semana 19 del año 2024 caen el 6 y 7 de mayo (tomando en cuenta el lunes como primer día de la semana), y en el año anterior (2023) cayeron el 1 y 2 de mayo, deseo que se acumulen dos días de ventas, sin importar las fechas exactas, sino únicamente el número de días transcurridos. Adicionalmente, me encuentro con otro problema relacionado con los filtros. Estos están establecidos en base al año 2024, ya que se trata de un informe de comparación del año actual con el anterior y el presupuesto del año actual.   Logre formularla, pero estoy forzando los datos, me gustaria que se hiciera automaticamente... Semana AA Acumulada = VAR DiasSeleccionados = SELECTEDVALUE('Calendar'[#DíaSemana]) RETURN CALCULATE( [Ventas], FILTER( ALL('Calendar'), 'Calendar'[#Año] = 2023 && 'Calendar'[#SemanaAño] = SELECTEDVALUE('Calendar'[#SemanaAño]) && 'Calendar'[#DíaSemana] IN {1, 2, 3} )   Les agradezco su ayuda...  
0 Votos
1
Respuestas
Respuestas

dlom

hace 10 meses

Hola Gabriela! Mira adecúa esta fórmula a las columnas de tu tabla calendario y te va a a servir:   ---------------------------------------- Fórmula: Venta MSAA = VAR _CurrentYear = YEAR(MAX('Calendar'[Date])) VAR _PreviousYear = _CurrentYear - 1 VAR _DiaSemanaMax = IF(SELECTEDVALUE('Calendar'[WeekCompleted]) = TRUE(), 8, CALCULATE(MAX('Calendar'[DayOfWeek]), 'Calendar'[IsAfterToday] = FALSE())) RETURN CALCULATE([Venta], ALL('Calendar'), 'Calendar'[Year] = _PreviousYear, 'Calendar'[NumSemana] = SELECTEDVALUE('Calendar'[NumSemana]), 'Calendar'[DayOfWeek] < _DiaSemanaMax ) ----------------------------------------   Aquí está calculando el año para cada semana, el año previo y, lo que hace la diferencia para que considere la semana actual y que NO sume los días de la misma semana del año previo que aún no han pasado en esta semana, es la variable _DiaSemanaMax.   Esta variable _DiaSemanaMax evalúa si la semana actual ya terminó (con la columna WeekCompleted de la tabla calendario, la puedes hacer con Power Query). Si ya terminó la semana, usa el 8 para considerar toda la semana (del día 1 al día 7 de la semana). Si NO ha terminado la semana, tomamos el máximo número de días de la semana actuales (con la columna IsAfterToday de la tabla calendario). La columna IsAfterToday también la puedes hacer en Power Query y básicamente el valor es TRUE si el día es antes de hoy u hoy. Y es FALSE si el valor es después de hoy.   Aquí está la comprobación de que funciona correctamente. Para la semana 25 del año anterior (que actualmente es la semana 25 del año actual) SOLO me debería de sumar los primeros 5 días (del lunes al viernes, SIN contar hoy sábado porque todavía no termina y me va a dar un resultado no comparable). Este resultado debería de ser 725,427.20 (#1 en la imagen) al compararlo con la semana actual. Y NO debe de ser 1,034,803.65 (#2)   Ahora vemos que el resultado es el mismo (#1 de esta imagen versus #1 de la imagen previa) y NO el valor total de la semana del año previo (#2):   Además me da el total si estoy comparando semanas que ya concluyeron:   Saludos! - dlom              
0 Votos
Es necesario estar inscrito para dejar tu duda, comentario y/o respuesta

Sobre el alumno

Gabriela

Gabriela Rojas Gilardi

Cursos completados

Imagen del curso Especialización en Transformación de Datos con Power Query
Imagen del curso Especialización en Modelado de Datos con Power BI
Imagen del curso Especialización en DAX con Power BI

Más preguntas sobre el tema

uso de dax formatter

MALANIS

¿Cuál es mejor, crear la tabla calendario con DAX o con M?

luisaopc

problema - Lookupvalue

MartaESP

Total mostrado para los meses resaltados

JuanVelez21

Uso de CALCULATETABLE() y su diferencia con FILTER()

JuanVelez21

Recursos
  • Foro
  • Inscribirse
  • Blog
  • Ejemplos de dashboards
Cursos
  • Aprende Power BI con Proyectos
  • Análisis de Datos con Power BI y Excel
  • Especialización en Power Query
  • Certificación de Power BI
  • Tu Portafolio de Dashboards
Legales
  • Términos del servicio
  • Política de privacidad
  • Política de cookies
  • Contacto
  • Acerca
Canal de YouTube de datdata Cuenta de Linkedin de datdata Cuenta de Instagram de datdata Página de Facebook de datdata Cuenta de TikTok de datdata
© 2025 © datdata - Todos los derechos reservados