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

Enhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.

Reply
Syndicate_Admin
Administrator
Administrator

¿Cómo puedo crear períodos de 14 días en mi tabla de calendario?

Tengo una tabla de calendario básica y estoy buscando una manera de agregar períodos de 14 días que comienzan un miércoles y terminan el martes que es 14 días después. A continuación se muestra un ejemplo de lo que estoy buscando tener.

¿Hay alguna forma de agregar el Week_Start y el Week_Start_Number a mi tabla de calendario? Preferiría hacer esto en Power Query si es posible, pero también estaría dispuesto a usar DAX.

Two Week Periods.png

11 REPLIES 11
Syndicate_Admin
Administrator
Administrator

Hola ERing,

Queremos comprobar si los detalles que hemos dado han resuelto su problema.
Si necesita más ayuda, puede comunicarse con la comunidad de Microsoft Fabric.

Gracias.

Syndicate_Admin
Administrator
Administrator

Gracias @lbendlin, por su respuesta.


Hola ERing,

Nos gustaría preguntarle si ha tenido la oportunidad de revisar la solución proporcionada por @lbendlin para resolver el problema. Además, se adjunta la captura de pantalla y el archivo PBIX de muestra basado en los datos iniciales proporcionados:

vpnarojumsft_1-1752941489389.png

Esperamos que la información proporcionada aquí ayude a aclarar su consulta. Si tiene más preguntas o necesita ayuda adicional, no dude en ponerse en contacto con la comunidad de Microsoft Fabric.

Gracias.

Syndicate_Admin
Administrator
Administrator

Gracias, @lbendlin, @Ashish_Mathur por su respuesta.

Hola ERing,

Agradecemos su pregunta en el foro de la comunidad de Microsoft Fabric.

Basándome en mi comprensión del problema, se adjunta una captura de pantalla y un archivo PBIX de muestra que puede ayudar a resolver el asunto:

vpnarojumsft_0-1752659217161.png

Esperamos que la información proporcionada ayude a resolver el problema.
Si tiene más preguntas, no dude en ponerse en contacto con la comunidad de Microsoft Fabric.

Gracias.

@v-pnaroju-msft Gracias, pero esto no me da lo que necesito.

En el ejemplo que proporcionó, la fecha 7/1/2024 y 7/2/2024 son lunes y martes. De hecho, deberían tener una fecha Week_Start del 26/6/2024 (el miércoles anterior). 7/1/2024 y 7/2/2024 también deberían tener un Week_Start_Number de 1. 3/7/2024 - 16/7/2024 tendría un Week_Start del 3/7/2024 y un Week_Start_Number de 2.

Adjunto un archivo de muestra a continuación donde la primera fecha en el calendario es un domingo (1/1/2023). En este ejemplo, 1/1/2023 - 3/1/2023 tendría un Week_Start de 28/12/2022 (el miércoles anterior) y 1/1/2023 - 3/1/2023 tendría un Week_Start_Number de 1. 1/4/2023 - 1/17/2023 tendría un Week_Start de 1/4/2023 y un Week_Start_Number de 2. 18/01/2023 - 31/01/2023 tendría un Week_Start del 18/01/2023 y un Week_Start_Number de 3.


Ejemplo de inicio de período de recuento personalizado de 14 días

Syndicate_Admin
Administrator
Administrator

Hola

Escriba esta fórmula de columna calculada para crear la columna de fecha week_start

Week_start = si(día(calendario[fecha])<=15,fecha(año(calendario[fecha]),mes(calendario[fecha]),1),fecha(año(calendario[fecha]),mes(calendario[fecha]),15))

Espero que esto ayude.

@Ashish_Mathur Gracias. Esto está cerca, pero no es exactamente lo que necesito.

Mi objetivo es tener algo que se reinicie después de 14 días (cada 15 días). Por lo tanto, los períodos deben comenzar el 15/01/2020, el 29/01/2020 y el 11/02/2020. etcetera.

ERing_0-1752767561047.png

Syndicate_Admin
Administrator
Administrator

Período de 14 días = 1 + Int64.From(Date.WeekNumber([Date])/2)

Esta sería una columna personalizada en PQ, ¿verdad? Intenté agregar esto, pero recibo un mensaje de error.

ERing_1-1752767992558.png

let
    Source = List.Dates(#date(2025,1,1),100,#duration(1,0,0,0)),
    #"Converted to Table" = Table.FromList(Source, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
    #"Renamed Columns" = Table.RenameColumns(#"Converted to Table",{{"Column1", "Date"}}),
    #"Changed Type" = Table.TransformColumnTypes(#"Renamed Columns",{{"Date", type date}}),
    #"Added Custom" = Table.AddColumn(#"Changed Type", "Week_Start_Number", each Int64.From(Date.DayOfYear([Date])/14+0.49))
in
    #"Added Custom"

Cómo usar este código: Cree una nueva consulta en blanco. Haga clic en "Editor avanzado". Reemplace el código en la ventana con el código proporcionado aquí. Haga clic en "Listo". Una vez que haya examinado el código, reemplace todo el paso de origen con su propio código fuente.

Gracias @lbendlin Esto definitivamente me acerca, pero algunas preguntas adicionales.

1. ¿Cómo puedo agregar la columna Week_Start (debería haberla llamado Period_Start) en la publicación original? La intención es mostrar la primera fecha en cada período de 14 días.

2. Parece que puedo cambiar el número "14" por cualquier número que desee y me dará ese número de días como intervalos al asignar un Week_Start_Number. ¿Te parece correcto?

3. El código de la tabla de mi calendario está a continuación. Parece que simplemente puedo agregar la última línea de código que proporcionó antes del "in" en mi código para obtener el Week_Start_Number. ¿Te parece correcto?

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjDUByIjAyMDpdhYAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [StartDate = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"StartDate", type date}}),
    #"Added Custom" = Table.AddColumn(#"Changed Type", "EndDate", each Date.From(DateTime.LocalNow())),
    #"Changed Type1" = Table.TransformColumnTypes(#"Added Custom",{{"EndDate", type date}}),
    #"Added Custom1" = Table.AddColumn(#"Changed Type1", "Date", each {Number.From([StartDate])..Number.From([EndDate])}),
    #"Expanded Date" = Table.ExpandListColumn(#"Added Custom1", "Date"),
    #"Changed Type2" = Table.TransformColumnTypes(#"Expanded Date",{{"Date", type date}}),
    #"Removed Columns" = Table.RemoveColumns(#"Changed Type2",{"StartDate", "EndDate"}),
    #"Duplicated Column" = Table.DuplicateColumn(#"Removed Columns", "Date", "Date - Copy"),
    #"Extracted Year" = Table.TransformColumns(#"Duplicated Column",{{"Date - Copy", Date.Year, Int64.Type}}),
    #"Renamed Columns" = Table.RenameColumns(#"Extracted Year",{{"Date - Copy", "Year"}})
in
    #"Renamed Columns"

#"Added Custom" = Table.AddColumn(#"Changed Type", "Week_Start_Number", each Int64.From(Date.DayOfYear([Date])/14+0.49)

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjDUByIjAyMDpdhYAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [StartDate = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"StartDate", type date}}),
    #"Added Custom" = Table.AddColumn(#"Changed Type", "EndDate", each Date.From(DateTime.LocalNow()),type date),
    #"Added Custom1" = Table.AddColumn(#"Added Custom", "Date", each {Number.From([StartDate])..Number.From([EndDate])}),
    #"Expanded Date" = Table.ExpandListColumn(#"Added Custom1", "Date"),
    #"Changed Type2" = Table.TransformColumnTypes(#"Expanded Date",{{"Date", type date}}),
    #"Removed Columns" = Table.RemoveColumns(#"Changed Type2",{"StartDate", "EndDate"}),
    #"Added Custom2" = Table.AddColumn(#"Removed Columns", "Year", each Date.Year([Date]), Int64.Type),
    #"Added Custom3" = Table.AddColumn(#"Added Custom2", "Period_Start", each Int64.From(Date.DayOfYear([Date])/14+0.49),Int64.Type)
in
    #"Added Custom3"

Tenga en cuenta que el contador se reinicia cada año.

Helpful resources

Announcements
July 2025 community update carousel

Fabric Community Update - July 2025

Find out what's new and trending in the Fabric community.

July PBI25 Carousel

Power BI Monthly Update - July 2025

Check out the July 2025 Power BI update to learn about new features.

Top Solution Authors