Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!Learn from the best! Meet the four finalists headed to the FINALS of the Power BI Dataviz World Championships! Register now
Buenas a todos,
Estoy intentado llegar a la medida citada y de momento cumplo alfo pero no llego a lo que de verdad quiero:
AFLUENCIA
Cumple :
1. Cuando selecciono me muestra lo que quiero
No cumple:
1. Cuando no hay seleccion me muestra el ultimo valor que existe de la ultima semana del año
v_Afluencia_Valor_Actual_Semana =
VAR _SemanaSeleccionada =
SELECTEDVALUE('MasterCalendar'[Week Number], WEEKNUM(TODAY(), 2)) -- Usar la semana seleccionada o la actual
VAR _AnioSeleccionado =
SELECTEDVALUE('MasterCalendar'[Year], YEAR(TODAY())) -- Usar el año seleccionado o el año actual
-- Definimos la fecha de inicio de la semana seleccionada en el año seleccionado
VAR _FechaInicial =
CALCULATE(
MIN('MasterCalendar'[Date]),
'MasterCalendar'[Year] = _AnioSeleccionado,
'MasterCalendar'[Week Number] = _SemanaSeleccionada
)
-- Definimos la fecha de fin de la semana seleccionada en el año seleccionado
VAR _FechaFinal =
CALCULATE(
MAX('MasterCalendar'[Date]),
'MasterCalendar'[Year] = _AnioSeleccionado,
'MasterCalendar'[Week Number] = _SemanaSeleccionada
)
-- Obtenemos el valor de afluencia para el rango de fechas de la semana seleccionada
VAR _ResultadoActual =
CALCULATE(
[SumEnters],
'MasterCalendar'[Date] >= _FechaInicial &&
'MasterCalendar'[Date] <= _FechaFinal
)
-- Si el resultado actual es BLANK, buscamos el último año disponible con datos para la semana seleccionada
VAR _AnioDisponible =
IF(
ISBLANK(_ResultadoActual), -- Solo si no hay resultado
CALCULATE(
MAX('MasterCalendar'[Year]),
'MasterCalendar'[Week Number] = _SemanaSeleccionada, -- Aseguramos que sea la semana seleccionada
'MasterCalendar'[Year] < _AnioSeleccionado -- Años menores al año seleccionado
),
_AnioSeleccionado -- Usamos el año seleccionado si hay resultado
)
-- Definimos la fecha de inicio y fin de la semana en el año anterior encontrado
VAR _FechaInicialAnterior =
IF(
NOT ISBLANK(_AnioDisponible),
CALCULATE(
MIN('MasterCalendar'[Date]),
'MasterCalendar'[Year] = _AnioDisponible,
'MasterCalendar'[Week Number] = _SemanaSeleccionada
),
BLANK()
)
VAR _FechaFinalAnterior =
IF(
NOT ISBLANK(_AnioDisponible),
CALCULATE(
MAX('MasterCalendar'[Date]),
'MasterCalendar'[Year] = _AnioDisponible,
'MasterCalendar'[Week Number] = _SemanaSeleccionada
),
BLANK()
)
-- Intentamos obtener el valor de afluencia para el rango de fechas de la semana en el año anterior
VAR _ResultadoAnterior =
IF(
NOT ISBLANK(_FechaInicialAnterior) && NOT ISBLANK(_FechaFinalAnterior), -- Aseguramos que las fechas sean válidas
CALCULATE(
[SumEnters],
'MasterCalendar'[Date] >= _FechaInicialAnterior &&
'MasterCalendar'[Date] <= _FechaFinalAnterior
),
BLANK() -- Retorna BLANK si las fechas no son válidas
)
-- Retornamos el resultado final
RETURN
IF(ISBLANK(_ResultadoActual), IF(ISBLANK(_ResultadoAnterior), 0, _ResultadoAnterior), _ResultadoActual) -- Retorna 0 si no hay resultado, o el resultado encontrado
Y tambien estoy intentado conseguir el valor anterior.
y se comporta igual , es decir para el año anterior a la actual para que haga la diferencia
v_Afluencia_Valor_Anterior_Semana =
VAR _SemanaSeleccionada =
SELECTEDVALUE('MasterCalendar'[Week Number], WEEKNUM(TODAY(), 2)) -- Semana seleccionada o actual
VAR _AnioSeleccionado =
SELECTEDVALUE('MasterCalendar'[Year], YEAR(TODAY())) -- Año seleccionado o actual
-- Determinar el año a usar: si no hay selección, usar el año anterior al actual
VAR _AnioParaCalculo =
IF(
ISBLANK(SELECTEDVALUE('MasterCalendar'[Year])),
YEAR(TODAY()) - 1,
_AnioSeleccionado
)
-- Intentamos obtener el valor actual
VAR _ResultadoActual =
CALCULATE(
Afluencia[Total_Afluencia_Sencurso],
'MasterCalendar'[Week Number] = _SemanaSeleccionada,
'MasterCalendar'[Year] = _AnioParaCalculo
)
-- Si el resultado actual es BLANK, buscamos el último año disponible con datos para la semana seleccionada
VAR _AnioDisponible =
IF(
ISBLANK(_ResultadoActual),
CALCULATE(
MAX('MasterCalendar'[Year]),
FILTER(
ALL('MasterCalendar'),
'MasterCalendar'[Week Number] = _SemanaSeleccionada &&
'MasterCalendar'[Year] < _AnioParaCalculo &&
NOT ISBLANK([Total_Afluencia_Sencurso])
)
),
_AnioParaCalculo
)
-- Definimos el año anterior al año disponible
VAR _AnioAnterior =
IF(NOT ISBLANK(_AnioDisponible), _AnioDisponible - 1, BLANK())
-- Definimos la fecha de inicio de la semana seleccionada en el año anterior encontrado
VAR _FechaInicial =
IF(
NOT ISBLANK(_AnioAnterior),
CALCULATE(
MIN('MasterCalendar'[Date]),
FILTER(
ALL('MasterCalendar'),
'MasterCalendar'[Year] = _AnioAnterior &&
'MasterCalendar'[Week Number] = _SemanaSeleccionada
)
),
BLANK()
)
-- Definimos la fecha de fin de la semana seleccionada en el año anterior encontrado
VAR _FechaFinal =
IF(
NOT ISBLANK(_AnioAnterior),
CALCULATE(
MAX('MasterCalendar'[Date]),
FILTER(
ALL('MasterCalendar'),
'MasterCalendar'[Year] = _AnioAnterior &&
'MasterCalendar'[Week Number] = _SemanaSeleccionada
)
),
BLANK()
)
-- Intentamos obtener el valor del total de afluencia para el rango de fechas de la misma semana del año anterior
VAR _ResultadoAnterior =
IF(
NOT ISBLANK(_FechaInicial) && NOT ISBLANK(_FechaFinal), -- Aseguramos que las fechas sean válidas
CALCULATE(
Afluencia[Total_Afluencia_Sencurso],
'MasterCalendar'[Date] >= _FechaInicial &&
'MasterCalendar'[Date] <= _FechaFinal
),
BLANK() -- Retorna BLANK si las fechas no son válidas
)
-- Retornamos el resultado final
RETURN
IF(ISBLANK(_ResultadoActual), _ResultadoAnterior, _ResultadoActual) -- Retorna 0 si no hay resultado, o el resultado encontrado
PD: Cuando seleccione un año posterior a la semana actual, no habra datos para esa semana, quiero que me coja el ultimo valor que haya dispoible para el actual, y para el anterior, justamente el año anterior
Y esta es la tabla que tengo para mostra junto al KPI:
Muchas gracias por cualquier ayuda.
Share feedback directly with Fabric product managers, participate in targeted research studies and influence the Fabric roadmap.
Check out the February 2026 Power BI update to learn about new features.