Forum Discussion

grgilardi's avatar
grgilardi
Frequent Visitor
2 years ago
Solved

Transformarde texto a fecha

Hola a todos,

Estoy trabajando en la transformación de unos datos que provienen de un archivo obtenido a través de Google Sheets. El problema que estoy enfrentando es que el campo de fecha aparece como texto y no me permite convertirlo al formato date/time (fecha y hora). He intentado varias opciones pero sin éxito.

¿Alguien ha tenido un problema similar o podría ayudarme con una solución para convertir este campo correctamente?

Adjunto una captura de pantalla para que puedan ver más detalles del campo que estoy intentando transformar.

¡Gracias de antemano!

  • Pruebe con la cultura

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WCilNVTAwVghOLdBRMDKwMjW1MjZWcPcNAXKMTJRiYwE=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Column1 = _t]),
        #"Added Custom" = Table.AddColumn(Source, "Custom", each DateTimeZone.FromText(Text.Replace([Column1],"GMT ","+00 "),[Format="ddd dd MMM, HH:mm:ss zz yyyy", Culture="en-US"]),type datetimezone)
    in
        #"Added Custom"

5 Replies

  • Hola, lbendlin y parry2k, gracias por su preocupación sobre este tema.

    ¡Tus respuestas son excelentes!
    Y me gustaría compartir algunas soluciones adicionales a continuación.
    Después de mis pruebas, el código M proporcionado por lbendlin funciona muy bien y convierte con éxito el texto a la fecha correspondiente.

    ¿Tu problema ha sido resuelto?

    Si ha encontrado soluciones adecuadas, compártalas, ya que ayudará a más usuarios con problemas similares.

    O puede marcar las sugerencias válidas proporcionadas por otros usuarios como soluciones.

    Muchas gracias por su comprensión y apoyo de Power BI.

    Espero que mis sugerencias le den buenas ideas, si tiene más preguntas, aclare en una respuesta de seguimiento.

    Saludos

    Carson Jian

  • @Syndicate_Admin tal vez convertirlo primero a zona horaria y luego, en el siguiente paso, convertirlo en tipo de fecha. También puede hacer esto en un solo paso, pero primero pruebe esto y veamos si esto funciona.

  • let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WCilNVTAwVghOLdBRMDKwMjW1MjZWcPcNAXKMTJRiYwE=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Column1 = _t]),
        #"Added Custom" = Table.AddColumn(Source, "Custom", each DateTimeZone.FromText(Text.Replace([Column1],"GMT ","+00 "),[Format="ddd dd MMM, HH:mm:ss zz yyyy"]),type datetimezone)
    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 el paso Source por su propio código fuente.

  • grgilardi's avatar
    grgilardi
    Frequent Visitor

    Gracias, pero creo que no me funcionó...comparto screenshot.

     

     

     

     

    • Syndicate_Admin's avatar
      Syndicate_Admin
      Icon for Administrator rankAdministrator

      Pruebe con la cultura

      let
          Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WCilNVTAwVghOLdBRMDKwMjW1MjZWcPcNAXKMTJRiYwE=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Column1 = _t]),
          #"Added Custom" = Table.AddColumn(Source, "Custom", each DateTimeZone.FromText(Text.Replace([Column1],"GMT ","+00 "),[Format="ddd dd MMM, HH:mm:ss zz yyyy", Culture="en-US"]),type datetimezone)
      in
          #"Added Custom"