Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Icon for Administrator rankAdministrator
4 years ago
Solved

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 fech...
  • Syndicate_Admin's avatar
    Syndicate_Admin
    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)

    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

  • Syndicate_Admin's avatar
    Syndicate_Admin
    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