tacobannas
Estoy tratando de regresar el segundo martes de cada mes. Mi tabla tiene una fecha para todos los días. ¿Cómo puedo devolver esto basado en ese campo?
Phil_Seamark
En respuesta a Phil_Seamark
Intente esto como una columna calculada
Is 2nd Tuesday = VAR a="Dates"[Date] VAR y = FILTER( ALL(Dates[Date]), YEAR('Dates'[Date]) = YEAR(a) && MONTH('Dates'[Date]) = MONTH(a) && DAY([Date]) > 7 && DAY([Date]) < 15 && WEEKDAY([Date],3) = 1) RETURN MAXX(y,[Date])
mfelix
Hola @tacobannas,
Crea estas dos columnas:
MonthWeekday = MONTH('Calendar'[Date]) & WEEKDAY('Calendar'[Date]) weekday_Number = WEEKDAY('Calendar'[Date])
Luego crea esta medida:
2nd Tuesday = VAR Date_Max = MAX ( 'Calendar'[Date] ) VAR Month_week_Max = MAX ( 'Calendar'[MonthWeekday] ) RETURN IF ( CALCULATE ( COUNT ( 'Calendar'[MonthWeekday] ), 'Calendar'[Date] <= Date_Max, 'Calendar'[MonthWeekday] = Month_week_Max ) = 2 && MAX ( 'Calendar'[weekday_Number] ) = 3, "2nd", "" )
Agregue la medida como un filtro en sus imágenes y debería obtener el resultado que necesita:
Saludos,
mfelix
tacobannas
En respuesta a mfelix
Gracias, eso funciona como una medida, pero esperaba devolver el segundo martes de cada mes como una fecha en una columna. Entonces, para todos los días del mes en mi tabla de calendario, tendría una columna correspondiente con la fecha del segundo martes.
Phil_Seamark
En respuesta a tacobannas
Intente esto como una columna calculada
Is 2nd Tuesday = VAR x = IF(WEEKDAY([Date],1) = 3 , DAY([Date]) , 0) RETURN IF(x > 7 && x < 15 , 1 , 0)
tacobannas
En respuesta a Phil_Seamark
Eso parece funcionar devolviendo verdadero o falso, sin embargo, quiero devolver la fecha real del segundo martes.
Phil_Seamark
En respuesta a tacobannas
Hola
por favor intente esto
Is 2nd Tuesday = VAR x = IF(WEEKDAY([Date],1) = 3 , DAY([Date]) , 0) RETURN IF(x > 7 && x < 15 , [Date] , blank())
Pranati05
En respuesta a Phil_Seamark
Hola,
¿Cómo obtener el último martes de un mes? Quiero agregar una columna calculada en mi tabla que debería devolver el mes actual de la fecha de esa fila. Pero el actual es desde el último miércoles del mes anterior hasta el último martes del mes actual en lugar de solo el mes (fecha).
tacobannas
En respuesta a Phil_Seamark
Esto parece estar funcionando, pero necesito que se complete en cada par de valores de fila, no en blanco en el caso de que no sea el segundo martes.
Phil_Seamark
En respuesta a tacobannas
Entonces, ¿quiere decir que cada fila del mes llevará la fecha que resulta ser el segundo martes de cada mes?
Phil_Seamark
En respuesta a Phil_Seamark
Intente esto como una columna calculada
Is 2nd Tuesday = VAR a="Dates"[Date] VAR y = FILTER( ALL(Dates[Date]), YEAR('Dates'[Date]) = YEAR(a) && MONTH('Dates'[Date]) = MONTH(a) && DAY([Date]) > 7 && DAY([Date]) < 15 && WEEKDAY([Date],3) = 1) RETURN MAXX(y,[Date])
Marcel Beug
En respuesta a Phil_Seamark
@tacobannas mi solución Power Query también se ajusta a sus requisitos.
tacobannas
En respuesta a Marcel Beug
@MarcelBeug No estoy seguro de cómo convertir esa declaración de consulta de potencia en la sintaxis bi de potencia correcta.
Marcel Beug
En respuesta a tacobannas
Power BI abarca 2 lenguajes: Power Query (M) y DAX.
Si no se siente cómodo con Power Query, puede usar una solución DAX.
Además, Power Query es la sintaxis correcta de Power BI.
Como ya expliqué, en el Editor de consultas puede agregar una columna personalizada.
Captura de pantalla de la adición de una columna personalizada (tomado de otro tema, así que con otra fórmula):
tacobannas
En respuesta a Marcel Beug
@MarcelBeug gracias por la aclaración adicional. Mi tabla de fechas no es una tabla que aparece en el editor de consultas, así que supongo que no puedo usar su solución de Power Query… Creé la tabla de fechas creando una nueva columna calculada. Probablemente también estoy un poco más confundido ya que soy nuevo en PowerBI 🙂
Sin embargo, la solución @Phil_Seamark está funcionando, así que creo que me quedaré con eso.
2ndTuesday = VAR a="Date"[Date] VAR y = FILTER( ALL('Date'[Date]), YEAR('Date'[Date]) = YEAR(a) && MONTH('Date'[Date]) = MONTH(a) && DAY('Date'[Date]) > 7 && DAY('Date'[Date]) < 15 && WEEKDAY('Date'[Date],3) = 1) RETURN MAXX(y,'Date'[Date])
Gracias a todos por la ayuda y la rápida respuesta
Marcel Beug
En respuesta a Phil_Seamark
Una solución de Power Query: agregue una columna con la fórmula:
= Date.StartOfWeek(#date(Date.Year([Date]),Date.Month([Date]),14),Day.Tuesday)
Esto tomará el día 14 del año/mes de la fecha, ya partir de esa fecha: el inicio de la semana, siendo el martes el primer día de la semana. Así que debe ser el segundo martes del mes.
freder1ck
En respuesta a Marcel Beug
@MarcelBeug: Encontré este método muy útil para obtener el horario de verano para una función de tiempo de actualización local.