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

Be one of the first to start using Fabric Databases. View on-demand sessions with database experts and the Microsoft product team to learn just how easy it is to get started. Watch now

Reply
Anonymous
Not applicable

DAX function that allows you to convert sexagesimal to decimal

I'm having trouble creating a new column that allows me to convert the latitude column that is in sexagesimal to decimal.
someone can help me please, I would earn heaven.
 
steveespinoza_0-1691284726705.png

 

1 ACCEPTED SOLUTION
OwenAuger
Super User
Super User

Hi @Anonymous 

I would recommend handling this further upstream (data source or Power Query).

However, here is a DAX expression you could use for a calculated column:

 

Latitud Decimal =
VAR DMS = [Latitud Fin] // Ideally prefix with table name e.g YourTable[Latitud Fin]
VAR DMS_Delimited =
    SUBSTITUTE ( SUBSTITUTE ( SUBSTITUTE ( DMS, "°", "|" ), "'", "|" ), """", "" )
VAR Grados =
    VALUE ( PATHITEM ( DMS_Delimited, 1 ) )
VAR Minutos =
    VALUE ( PATHITEM ( DMS_Delimited, 2 ) )
VAR Segundos =
    VALUE ( PATHITEM ( DMS_Delimited, 3 ) )
VAR Result = Grados + Minutos / 60 + Segundos / 3600
RETURN
    Result

 

This changes the delimiters to vertical bars, which allow for convenient splitting of the string with the PATHITEM function.

 

Regards


Owen Auger
Did I answer your question? Mark my post as a solution!
Blog
Twitter
LinkedIn

View solution in original post

2 REPLIES 2
OwenAuger
Super User
Super User

Hi @Anonymous 

I would recommend handling this further upstream (data source or Power Query).

However, here is a DAX expression you could use for a calculated column:

 

Latitud Decimal =
VAR DMS = [Latitud Fin] // Ideally prefix with table name e.g YourTable[Latitud Fin]
VAR DMS_Delimited =
    SUBSTITUTE ( SUBSTITUTE ( SUBSTITUTE ( DMS, "°", "|" ), "'", "|" ), """", "" )
VAR Grados =
    VALUE ( PATHITEM ( DMS_Delimited, 1 ) )
VAR Minutos =
    VALUE ( PATHITEM ( DMS_Delimited, 2 ) )
VAR Segundos =
    VALUE ( PATHITEM ( DMS_Delimited, 3 ) )
VAR Result = Grados + Minutos / 60 + Segundos / 3600
RETURN
    Result

 

This changes the delimiters to vertical bars, which allow for convenient splitting of the string with the PATHITEM function.

 

Regards


Owen Auger
Did I answer your question? Mark my post as a solution!
Blog
Twitter
LinkedIn
Anonymous
Not applicable

infinitely grateful 🤜🤛

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

November Carousel

Fabric Community Update - November 2024

Find out what's new and trending in the Fabric Community.

Dec Fabric Community Survey

We want your feedback!

Your insights matter. That’s why we created a quick survey to learn about your experience finding answers to technical questions.