Convierta texto en fechas en una columna con tipos de fechas mixtos

Un usuario Pregunto ✅

Anónimo

Hola a todos,

Estoy tratando de hacer estudios de tiempo usando un archivo fuente de Excel con una columna de mes y día llena de datos provenientes de varios países. En la columna de fecha, la mitad de las fechas se escriben como mesdía, la otra mitad se escriben como díames. PowerBI reconoce los valores de día-mes como fechas, pero clasifica los valores de día-mes como texto.

¿Cómo puedo convertir los valores de texto de día y mes en valores de fecha también?

Los valores de día y mes se convierten en «Error» cuando intento transformar el tipo de datos en Power Query Editor.

A continuación, probaré la función PowerQuery DateTimeFromText en la columna monthdaytime, pero no sé cómo afectará esto a los valores de monthday que ya se reconocen como fechas en la misma columna.

¡Cualquier ayuda apreciada!

natabird3

Revelación

cambiar tipo.JPGcolumna personalizada.JPGsalida.JPG

¿Es esto lo que intentas lograr? Puede usar la opción de columna personalizada y crear las reglas necesarias para realizar la transformación que se muestra en las tablas. Espero que esto ayude.

En respuesta a Anónimo

Hola @Anónimo,

¿Tiene otra columna que identifique el tipo de columna de fecha? Por ejemplo la fecha 2/1, si puede ser el primer día de febrero o el segundo día de enero si no tiene ninguna otra columna puede identificar el formato.

Si tiene una, podemos crear una columna personalizada dependiendo de ella fácilmente en Power Query Editor.

if [Type] = "MMDD" then Date.FromText([Date]) else Date.FromText([Date],"fr-SN")

3 PNG4 PNG

Por cierto, pbix como adjunto.

Atentamente,

Equipo de apoyo comunitario _ Dong Li
Si esta publicación ayudaentonces por favor considere Acéptalo como la solución. para ayudar a los otros miembros a encontrarlo más rápidamente.

pastelka

Hola,

Tengo y descargo de SAP, que no puedo cambiar y tengo formatos de fecha mixtos, vea el ejemplo, por favor.

alguna idea de cómo convertirlo a fechas

fecha
M 11.2020
M 02.2021
D 05.02.2021
D 19.02.2021
mi 14,2021
D 09.04.2021
mi 15.2021
mi 16,2021

Gracias

Hola @Anónimo,

¿Qué tal el resultado después de seguir las sugerencias mencionadas en mi publicación original? ¿Podría proporcionar más detalles al respecto si no cumple con sus requisitos?

Atentamente,

Equipo de apoyo comunitario _ Dong Li
Si esta publicación ayudaentonces por favor considere Acéptalo como la solución. para ayudar a los otros miembros a encontrarlo más rápidamente.

natabird3

Revelación

cambiar tipo.JPGcolumna personalizada.JPGsalida.JPG

¿Es esto lo que intentas lograr? Puede usar la opción de columna personalizada y crear las reglas necesarias para realizar la transformación que se muestra en las tablas. Espero que esto ayude.

Anónimo

En respuesta a natabird3

Hola, gracias por tu sugerencia y disculpa la demora en la respuesta.

Si entiendo correctamente su captura de pantalla, crearía una declaración si-entonces para cada día, es decir, hasta 365 si-entonces.

En respuesta a Anónimo

Hola @Anónimo,

Solo necesitamos crear una fórmula if-else si tiene otra columna para cada fila, como las siguientes tablas:

IDENTIFICACIÓN Formato Fecha
1 MMDD 2/1/2019
2 DDMM 2/1/2019
3 DDMM 31/1/2019
4 MMDD 12/1/2019
5 MMDD 10/1/2019

Podemos crear una columna personalizada usando una fórmula basada en la columna de formato. La columna de formato también podría ser el país u otro valor que pueda identificar la forma en que desea formatear la fecha.

Atentamente,

Equipo de apoyo comunitario _ Dong Li
Si esta publicación ayudaentonces por favor considere Acéptalo como la solución. para ayudar a los otros miembros a encontrarlo más rápidamente.

natabird3

En respuesta a Anónimo

Definitivamente no es una forma bonita, pero es una forma rápida de obtener lo que necesita. Tal vez haya una manera de agregar una declaración if para que si el número esté entre 1-31 y 1-12 o algo así, pero no estoy seguro de ser honesto, ya que la forma en que los datos vienen en power bi generalmente está en un formato diferente y así tener que voltear solo el día y el mes es más difícil que si tuvieras el año, diría yo.

saramissbi

En respuesta a natabird3

Hola,

¿Ha intentado usar una columna calculada con Format.

Consulte el enlace de documentación https://docs.microsoft.com/en-us/dax/custom-date-and-time-formats-for-the-format-function

espero que ayude

natabird3

si ya puede identificar fácilmente qué mitad es mes año y qué mitad es año mes, puede separar las columnas y alinearlas correctamente. Lo que significa que si carga en power bi una columna es solo mes año y la otra es solo año mes, puede usar las conversiones dentro de Power bI como en las consultas de edición en la pestaña de transformación, puede dividir la columna por número de caracteres y reordenar las columnas para que coincidan el que funciona bien y luego fusionarlos nuevamente. Luego combine con la otra columna, ya que estará en blanco para la primera mitad y en blanco para la segunda mitad, una vez que se combinen, habrá una columna con la fecha. Espero que esto ayude.

Anónimo

En respuesta a natabird3

Muchas gracias por su rápida respuesta. Olvidé mencionar que el archivo fuente está activo, lo que significa que se le agregan nuevos datos diariamente. La solución que recomendó funcionaría para un archivo estático, pero espero que haya una solución que convierta automáticamente los nuevos datos que ingresan en un formato de fecha.

En respuesta a Anónimo

Hola @Anónimo,

¿Tiene otra columna que identifique el tipo de columna de fecha? Por ejemplo la fecha 2/1, si puede ser el primer día de febrero o el segundo día de enero si no tiene ninguna otra columna puede identificar el formato.

Si tiene una, podemos crear una columna personalizada dependiendo de ella fácilmente en Power Query Editor.

if [Type] = "MMDD" then Date.FromText([Date]) else Date.FromText([Date],"fr-SN")

3 PNG4 PNG

Por cierto, pbix como adjunto.

Atentamente,

Equipo de apoyo comunitario _ Dong Li
Si esta publicación ayudaentonces por favor considere Acéptalo como la solución. para ayudar a los otros miembros a encontrarlo más rápidamente.

natabird3

En respuesta a Anónimo

Porque decía usar un archivo fuente de Excel, así que asumí que es un archivo de Excel. Luego, deberá escribir una columna calculada con declaraciones if.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *