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
kkanda
Resolver I
Resolver I

Obtener dirección de Lat/Long en mapas de Bing

 
9 REPLIES 9
kkanda
Resolver I
Resolver I

Hola a todos... Lo siento.. el msg vacío se publicó inicialmente.

Este es mi problema. Seguí algunos de los videos y blogs para crear una función para obtener Address de lat/Long data en los mapas de Bing. Tengo unos 1330 puntos de datos y quiero obtener AddressLine para todos ellos. El Lat/Long son "Números con decimales" y por lo tanto los convertí a "Texto" en la función. Aquí está la función:

Dirección de búsqueda (Latitud, Longitud) >
Dejar
Source: Xml.Tables(Web.Contents("http://dev.virtualearth.net/REST/v1/Locations/"&Number.ToText(Latitude,"e4")&","&Number.ToText(Longi...")),
"Tipo de cambio" - Table.TransformColumnTypes(Source,"Copyright", texto de tipo, "BrandLogoUri", texto de tipo, "StatusCode", Int64.Type, "StatusDescription", texto de tipo, "AuthenticationResultCode", escriba text, "TraceId", texto de tipo),
ResourceSets á "Tipo modificado"{0}[ResourceSets],
ResourceSet ? ResourceSets{0}[ResourceSet],
"Changed Type1" á Table.TransformColumnTypes(ResourceSet,-"EstimatedTotal", Int64.Type-),
Recursos : "Tipo cambiado1"{0}[Recursos],
Ubicación: Recursos{0}[Ubicación],
"Changed Type2" á Table.TransformColumnTypes(Location,'"Name", type text', 'EntityType',type text', ''Confidence", 'type text', ''MatchCode'', escriba text'),
Dirección "Tipo cambiado2"{0}[Dirección],
"Changed Type3" á "Changed Type3" á Table.TransformColumnTypes(Address,"AddressLine", type text,"AdminDistrict", type text,"AdminDistrict2", type text,"CountryRegion", type text,"FormattedAddress", type text,"Locality", type text,"PostalCode", Int64.Type))
En
"Tipo cambiado3"

Cuando utilizo la función con los args Latitud y Longitud en la Tabla, obtengo todas las columnas adicionales como se especifica en la función. Pero después de rellenar alrededor de 10 filas, recibí el siguiente error msg:

kkanda_0-1595523884973.png

Lat_Long(2) es el nombre de archivo. No puedo entender el problema. ¿Es un problema que Bing no encuentra el AddressLine para algún punto - esto es posible ya que algunos puntos están en el lado de la colina y no en las calles. Si es así, ¿cómo puedo indicar a la función que proceda ignorando dichos puntos de datos? ¿O es una limitación de Bing Maps, ya que estoy usando el mapa para demasiados puntos de datos? ¿O algún otro problema? No utile la API de Google, ya que parece ser un modo de pago cuando quería generar una clave. Para Bing, tengo la llave bien.

Por favor, ayúdame a hacerlo bien.

hola @kkanda,

Como Greg_Deckler dicho, ayudará a agregar funciones de 'identificador de error' a sus pasos.

Debe realizar un seguimiento de los pasos que causaron el problema e intentar crear una tabla vacía con la misma estructura y utilizarla como resultado de este procesamiento.

Creación de tablas en el código M de Power BI/Power Query mediante #table()

saludos

Xiaoxin Sheng

Community Support Team _ Xiaoxin
If this post helps, please consider accept as solution to help other members find it more quickly.

@kkanda

https://docs.microsoft.com/en-us/power-query/handlingerrors


@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
The Definitive Guide to Power Query (M)

DAX is easy, CALCULATE makes DAX hard...

Aquí hay algunos datos de ejemplo. La primera columna es Latittude y Longitud.

47.766-122.6207
48.9355-122.6119
48.118-122.5871
48.7597-122.4604
46.7681-122.4581

Los datos de las cuatro primeras filas se convierten en Dirección. En la quinta fila, no hay dirección - he comprobado en el mapa físicamente. Aquí es donde la consulta deja de funcionar y produce un error.

Quiero usar Try ... de lo contrario, en la línea de código "ResourceSet" o "Location" para que la consulta devuelva valores en blanco o nulos en las columnas generadas y continúe con el resto de los datos.

Pruebe la ubicación{0} recursos[Ubicación] de lo contrario MissingField.UseNull

Pero no tengo éxito, ya que la consulta dice "Syntax Error Token Equal expected".

Por favor, vaya a través de mi código de consulta y sugiera cómo utilizar el reventado de errores.

tratar tiene que estar en minúsculas. El texto muestra Try

Si esto funciona para usted, márquelo como la solución. Los elogios también son apreciados. Por favor, avísame si no.

saludos

palmadita





Did I answer your question? Mark my post as a solution! Kudos are also appreciated!

To learn more about Power BI, follow me on Twitter or subscribe on YouTube.


@mahoneypa HoosierBI on YouTube


Hola mahoney... no funciona.

Cualquier otra sugerencia.. la idea es registrar valores en blanco o nulos en los campos generados.

Hola a todos.. Estoy persiguiendo con este hilo con la esperanza de conseguir alguna solución. A continuación se muestra el código del Editor de consultas que genera la tabla de resultados.

Dejar
Origen: Excel.Workbook(File.Contents("N:-Power BI-Documentation from IT-GPS_TestFile.xlsx"), null, true),
Lat_Long_Sheet de origen [Artículo"Lat_Long",Kind"Sheet"]-[Datos],
"Encabezados promocionados" - Table.PromoteHeaders(Lat_Long_Sheet, [PromoteAllScalars-true]),
"Tipo de cambio" - Table.TransformColumnTypes('Encabezados promocionados",'Latitud', número de tipo', ''Longitude', número de tipo'),
"Función personalizada invocada" - Table.AddColumn(-"Changed Type", "FindAddress", each FindAddress([Latitude], [Longitude])),
"Dirección de búsqueda ampliada" ? Table.ExpandTableColumn(''Función personalizada invocada'", 'FindAddress', '"AddressLine", "CountryRegion", "FormattedAddress", "PostalCode"', 'FindAddress.AddressLine"', "FindAddress.CountryRegion", "FindAddress.FormattedAddress", "FindAddress.PostalCode"')
"Errores eliminados" - Table.RemoveRowsWithErrors(-"Expanded FindAddress", "Latitud" )
"Errores reemplazados" - Table.ReplaceErrorValues(-"Errores eliminados", "FindAddress.AddressLine", "NA")
"Columnas renombradas" - Table.RenameColumns('Errores reemplazados',''FindAddress.AddressLine'', 'AddressLine'', ''FindAddress.CountryRegion"', 'CountryRegion'', ''FindAddress.FormattedAddress'', 'FormattedAddress'', ''FindAddress.PostalCode", 'PostalCode"')
En
"Columnas renombradas"

Cuando veo la tabla de resultados en InvokedCustomFunction, veo lo siguiente:

kkanda_0-1595894746660.png

La fila 12 no genera "Tabla", genera "Error". En la última parte del código, la tabla se expande para incluir columnas adicionales. Cuando ejecuto el código completo, el resultado se detiene en la fila 12 con Error. Al bajar por la tabla anterior, se produjeron más errores en los que el mapa de Bing no podía asignar una dirección (en los campos o autopistas).

Quiero ocuparme de estos errores con un código para reanudar a continuación si se produce un error de este tipo. No puedo escribir el código correcto para el campo Dirección si se produce un error.

¿Alguien tiene alguna sugerencia de cómo puedo hacerme cargo de estos errores?

Gracias

Hola a todos.... Después de varios intentos fallidos, creo que encontré la solución.

En la siguiente línea de código, inserté 'try' y 'de lo contrario'.

"Función personalizada invocada" - Table.AddColumn(-"Changed Type", "FindAddress", each try FindAddress([Latitude], [Longitude]) de lo contrario null),

Esto funcionó y todas aquellas posiciones Lat/Long que no tienen Direcciones devueltos 'null' y el resto de los registros devolvieron la dirección con formato.

kkanda

Greg_Deckler
Super User
Super User

@kkanda: normalmente, sería una llamada a la API a mapas de Bing o mapas de Google. No estoy seguro de que los mapas OOTB hagan eso. ¿Quizás visual de ArcGIS?


@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
The Definitive Guide to Power Query (M)

DAX is easy, CALCULATE makes DAX hard...

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.