Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more.
Get startedGrow your Fabric skills and prepare for the DP-600 certification exam by completing the latest Microsoft Fabric challenge.
Mi fecha de inicio parece estar equivocada en mi tabla de citas. Está mostrando que este año tiene 52 semanas y lo necesito para mostrar 53.
Creo que necesito agregar algún tipo de código de fecha de inicio a la consulta M. Si alguien sabe cómo hacer esto, o qué agregar, eso sería genial. Necesito la semana para empezar el domingo.
¡Gracias!
(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
Solved! Go to Solution.
Allí @texmexdragon
Debe cambiar estas dos líneas:
InsertDayWeek = Table.AddColumn(InsertCalendarQtr, "DayInWeek", cada Date.DayOfWeek([Fecha],1)),
InsertWeekEnding = Table.AddColumn(InsertDayName, "WeekEnding", cada Date.EndOfWeek([Fecha],1), fecha de tipo),
Por favor, marque la pregunta resuelta cuando haya terminado y considere la posibilidad de dar un pulgar hacia arriba si las publicaciones son útiles.
Póngase en contacto conmigo de forma privada para obtener soporte con cualquier necesidad de BI a mayor escala, tutoría, etc.
Salud
@texmexdragon Pero 2019 tiene 53 semanas si comienzas una semana un domingo como los días 29, 30 y 31 están todos en la semana 53 del año. De hecho, 365/7 a 52,14 por lo que todos/casi todos los años técnicamente tendrán 1 o más fechas que caen en una semana 53 en general.
Hola @texmexdragon , se ha resuelto el problema? Si es así, acepte la publicación adecuada como la solución o publique su propia solución para ayudar a cerrar este tema. Más gente se beneficiará de ello. Muchas gracias.
Además, hay 51 domingos en 2019. Así que si decide contar 52 o 53 semanas en 2019 o funciona. Sólo tiene que seguir la misma regla durante semanas a lo largo de dos años para evitar perder o repetir días de conteo en estas semanas para diferentes años.
Saludos
Equipo de apoyo a la comunidad _ Jing Zhang
@texmexdragon IDK, semanas en 2019 - Bing
52 semanas y 1 día. Cuento 53 semanas en este calendario a menos que no cuentes la primera semana de enero porque no hay domingo.
@texmexdragon
Lo que ya tiene es una función, puede proporcionar los valores para los parámetros según sea necesario.
Puede pegar lo siguiente en una consulta en blanco, las tres líneas iniciales son para que introduzca los valores:
let
StartDate = #date(2020,1,1),
EndDate = #date(2020,12,31),
FYStartMonth = 1,
DayCount = Duration.Days(Duration.From(EndDate - StartDate)),
Source = List.Dates(StartDate,DayCount,#duration(1,0,0,0)),
TableFromList = Table.FromList(Source, Splitter.SplitByNothing()),
ChangedType = Table.TransformColumnTypes(TableFromList,{{"Column1", type 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]), type text),
InsertDay = Table.AddColumn(InsertMonth, "DayOfMonth", each Date.Day([Date])),
InsertDayInt = Table.AddColumn(InsertDay, "DateInt", each [Year] * 10000 + [MonthOfYear] * 100 + [DayOfMonth]),
InsertMonthName = Table.AddColumn(InsertDayInt, "MonthName", each Date.ToText([Date], "MMMM"), type text),
InsertCalendarMonth = Table.AddColumn(InsertMonthName, "MonthInCalendar", each (try(Text.Range([MonthName],0,3)) otherwise [MonthName]) & " " & Number.ToText([Year])),
InsertCalendarQtr = Table.AddColumn(InsertCalendarMonth, "QuarterInCalendar", each "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"), type text),
InsertWeekEnding = Table.AddColumn(InsertDayName, "WeekEnding", each Date.EndOfWeek([Date]), type date),
InsertWeekNumber= Table.AddColumn(InsertWeekEnding, "Week Number", each Date.WeekOfYear([Date])),
InsertMonthnYear = Table.AddColumn(InsertWeekNumber,"MonthnYear", each [Year] * 10000 + [MonthOfYear] * 100),
InsertQuarternYear = Table.AddColumn(InsertMonthnYear,"QuarternYear", each [Year] * 10000 + [QuarterOfYear] * 100),
ChangedType1 = Table.TransformColumnTypes(InsertQuarternYear,{{"QuarternYear", Int64.Type},{"Week Number", Int64.Type},{"Year", type text},{"MonthnYear", Int64.Type}, {"DateInt", Int64.Type}, {"DayOfMonth", Int64.Type}, {"MonthOfYear", Int64.Type}, {"QuarterOfYear", Int64.Type}, {"MonthInCalendar", type text}, {"QuarterInCalendar", type text}, {"DayInWeek", Int64.Type}}),
InsertShortYear = Table.AddColumn(ChangedType1, "ShortYear", each Text.End(Text.From([Year]), 2), type text),
AddFY = Table.AddColumn(InsertShortYear, "FY", each "FY"&(if [MonthOfYear]>=FYStartMonth then Text.From(Number.From([ShortYear])+1) else [ShortYear]))
in
AddFY
________________________
Si mi respuesta fue útil, haga clic en Aceptarla como la solución para ayudar a otros miembros a encontrarla útil
Haga clic en el icono Thumbs-Up si le gusta esta respuesta 🙂
⭕ Subscribe and learn Power BI from these videos
⚪ Website ⚪ LinkedIn ⚪ PBI User Group
@Fowmy Pregunta. Así que mi tabla de fechas debe volver el 1 de enero de 2017 y finalizar el 31 de diciembre de 2024. ¿Cambiaría las fechas de inicio y finalización de su código a esa fecha? ¿Y copiar el resto del código?
Mi preocupación / pregunta también es que tengo varias columnas calculadas personalizadas ya en uso, y creo que sobrescribir mi código de tabla de fechas actual afectaría esto. Es así como columnas personalizadas en el editor de consultas que tengo. La solución del otro cartel por encima de sólo modificar el código parecía funcionar... para el año 2020.....pero también me está dando 53 semanas para 2019.
Allí @texmexdragon
Debe cambiar estas dos líneas:
InsertDayWeek = Table.AddColumn(InsertCalendarQtr, "DayInWeek", cada Date.DayOfWeek([Fecha],1)),
InsertWeekEnding = Table.AddColumn(InsertDayName, "WeekEnding", cada Date.EndOfWeek([Fecha],1), fecha de tipo),
Por favor, marque la pregunta resuelta cuando haya terminado y considere la posibilidad de dar un pulgar hacia arriba si las publicaciones son útiles.
Póngase en contacto conmigo de forma privada para obtener soporte con cualquier necesidad de BI a mayor escala, tutoría, etc.
Salud
Usando esta solución.... Pensé que lo tenía funcionando.... pero mirando más de cerca: 2020 parece ser fijo. Pero ahora 2019 aparece con 53 semanas. ¿Alguna idea? Necesito 2019 para mostrar, correctamente, 52 semanas, pero sólo 2020 debe mostrar 53.
@texmexdragon Pero 2019 tiene 53 semanas si comienzas una semana un domingo como los días 29, 30 y 31 están todos en la semana 53 del año. De hecho, 365/7 a 52,14 por lo que todos/casi todos los años técnicamente tendrán 1 o más fechas que caen en una semana 53 en general.
@Greg_Deckler Parece que hay una serie de sitios web "calendario" que dicen que 2019 tiene 52 semanas, pero la información varía de un sitio a un sitio. Supongo que todo depende de la fecha de "inicio" de la semana, que en mi caso aquí en los EE.UU. quiero estar un domingo. La mayoría de los sitios parecen estar de acuerdo en que 2019 tiene sólo 52 semanas, aunque por lo que he visto.
Join the community in Stockholm for expert Microsoft Fabric learning including a very exciting keynote from Arun Ulag, Corporate Vice President, Azure Data.
Ask questions in Eventhouse and KQL, Eventstream, and Reflex.
User | Count |
---|---|
1 | |
1 | |
1 | |
1 | |
1 |