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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
ErikBI
Resolver I
Resolver I

Creación de varias tablas de fechas en una tabla

Hola, chicos

Tengo esta cosa que estoy tratando de crear, pero me faltan las habilidades para ello. Es difícil exlain en el título, así que trataré de ser lo más claro posible con mis datos a continuación:

Mis datos de entrada tienen este aspecto:

Fase es sólo un código para un proyecto. Marca de inicio y finalización la fecha de inicio y finalización de dicha fase.

FaseEmpezarFinal
A1-1-201931-12-2019
B1-5-201931-12-2020
C1-1-201931-12-2020
D22-7-201929-5-2020
E22-7-201929-5-2020
F22-7-201931-12-2019
G22-7-201929-5-2020
H22-7-201929-5-2020
I22-7-201929-5-2020
J22-7-201929-5-2020
K22-7-201929-5-2020

Lo que estoy tratando de lograr es una tabla de fechas que se ve así, donde se crea una fila para cada día entre el inicio y el final por fase. Así que para la fase A tendría 356 filas creadas para cada día del año, y después de eso pasa a la fase B donde crea una fila para cada día entre 1-5-2019 y 31-12-2019, etc.

FechaFase
1-1-2019A
2-1-2019A
3-1-2019A
....
29-12-2019A
30-12-2019A
31-12-2019A
1-5-2019B
2-5-2019B
3-5-2019B
....
29-12-2019B
30-12-2019B
31-12-2019B
1-1-2019C
2-1-2019C
3-1-2019C
....
29-12-2020C
30-12-2020C
31-12-2020C
etcetera

Recientemente aprendí a crear una tabla de fechas, pero esta fase añade un elemento por encima de mis habilidades. Espero que alguien sepa cómo lograr esto, ¡porque me ayudará mucho!

¡Gracias!

3 REPLIES 3
v-easonf-msft
Community Support
Community Support

Hola , @ErikBI

Haga clic en Nuevo origen ->crear una consulta en blanco->Editor avanzado

A continuación, pegue el siguiente código M:

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WclTSUTLUN9Q3MjC0BDGN9I2hnFidaCUnoJAppqyRAVjWGbteqKwLUMhc38gIJm2qb2SJkHXFK+uGJovmLHe8mj3wynrilfXCK+uNWzYWAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Phase = _t, start = _t, end = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Phase", type text}, {"start", type date}, {"end", type date}}),
    #"Added Custom" = Table.AddColumn(#"Changed Type", "Custom", each Duration.TotalDays(Date.StartOfDay([end])-Date.StartOfDay([start]))),
    #"Added Custom1" = Table.AddColumn(#"Added Custom", "Custom.1", each List.Generate(()=>[Custom], each _ >= 0, each _ - 1)),
    #"Expanded Custom.1" = Table.ExpandListColumn(#"Added Custom1", "Custom.1"),
    #"Added Custom2" = Table.AddColumn(#"Expanded Custom.1", "Date", each if [Custom.1]=[Custom] then [start] else  Date.AddDays(Date.StartOfDay([start]),[Custom]-[Custom.1])),
    #"Removed Columns" = Table.RemoveColumns(#"Added Custom2",{"start", "end", "Custom", "Custom.1"}),
    #"Changed Type1" = Table.TransformColumnTypes(#"Removed Columns",{{"Date", type date}}),
    #"Sorted Rows" = Table.Sort(#"Changed Type1",{{"Phase", Order.Ascending}, {"Date", Order.Ascending}})
in
    #"Sorted Rows"

Para obtener más detalles, haga doble clic en el paso en "PASOS APLICADOS".

90.png

muestra pbix adjunta

Saludos
Equipo de soporte de la comunidad _ Eason
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

¡Brillante! tomó un poco de juguete con el editor avanzado para ajustar los datos de origen, pero parece funcionar perfectamente ahora.

¡Gracias!

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

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