Forum Discussion
Primer viernes de cada mes - Power Query
- 4 years ago
@mb0307 mi mal, ¡no entendí tu pregunta correctamente! Puede agregar una columna personalizada basada en su columna Fecha y obtener el primer viernes de cada mes para su tabla de calendario:
Date.StartOfWeek(#date(Date.Year([Date_Key]),Date.Month([Date_Key]),7),Day.Friday)o bien, puede crear una tabla con los últimos 12 meses y agregar una columna personalizada para obtener el primer viernes correspondiente del mes:
let Dates = Table.FromList( List.Generate( ()=> [Month Start = Date.StartOfMonth(Date.AddMonths(DateTime.LocalNow(),-12)), idx = 11], each [idx] >= 0, each [Month Start = Date.StartOfMonth(Date.AddMonths(DateTime.LocalNow(),-[idx])), idx = [idx]-1], each [Month Start]), Splitter.SplitByNothing(),{"Month Start"}), dateType = Table.TransformColumnTypes(Dates,{"Month Start", Date.Type}), #"Added Custom" = Table.AddColumn(dateType, "First Friday", each Date.StartOfWeek(#date(Date.Year([Month Start]),Date.Month([Month Start]),7),Day.Friday)) in #"Added Custom"¡Espero que esta respuesta resuelva su problema!
Si necesita ayuda adicional, por favor @ me en su respuesta.
Si mi respuesta le proporcionó una solución, considere marcarla como una solución ✔️ o darle un kudoe 👍
¡Gracias!
¡También puedes echar un vistazo a mi LinkedIn!
Saludos
Gonçalo Geraldes - 4 years ago
@mb0307 oye! ¡No hay problema en absoluto! El código es bastante similar en realidad:
let Dates = Table.FromList( List.Generate( ()=> [Month End = Date.EndOfMonth(Date.AddMonths(DateTime.LocalNow(),-12)), idx = 11], each [idx] >= 0, each [Month End = Date.EndOfMonth(Date.AddMonths(DateTime.LocalNow(),-[idx])), idx = [idx]-1], each [Month End]), Splitter.SplitByNothing(),{"Month End"}), dateType = Table.TransformColumnTypes(Dates,{"Month End", Date.Type}), #"Added Custom" = Table.AddColumn(dateType, "Last Friday", each Date.AddDays([Month End], -Date.DayOfWeek([Month End],Day.Friday))) in #"Added Custom"Para obtener ayuda adicional, por favor @ me en su respuesta!
¡También puedes echar un vistazo a mi LinkedIn!
Saludos
Gonçalo Geraldes
@goncalogeraldes gracias por la respuesta, pero esto no me está dando el primer viernes del mes como se muestra en la imagen de mi publicación.
Su consulta solo devuelve Inicio de mes.
@mb0307 mi mal, ¡no entendí tu pregunta correctamente! Puede agregar una columna personalizada basada en su columna Fecha y obtener el primer viernes de cada mes para su tabla de calendario:
Date.StartOfWeek(#date(Date.Year([Date_Key]),Date.Month([Date_Key]),7),Day.Friday)
o bien, puede crear una tabla con los últimos 12 meses y agregar una columna personalizada para obtener el primer viernes correspondiente del mes:
let
Dates = Table.FromList(
List.Generate(
()=> [Month Start = Date.StartOfMonth(Date.AddMonths(DateTime.LocalNow(),-12)), idx = 11],
each [idx] >= 0,
each [Month Start = Date.StartOfMonth(Date.AddMonths(DateTime.LocalNow(),-[idx])), idx = [idx]-1],
each [Month Start]),
Splitter.SplitByNothing(),{"Month Start"}),
dateType = Table.TransformColumnTypes(Dates,{"Month Start", Date.Type}),
#"Added Custom" = Table.AddColumn(dateType, "First Friday", each Date.StartOfWeek(#date(Date.Year([Month Start]),Date.Month([Month Start]),7),Day.Friday))
in
#"Added Custom"
¡Espero que esta respuesta resuelva su problema!
Si necesita ayuda adicional, por favor @ me en su respuesta.
Si mi respuesta le proporcionó una solución, considere marcarla como una solución ✔️ o darle un kudoe 👍
¡Gracias!
¡También puedes echar un vistazo a mi LinkedIn!
Saludos
Gonçalo Geraldes
- Syndicate_Admin4 years ago
Administrator
funcionó perfectamente.
Espero que no te importe que te etiquete para mis futuras consultas.
¡Gracias de nuevo!
- Syndicate_Admin4 years ago
Administrator
@mb0307 ¡Claro que no! Ayudaré en todo lo que pueda 🙂
- Syndicate_Admin4 years ago
Administrator
@goncalogeraldes siento preguntar de nuevo, ¿qué pasa si quiero extraer los datos del ÚLTIMO viernes del mes, por favor? mi requisito cambió a Último viernes del mes. gracias de antemano si puedes ayudar.