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.
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:
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
https://docs.microsoft.com/en-us/power-query/handlingerrors
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
To learn more about Power BI, follow me on Twitter or subscribe 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:
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
@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?
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
2 | |
1 | |
1 | |
1 | |
1 |
User | Count |
---|---|
2 | |
2 | |
2 | |
1 | |
1 |