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
Syndicate_Admin
Administrator
Administrator

Fórmula Datevalue convertiendo en formato incorrecto

Hola, chicos

Tengo un archivo de datos con valores de fecha horrendos. Se exportan como "ddd dd-mm-aa" (véase "Begindatum")

Cuando se importa en PowerBi esto se ve como una cadena.

Así que hice una columna personalizada:

Start ( Start ) DATEVALUE(MID([Begindatum],4,99))
Pero esto convierte 14/12/20 (destinado a ser 14 de diciembre de 2020) en 12/10/2014 como se ve a continuación.

bi2.png

¿Cómo le digo a la fórmula datevalue "bruh, necesita hacer dd-mm-aa"?

Mi configuración de fecha de Windows es como deberían ser.

bi1.PNG

Salud

  

1 ACCEPTED SOLUTION

Hola @smpa01. Probé tu solución, pero no funcionó del todo. La razón de esto es porque a veces un día / mes puede tener sólo 1 carácter, lo que significa que siempre tomar 2 caracteres no funcionará.

Basándome en su solución trabajé mi camino a mi propia versión que parece funcionar para todas las entradas de fecha.

Así que por esa razón, gracias por el inicio a la solución 🙂



Lo descubrí con la siguiente columna calculada:

Start = 
var strin = TRIM(MID([Begindatum],4,99))


var day = LEFT(strin,SEARCH("-",strin,1,0)-1)
var month = ABS(MID(strin,SEARCH("-",strin,1,0)+1,2))
var year = "20"&RIGHT(strin,2)


var dat = DATE(year,month,day)
return dat

View solution in original post

3 REPLIES 3
Syndicate_Admin
Administrator
Administrator

Hay @ErikBI

Descargue este archivo PBIX de ejemplo con datos y código/resultado de trabajo

Cargue los datos en Power Query y, a continuación, divida la columna por delimitador (espacio). A continuación, puede convertir la columna en una columna Fecha real

Aquí está el código

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45Wyk1MVDA00TU00jUyUIrViVYqK8pUMDLSNdQ1MkTwzXSNkPkg1TA+qgGxAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Begindatum = _t]),
    #"Split Column by Delimiter" = Table.SplitColumn(Source, "Begindatum", Splitter.SplitTextByDelimiter(" ", QuoteStyle.Csv), {"Begindatum.1", "Begindatum.2"}),
    #"Removed Columns" = Table.RemoveColumns(#"Split Column by Delimiter",{"Begindatum.1"}),
    #"Changed Type" = Table.TransformColumnTypes(#"Removed Columns",{{"Begindatum.2", type date}})
in
    #"Changed Type"

datess.png

saludos

Phil

Syndicate_Admin
Administrator
Administrator

@ErikBIpuede probar esto para una columna calculada

Column = 
var strin = TRIM(MID([Column1],4,99))
var year = RIGHT(strin,2)
var month = mid(strin,4,2)
var day = LEFT(strin,2)
var datestring = DATEVALUE(CONCATENATE(year,CONCATENATE("-",CONCATENATE(month,CONCATENATE("-",day)))))
Return datestring

Hola @smpa01. Probé tu solución, pero no funcionó del todo. La razón de esto es porque a veces un día / mes puede tener sólo 1 carácter, lo que significa que siempre tomar 2 caracteres no funcionará.

Basándome en su solución trabajé mi camino a mi propia versión que parece funcionar para todas las entradas de fecha.

Así que por esa razón, gracias por el inicio a la solución 🙂



Lo descubrí con la siguiente columna calculada:

Start = 
var strin = TRIM(MID([Begindatum],4,99))


var day = LEFT(strin,SEARCH("-",strin,1,0)-1)
var month = ABS(MID(strin,SEARCH("-",strin,1,0)+1,2))
var year = "20"&RIGHT(strin,2)


var dat = DATE(year,month,day)
return dat

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.