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

Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.

Reply
JAYEBRA
New Member

Crear columna con valor de otra columna

Hola a todos:
Quiero hacer un diagrama de Gantt en el que se visualice el tiempo que tarda un trabajador en realizar uno o varios procesos de

de formación en los que esté apuntado.
He creado un índice que se reinicia en función del trabajador y de su código de formación.

El campo TECNICO es la combinación del técnico + su código de formación para que el índice se reinicie en función de ese valor. Las formaciones constan de 5 estados pero que no todos tienen por qué estar completos (se ven en el campo “ESTADO II”).

Necesitaría crear una columna con la FECHA FIN que se debería completar con el registro siguiente del campo “FECHA INICIO”. Hay que tener en cuenta que debería hacerlo para cada trabajador y codigo de formación.

Aquí pongo la tabla inicial y un ejemplo de como debería quedar.

Captura.JPG

 

Siempre, en el último estado en el que esté, el campo FECHA FIN debería ser la fecha de hoy.

De este modo puedo obtener las duraciones entre ambas fechas y, utilizando una visualización de Diagrama de Gantt, visualizar el progreso y duración de cada estado de la formación.

Espero que me haya explicado bien y que me puedan ayudar.

Un saludo.

1 ACCEPTED SOLUTION

Muchas gracias por la ayuda.

Lo he implementado en la query y funciona perfectamente.

Un saludo

View solution in original post

4 REPLIES 4
lbendlin
Super User
Super User

Please provide sample data that covers your issue or question completely, in a usable format (not as a screenshot).

Do not include sensitive information or anything not related to the issue or question.

If you are unsure how to upload data please refer to https://community.fabric.microsoft.com/t5/Community-Blog/How-to-provide-sample-data-in-the-Power-BI-...

Please show the expected outcome based on the sample data you provided.

Want faster answers? https://community.fabric.microsoft.com/t5/Desktop/How-to-Get-Your-Question-Answered-Quickly/m-p/1447...

Hola:

Disculpad por no haber pasado la tabla. Sería esta. He cambiado datos en el campo "FECHA INICIO" para que se vea más claro.

Gracias

 

Hoja1.ESTADO IIFECHA INICIOTECNICOIndice
0-Creado19/03/2024TRABAJADOR1PQ0
1- Plan de Formación Pendiente19/04/2024TRABAJADOR1PQ1
2- Solicitud de aprobación PF19/05/2024TRABAJADOR1PQ2
3- Plan de Formación Validado19/06/2024TRABAJADOR1PQ3
0-Creado21/03/2024TRABAJADOR2AT0
1- Plan de Formación Pendiente21/04/2024TRABAJADOR2AT1
2- Solicitud de aprobación PF10/05/2024TRABAJADOR2AT2
3- Plan de Formación Validado25/07/2024TRABAJADOR2AT3
4- Aprobado por el tutor30/08/2024TRABAJADOR2AT4
5- Aprobado por el responsable01/09/2024TRABAJADOR2AT5
0-Creado19/03/2024TRABAJADOR2AP10
1- Plan de Formación Pendiente11/04/2024TRABAJADOR2AP11
2- Solicitud de aprobación PF11/05/2024TRABAJADOR2AP12
3- Plan de Formación Validado11/06/2024TRABAJADOR2AP13
0-Creado27/10/2021TRABAJADOR3EFI-EE0
1- Plan de Formación Pendiente27/11/2021TRABAJADOR3EFI-EE1
2- Solicitud de aprobación PF27/12/2021TRABAJADOR3EFI-EE2
3- Plan de Formación Validado27/01/2022TRABAJADOR3EFI-EE3
4- Aprobado por el tutor27/02/2022TRABAJADOR3EFI-EE4
5- Aprobado por el responsable27/03/2023TRABAJADOR3EFI-EE5

let
    Table = let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("jZJLbsMgFEW3gjyOZT523QxJa0vtpG4adWJlQAIDJBcs4qysS+jGCpbdpioYD5HePXAet20TmD4YwbhONgnaZpBkGOLcHg57uqPP9PFlj5rX5LhpE5SCpmMKcAFqbT7YWX59KtAIxaVQg5gAeRiAU/CmO3mWw5U7CuuNPs2YesoX4TzxPuCddZL/CtyF8zeqGHlVMT2sVHUAj+oMiKtCr+qcj6riIoNlOJ+ngI5Xcg16bYDowHAdtLHDxN58H04W/5NGXHqtLuzUOXNozbfhfLxPmDZobaFCW54I8TWjwJonQLxSyFupH8Btp8rM/qodRX9GSVU/pVW1tlcWgpYhUWnHwMuMeL/KDI7vwEHGQsdcGi+noz1zjLE9xM84fgM=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"Hoja1.ESTADO II" = _t, #"FECHA INICIO" = _t, TECNICO = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Hoja1.ESTADO II", type text}, {"FECHA INICIO", type date}, {"TECNICO", type text}},"es-MX"),
    #"Grouped Rows" = Table.Group(#"Changed Type", {"TECNICO"}, {{"Rows", each process(_), type table [Hoja1.ESTADO II=nullable text, FECHA INICIO=nullable date, TECNICO=nullable text, Indice=Int64.Type, FECHA FIN=nullable date]}}),
    process = (t)=>
       let 
         #"Added Index" = Table.AddIndexColumn(t, "Indice", 0, 1, Int64.Type),
         #"Added Custom" = Table.AddColumn(#"Added Index", "FECHA FIN", each try #"Added Index"{[Indice]+1}[FECHA INICIO] otherwise null, type date)
       in
          #"Added Custom"
    in #"Grouped Rows",
    #"Expanded Rows" = Table.ExpandTableColumn(Table, "Rows", {"Hoja1.ESTADO II", "FECHA INICIO", "Indice", "FECHA FIN"}, {"Hoja1.ESTADO II", "FECHA INICIO", "Indice", "FECHA FIN"})
in
    #"Expanded Rows"

How to use this code: Create a new Blank Query. Click on "Advanced Editor". Replace the code in the window with the code provided here. Click "Done". Once you examined the code, replace the Source step with your own source.

Muchas gracias por la ayuda.

Lo he implementado en la query y funciona perfectamente.

Un saludo

Helpful resources

Announcements
RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

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

MayPowerBICarousel

Power BI Monthly Update - May 2024

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

LearnSurvey

Fabric certifications survey

Certification feedback opportunity for the community.

Top Solution Authors
Top Kudoed Authors