cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Syndicate_Admin
Administrator
Administrator

Primer viernes de cada mes - Power Query

Hola

Necesita a continuación en Power Query solamente, por favor:

Usando el mes actual como referencia, quiero crear 12 consultas en blanco que se usarán como parámetros, que muestran la fecha del primer viernes de cada mes. 12 consultas serán de los últimos 12 meses.

Friday.jpg

Gracias de antemano

2 ACCEPTED SOLUTIONS

@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)

goncalogeraldes_0-1635419400441.png

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"

goncalogeraldes_1-1635419425551.png

¡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

View solution in original post

@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

View solution in original post

8 REPLIES 8
Syndicate_Admin
Administrator
Administrator

¡Hola @mb0307! Puede lograrlo con lo siguiente:

Date.AddMonths(Date.StartOfMonth(DateTime.LocalNow()), -12)

¡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

@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)

goncalogeraldes_0-1635419400441.png

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"

goncalogeraldes_1-1635419425551.png

¡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

View solution in original post

@goncalogeraldes

funcionó perfectamente.

Espero que no te importe que te etiquete para mis futuras consultas.

¡Gracias de nuevo!

@mb0307 ¡Claro que no! Ayudaré en todo lo que pueda 🙂

@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.

@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

View solution in original post

@goncalogeraldes magnífico! resultado perfecto. MUCHAS GRACIAS 🙂

Helpful resources

Announcements
UG GA Amplification 768x460.png

Launching new user group features

Learn how to create your own user groups today!

November Power BI Update 768x460.png

Check it Out!

Click here to read more about the November 2021 Updates!

M365 768x460.jpg

Microsoft 365 Collaboration Conference | December 7–9, 2021

Join us, in-person, December 7–9 in Las Vegas, for the largest gathering of the Microsoft community in the world.