Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Grow your Fabric skills and prepare for the DP-600 certification exam by completing the latest Microsoft Fabric challenge.

Reply
josevaras
Employee
Employee

Cambiar el final de la semana mediante la consulta de fecha

Hola, tengo la consulta de fechas pre-hechas a continuación que uso en mis informes. Lo necesito para que el último día de la semana sea un viernes, no un sábado como lo tiene ahora. ¿Cómo lo hago? ¿Puedo editar lo siguiente o tendré que hacer algo más? Tia

let fnDateTable (StartDate as date, EndDate as date, FYStartMonth as number) como tabla ?>
Dejar
DayCount ? Duration.Days(Duration.From(EndDate - StartDate)),
Origen: List.Dates(StartDate,DayCount,#duration(1,0,0,0)),
TableFromList ? Table.FromList(Source, Splitter.SplitByNothing()),
ChangedType á Table.TransformColumnTypes(TableFromList,-"Column1", tipo date-),
RenamedColumns ? Table.RenameColumns(ChangedType,'Column1", "Date" ? )
InsertYear ? Table.AddColumn(RenamedColumns, "Year", each Date.Year([Date]),type text),
InsertYearNumber ? Table.AddColumn(RenamedColumns, "YearNumber", each Date.Year([Date])),
InsertQuarter á Table.AddColumn(InsertYear, "QuarterOfYear", each Date.QuarterOfYear([Date])),
InsertMonth á Table.AddColumn(InsertQuarter, "MonthOfYear", each Date.Month([Date]), escriba texto),
InsertDay ? Table.AddColumn(InsertMonth, "DayOfMonth", each Date.Day([Date])),
InsertDayInt ? Table.AddColumn(InsertDay, "DateInt", cada [Año] * 10000 + [MonthOfYear] * 100 + [DayOfMonth]),
InsertMonthName ? Table.AddColumn(InsertDayInt, "MonthName", each Date.ToText([Date], "MMMM"), escriba texto), escriba texto),
InsertCalendarMonth á Table.AddColumn(InsertMonthName, "MonthInCalendar", cada uno (try(Text.Range([MonthName],0,3)) de lo contrario [MonthName]) & " " & Number.ToText([Year])),
InsertCalendarQtr á Table.AddColumn(InsertCalendarMonth, "QuarterInCalendar", cada "Q" & Number.ToText([QuarterOfYear]) & " " & Number.ToText([Year])),
InsertDayWeek ? Table.AddColumn(InsertCalendarQtr, "DayInWeek", each Date.DayOfWeek([Date])),
InsertDayName ? Table.AddColumn(InsertDayWeek, "DayOfWeekName", each Date.ToText([Date], "dddd"), escriba texto), escriba texto),
InsertWeekEnding ? Table.AddColumn(InsertDayName, "WeekEnding", each Date.EndOfWeek([Date]), tipo date),
InsertWeekNumberTM Table.AddColumn(InsertWeekEnding, "Week Number", each Date.WeekOfYear([Date])),
InsertMonthnYear á Table.AddColumn(InsertWeekNumber,"MonthnYear", cada [Año] * 10000 + [MonthOfYear] * 100),
InsertQuarternYear á Table.AddColumn(InsertMonthnYear,"QuarternYear", each [Year] * 10000 + [QuarterOfYear] * 100),
ChangedType1 ? Table.TransformColumnTypes(InsertQuarternYear,'QuarternYear", Int64.Type','Número de semana', Int64.Type','Año', escriba text','MonthnYear', Int64.Type, "DateInt", Int64.Type, "DayOfMonth", Int64.Type, "MonthOfYear", Int64.Type, "QuarterOfYear", Int64.Type, "MonthInCalendar", escriba text, "QuarterInCalendar", escriba text, "DayInWeek", Int64.Type,),
InsertShortYear á Table.AddColumn(ChangedType1, "ShortYear", each Text.End(Text.From([Year]), 2), texto de tipo),
AddFY - Table.AddColumn(InsertShortYear, "FY", cada "FY"&(if [MonthOfYear]>-FYStartMonth then Text.From(Number.From([ShortYear])+1) else [ShortYear]))
En
AddFY
En
fnDateTable

1 ACCEPTED SOLUTION
Fowmy
Super User
Super User

@josevaras

En la función, agregue un parámetro Day.Saturday en las tres funciones que mostré a continuación, puede agregar la semana a partir del sábado para obtener el viernes como fin de semana.

InsertDayWeek = Table.AddColumn(InsertCalendarQtr, "DayInWeek", each Date.DayOfWeek([Date],Day.Saturday)),
InsertWeekEnding = Table.AddColumn(InsertDayName, "WeekEnding", each Date.EndOfWeek([Date],Day.Saturday), type date),
InsertWeekNumber= Table.AddColumn(InsertWeekEnding, "Week Number", each Date.WeekOfYear([Date],Day.Saturday)),

________________________

¿He respondido a tu pregunta? Marque este post como una solución, esto ayudará a otros!.

Haga clic en el icono Thumbs-Up si le gusta esta respuesta 🙂

Youtube Linkedin

Did I answer your question? Mark my post as a solution! and hit thumbs up


Subscribe and learn Power BI from these videos

Website LinkedIn PBI User Group

View solution in original post

4 REPLIES 4
Fowmy
Super User
Super User

@josevaras

En la función, agregue un parámetro Day.Saturday en las tres funciones que mostré a continuación, puede agregar la semana a partir del sábado para obtener el viernes como fin de semana.

InsertDayWeek = Table.AddColumn(InsertCalendarQtr, "DayInWeek", each Date.DayOfWeek([Date],Day.Saturday)),
InsertWeekEnding = Table.AddColumn(InsertDayName, "WeekEnding", each Date.EndOfWeek([Date],Day.Saturday), type date),
InsertWeekNumber= Table.AddColumn(InsertWeekEnding, "Week Number", each Date.WeekOfYear([Date],Day.Saturday)),

________________________

¿He respondido a tu pregunta? Marque este post como una solución, esto ayudará a otros!.

Haga clic en el icono Thumbs-Up si le gusta esta respuesta 🙂

Youtube Linkedin

Did I answer your question? Mark my post as a solution! and hit thumbs up


Subscribe and learn Power BI from these videos

Website LinkedIn PBI User Group

@Fowmy  muchas gracias caballero. trabajo de maravilla 🙂

¡Gracias!

¿Esperamos que pueda aceptarlo como una solución si funciona para usted?

________________________

¿He respondido a tu pregunta? Marque este post como una solución, esto ayudará a otros!.

Haga clic en el icono Thumbs-Up si le gusta esta respuesta 🙂

Youtube Linkedin

Did I answer your question? Mark my post as a solution! and hit thumbs up


Subscribe and learn Power BI from these videos

Website LinkedIn PBI User Group

amitchandak
Super User
Super User

@josevaras ,

En M tienes Date.DayOfWeek ,Date.DayOfWeek . Inténtalo como

Date.AddDays([Date] +6- Date.DayOfWeek([Date], Day.Saturday))

Tengo blog dax con lógica donde tienes un calendario para cada día de la semana

refer - tratar de convertir la lógica a M

Cualquier semana de día de la semana -
https://community.powerbi.com/t5/Community-Blog/Any-Weekday-Week-Decoding-Date-and-Calendar-2-5-Powe...

En M tienes Date.DayOfWeek ,Date.DayOfWeek . Inténtalo como

Date.AddDays([Date] +6- Date.DayOfWeek([Date], Day.Saturday))

Helpful resources

Announcements
Europe Fabric Conference

Europe’s largest Microsoft Fabric Community Conference

Join the community in Stockholm for expert Microsoft Fabric learning including a very exciting keynote from Arun Ulag, Corporate Vice President, Azure Data.

RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

Ask questions in Eventhouse and KQL, Eventstream, and Reflex.

Top Solution Authors