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
¿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.
v-tapa-msft
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")
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
v-tapa-msft
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
¿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.
v-tapa-msft
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.
v-tapa-msft
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")
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.