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
Somos una empresa constructora. Ahora mismo no puedo resolver el siguiente problema:
Tengo dos conjuntos de datos, uno para Clientes y otro para Proveedores. Mi gente quiere elegir un cliente en una mesa y ver la dirección de este cliente en el centro. El resto de los clientes no deben ser vistos en este momento. Después quieren buscar diferentes tipos de proveedores y dónde se encuentran. Por ejemplo, quieren ver a todos los diferentes proveedores de techos alrededor de este cliente. ¿Es esto posible y puede enviarme un tutorial para esto? También dibujo a continuación una muestra para mi problema:
¡Las siguientes 2 discusiones no me ayudaron!
Resuelto: ¿Puedo visualizar dos tablas de ubicación en un mapa? y... - Comunidad microsoft power bi
Resuelto: Re: Asignar varios conjuntos de datos en el mismo mapa - Microsoft Power BI Community
¡Datos de muestra que encontrará a continuación!
Tuyo Christoph
Solved! Go to Solution.
Ahora encontré finalmente las soluciones para resolver todos mis problemas. El informe final se ve así
Puedo elegir un cliente (alemán "Kunde") en el lado derecho y cambiar la slicer y ajustar la distancia entre 0 y 2000 km.
Si selecciono un cliente. Todos los demás clientes desaparecerán del mapa y la tabla a continuación y la distancia a todos nuestros proveedores se calculará con una medida en PowerBI. Eso funciona con el Método del Gran Círculo. Por favor, tenga cuidado con la diferencia entre Radian y Degree. Tengo toda la latitud y longitud en Grado. Hasta ahora tengo que multiplicar el Grado * PI() /180. Lo que puedes ver a continuación. Si no, las distancias entre los clientes y todos los proveedores serán todas incorrectas.
Medir "Distancia":
El resultado se ve así. Si aumento el círculo de 50 km a más. Voy a ver más proveedores alrededor de este cliente.
El proyecto se puede ver en el medio con un círculo más grande (lo muestro con una flecha verde en la imagen en la parte superior). Esto también lo resolví con mi medida "Tamaño":
Las tablas que uso se ven así. Destaqué las medidas que definí:
La medida "Filtro de medida":
Ambas tablas "Clientes" y "Proveedores" juntas en la tabla "Combinado" con la función en PowerQuery - "Anexar consultas".
La tabla "Entfernung" (significa Distancias en alemán) es bastante fácil en DAX. Esto se utiliza para hacer posible el control deslizante para el ajuste de distancia, ¡porque no puede conectar un control deslizante a una medida!
Debido a que no tengo todos los datos de longitud y latitud para todas las direcciones, encontré una descripción de API para https://www.bingmapsportal.com/.
La función se ve así y funciona perfectamente. Aquí también puede encontrar un video de YouTube con más detalles: Función de latitud y longitud de Power BI | API de mapas de Bing - YouTube
Solo tienes que cambiar YOURAPIKEY con tu clave API de BingMaps. Para empezar tienes que suscribirte allí.
dejar
FindLatLong = (ubicación) = >
dejar
Source = Xml.Tables(Web.Contents("http://dev.virtualearth.net/REST/v1/Locations/" & location & "?o=xml&key=YOURAPIKEY")),
ResourceSets = Origen{0}[ResourceSets],
ResourceSet = ResourceSets{0}[ResourceSet],
Recursos = ResourceSet{0}[Recursos],
Ubicación = Recursos{0}[Ubicación],
Punto = Ubicación{0}[Punto]
en
Punto
en
FindLatLong
Uso el mapa de Azure como el objeto visual de mapas. Puedo ver este mapa perfecto en el escritorio de PowerBI. El último problema que tengo es que si subo el informe a PowerBI Online no puedo hacer que aparezca en Teams. Aquí recibo el siguiente mensaje de error en alemán:
Supongo que este es un problema con nuestro firewall. Todavía estoy tratando de arreglar esto con nuestro departamento de TI.
El problema tal vez se describe aquí:
Introducción a la | visual de Azure Maps Power BI Documentos de Microsoft
Gracias a Ibendlin. Me ayudaste mucho.
Hacer algunos progresos
Si bien no puede ocultar / mostrar las ubicaciones a través de medidas, puede influir en el tamaño de sus burbujas. Por lo tanto, podemos usar el control de tamaño para mostrar al cliente seleccionado en el mapa y los tres proveedores más cercanos.
Para esto último necesitamos hacer los siguientes pasos
- crear una variable de tabla con todas las ubicaciones
- marcar las ubicaciones como excluidas si son ubicaciones de clientes y no coinciden con el cliente de la segmentación de datos (establecer el tamaño en 1)
- marque la ubicación del cliente como incluida si coincide con la segmentación de datos (establezca el tamaño en 20)
- crear un RANKX de todas las ubicaciones restantes y su distancia al cliente seleccionado
- Si la ubicación actual está en los tres primeros, establezca su tamaño en 15, de lo contrario, estadlo en 1
size =
var n = SELECTEDVALUE(Combined[Name])
var s = SELECTCOLUMNS(FILTER(All(Combined),Combined[Type]="Supplier"),"N",Combined[Name],"lat",Combined[latitude],"lon",Combined[longitude])
var t = ADDCOLUMNS(s,"dist",abs([lat]-SELECTEDVALUE(Customers[latitude]))+abs([lon]-SELECTEDVALUE(Customers[longitude])))
var u = ADDCOLUMNS(t,"r",RANKX(t,[dist],,ASC))
var v = filter(u,[N]=n)
return switch(TRUE(),SELECTEDVALUE(Combined[Name])=SELECTEDVALUE(Customers[Name]),20,CONCATENATEX(v,[r]) in {"1","2","3"},15,1)
Hola
Gracias. Esto se acerca mucho. Estamos en el camino correcto.
Sólo tengo una pregunta más.
¿Es posible hacer ajustable la siguiente parte en el código? Una rebanadora sería perfecta. Ahora mismo esta parte es estática. Seguro que puedo añadir más pero quiero que esto sea ajustable para el usuario.
Gracias y les deseo un agradable y esperanzador fin de semana soleado.
Gracias.
Esto funciona para mí. El único problema con el conjunto de datos es que los clientes 2 y 3 no se muestran en el mapa. Paralelamente también pruebo el concepto con un conjunto de datos más grande. Aquí tengo el mismo problema. Pero no puedo entender por qué. Los datos largos y lat están en el conjunto de datos del cliente 2 y 3.
Ahora encontré finalmente las soluciones para resolver todos mis problemas. El informe final se ve así
Puedo elegir un cliente (alemán "Kunde") en el lado derecho y cambiar la slicer y ajustar la distancia entre 0 y 2000 km.
Si selecciono un cliente. Todos los demás clientes desaparecerán del mapa y la tabla a continuación y la distancia a todos nuestros proveedores se calculará con una medida en PowerBI. Eso funciona con el Método del Gran Círculo. Por favor, tenga cuidado con la diferencia entre Radian y Degree. Tengo toda la latitud y longitud en Grado. Hasta ahora tengo que multiplicar el Grado * PI() /180. Lo que puedes ver a continuación. Si no, las distancias entre los clientes y todos los proveedores serán todas incorrectas.
Medir "Distancia":
El resultado se ve así. Si aumento el círculo de 50 km a más. Voy a ver más proveedores alrededor de este cliente.
El proyecto se puede ver en el medio con un círculo más grande (lo muestro con una flecha verde en la imagen en la parte superior). Esto también lo resolví con mi medida "Tamaño":
Las tablas que uso se ven así. Destaqué las medidas que definí:
La medida "Filtro de medida":
Ambas tablas "Clientes" y "Proveedores" juntas en la tabla "Combinado" con la función en PowerQuery - "Anexar consultas".
La tabla "Entfernung" (significa Distancias en alemán) es bastante fácil en DAX. Esto se utiliza para hacer posible el control deslizante para el ajuste de distancia, ¡porque no puede conectar un control deslizante a una medida!
Debido a que no tengo todos los datos de longitud y latitud para todas las direcciones, encontré una descripción de API para https://www.bingmapsportal.com/.
La función se ve así y funciona perfectamente. Aquí también puede encontrar un video de YouTube con más detalles: Función de latitud y longitud de Power BI | API de mapas de Bing - YouTube
Solo tienes que cambiar YOURAPIKEY con tu clave API de BingMaps. Para empezar tienes que suscribirte allí.
dejar
FindLatLong = (ubicación) = >
dejar
Source = Xml.Tables(Web.Contents("http://dev.virtualearth.net/REST/v1/Locations/" & location & "?o=xml&key=YOURAPIKEY")),
ResourceSets = Origen{0}[ResourceSets],
ResourceSet = ResourceSets{0}[ResourceSet],
Recursos = ResourceSet{0}[Recursos],
Ubicación = Recursos{0}[Ubicación],
Punto = Ubicación{0}[Punto]
en
Punto
en
FindLatLong
Uso el mapa de Azure como el objeto visual de mapas. Puedo ver este mapa perfecto en el escritorio de PowerBI. El último problema que tengo es que si subo el informe a PowerBI Online no puedo hacer que aparezca en Teams. Aquí recibo el siguiente mensaje de error en alemán:
Supongo que este es un problema con nuestro firewall. Todavía estoy tratando de arreglar esto con nuestro departamento de TI.
El problema tal vez se describe aquí:
Introducción a la | visual de Azure Maps Power BI Documentos de Microsoft
Gracias a Ibendlin. Me ayudaste mucho.
Como mencioné, comparten exactamente el mismo lat / lon con los proveedores. Cambie sus datos para ser más realista.
Gracias por actualizar los datos de muestra. Lo veré más tarde. Mientras tanto, puede buscar la fórmula (DAX) para calcular la distancia del Gran Círculo.
Hola
descubrí el formulario para la distancia entre 2 puntos y probé más.
Pero no estoy seguro de si quieres dirigirte:
= Table.AddColumn(#"Changed Type", "Entfernung", each Number.Acos(Number.Sin([Latitude])*Number.Sin(48.1659)+Number.Cos([Latitude])*Number.Cos(48.1659)*Number.Cos(11.5371-[Longitud]))*6378.388*Number.PI/180)
El resultado es en km si el sistema calcula con grado en lugar de radian.
Mi resultado actual es el siguiente:
También lo probé con DAX
El siguiente paso será identificar al cliente seleccionado, luego calcular la distancia a todos los socios y luego elegir los tres socios principales a través de RANKX.
Es un tema interesante, desafortunadamente no puedo dedicar mucho tiempo en este momento. Te avisaré cuando haya tenido tiempo.
No @kletterbilder ,
¿Se ha resuelto su problema? Si se resuelve, por favor marque una respuesta que le sea útil.
Si el problema sigue sin resolverse, proporcione información detallada del error o el resultado esperado que espera. Hágamelo saber de inmediato, esperando su respuesta.
Saludos
Winniz
¡Datos de muestra!
Cliente | Ubicación | KindOfAdress | Calle | CÓDIGO POSTAL | CIUDAD | PAÍS |
Cliente1 | Alemania, 80939 | Proyecto | Gundelkoferstraße 5 | 80939 | Múnich | Alemania |
Cliente2 | Alemania, 80995 | Proyecto | Penckstr. 4 | 80995 | Múnich | Alemania |
Cliente3 | Alemania, 80995 | Proyecto | Leuchsstr. 11 a | 80995 | Múnich | Alemania |
Cliente4 | Alemania, 81737 | Proyecto | Unterbiberger Strasse 31 | 81737 | Múnich | Alemania |
Cliente6 | Alemania, 81809 | Proyecto | Heinrich-Böll-Strasse 4 | 81809 | Múnich | Alemania |
Cliente7 | Alemania, 81825 | Proyecto | Königsseestraße 20 | 81825 | Múnich | Alemania |
Proveedor | Ubicación | KindOfAdress | Calle | CÓDIGO POSTAL | CIUDAD | PAÍS |
Materiallieferant1 | Alemania, 81379 | Materiallieferant | Aidenbachstraße 52 | 81379 | Múnich | Alemania |
Architekt1 | Alemania, 80995 | Arquitecto | Paul-Preuß-Straße 2 | 80995 | Múnich | Alemania |
Materiallieferant2 | Alemania, 81829 | Materiallieferant | Hanns-Schwindt-Str. 2 | 81829 | Múnich | Alemania |
Baustelleneinrichtung1 | Alemania, 81547 | Instalaciones del sitio | Peißenbergstraße 17 | 81547 | Múnich | Alemania |
Materiallieferant3 | Alemania, 80809 | Materiallieferant | Birnauer Strasse 4 | 80809 | Múnich | Alemania |
Architekt2 | Alemania, 81829 | Arquitecto | Willy-Brandt-Allee 10 | 81829 | Múnich | Alemania |
Materiallieferant4 | Alemania, 80637 | Materiallieferant | Waisenhausstr. 4 | 80637 | Múnich | Alemania |
Baustelleneinrichtung2 | Alemania, 81925 | Instalaciones del sitio | Arabellastrasse 4 | 81925 | Múnich | Alemania |
Materiallieferant5 | Alemania, 81249 | Materiallieferant | Jakob Baumann Strasse 2 | 81249 | Múnich | Alemania |
Así es como trataría de hacerlo
- elija las columnas de las tablas de clientes y proveedores que se necesitan para el mapa visual. Incluya la columna de tipo de cuenta para que pueda tener diferentes colores de pin
- crear una nueva tabla calculada como una UNIÓN entre estos conjuntos de columnas.
- alimentar el mapa visual de la tabla unionada, no de las tablas originales.
no, la UNIÓN realmente sólo crea una tabla estática. No se ve afectado por las opciones de filtro.
Es posible que pueda engañarlo estableciendo la ubicación del cliente en BLANK() para los clientes que no están seleccionados en la tabla original. Déjenme intentarlo.
Hola
gracias por sus intentos. No tengo preferencia por lo visual. Probé con diferentes. Espero que funcione con Free of charge Visuals. Yo preferiría uno de estos.
Gracias.
Aquí hay un nuevo enfoque. Tener una mesa combinada con clientes y proveedores, y también dos mesas separadas desconectadas para las cortadoras.
El plan es crear una medida que vea si se selecciona un solo cliente y, a continuación, filtrar la tabla combinada a ese cliente y a los socios más cercanos.
Problema: Sus direcciones son ambiguas y no se pueden usar en la mayoría de los mapas. Para evitar las ambigüedades y calcular las distancias también necesitamos Latitud/Longitud.
Hola
gracias por su rápida respuesta. El problema con la ubicación correcta que resolví antes y yo
lo cambió en su archivo. Aquí encuentras el enlace del video
Ubicaciones de mapa incorrectas en Power BI y cómo solucionarlo - YouTube
Pero todavía no puedo ver su solución, que puedo elegir un cliente y el suplier arround?
PD: Quería volver a subir el archivo pbix, como tú. ¿Pero no funciona?
Necesitamos Latitud y Longitud para calcular la distancia del Gran Círculo.
Desafortunadamente, la carga de archivos solo es posible para superus usuarios.
Hola
por la presente te envío el punto central del código postal de Munich con latitud y latitud. Tengo esta lista también para toda Alemania y puedo mapearla en el futuro si su solución funciona. Tengo curiosidad por su solución. No pude ver ninguna diferencia en mi solución.
código postal | ciudad | latitud | longitud |
80331 | Múnich | 11,5721994 | 48,1378593 |
80333 | Múnich | 11,5682184 | 48,1468565 |
80335 | Múnich | 11,5520186 | 48,1471265 |
80336 | Múnich | 11,553988 | 48,134305 |
80337 | Múnich | 11,5589812 | 48,1283121 |
80339 | Múnich | 11,5380653 | 48,1379361 |
80469 | Múnich | 11,5722367 | 48,1299013 |
80538 | Múnich | 11,5908353 | 48,1464634 |
80539 | Múnich | 11,5817437 | 48,146632 |
80634 | Múnich | 11,5294398 | 48,1511242 |
80636 | Múnich | 11,5428198 | 48,1542354 |
80637 | Múnich | 11,5370905 | 48,1659187 |
80638 | Múnich | 11,5058882 | 48,1633227 |
80639 | Múnich | 11,5087928 | 48,1527916 |
80686 | Múnich | 11,5119537 | 48,1342723 |
80687 | Múnich | 11,5059093 | 48,1432007 |
80689 | Múnich | 11,4853337 | 48,1331355 |
80796 | Múnich | 11,5694707 | 48,1646491 |
80797 | Múnich | 11,5567603 | 48,1637607 |
80798 | Múnich | 11,5656418 | 48,157168 |
80799 | Múnich | 11,5743641 | 48,1535962 |
80801 | Múnich | 11,5786592 | 48,1595621 |
80802 | Múnich | 11,5922613 | 48,1607759 |
80803 | Múnich | 11,5803118 | 48,1659026 |
80804 | Múnich | 11,5758791 | 48,17393 |
80805 | Múnich | 11,6066428 | 48,1757667 |
80807 | Múnich | 11,5845823 | 48,1859744 |
80809 | Múnich | 11,5521747 | 48,1808528 |
80933 | Múnich | 11,5571417 | 48,2179463 |
80935 | Múnich | 11,5529494 | 48,2002579 |
80937 | Múnich | 11,5750122 | 48,2113313 |
80939 | Múnich | 11,6166425 | 48,2080563 |
80992 | Múnich | 11,5172677 | 48,1763994 |
80993 | Múnich | 11,5194479 | 48,188144 |
80995 | Múnich | 11,516241 | 48,2191299 |
80997 | Múnich | 11,4826487 | 48,1949517 |
80999 | Múnich | 11,4523128 | 48,1926955 |
81241 | Múnich | 11,46366 | 48,1430311 |
81243 | Múnich | 11,4367253 | 48,1475698 |
81245 | Múnich | 11,4421173 | 48,1625235 |
81247 | Múnich | 11,4675321 | 48,1688216 |
81249 | Múnich | 11,4044494 | 48,1675378 |
81369 | Múnich | 11,5302406 | 48,1121952 |
81371 | Múnich | 11,5472451 | 48,1172998 |
81373 | Múnich | 11,5299386 | 48,1246112 |
81375 | Múnich | 11,4852101 | 48,1213817 |
81377 | Múnich | 11,4929546 | 48,1131369 |
81379 | Múnich | 11,531928 | 48,1021508 |
81475 | Múnich | 11,4804525 | 48,0928777 |
81476 | Múnich | 11,4953293 | 48,0912289 |
81477 | Múnich | 11,5075932 | 48,0852591 |
81479 | Múnich | 11,5234438 | 48,0798162 |
81539 | Múnich | 11,5886964 | 48,112694 |
81541 | Múnich | 11,586509 | 48,1223744 |
81543 | Múnich | 11,5634285 | 48,1119033 |
81545 | Múnich | 11,5570343 | 48,089909 |
81547 | Múnich | 11,5750615 | 48,1027772 |
81549 | Múnich | 11,6004924 | 48,0994684 |
81667 | Múnich | 11,5991944 | 48,1324385 |
81669 | Múnich | 11,6007597 | 48,1215281 |
81671 | Múnich | 11,6179631 | 48,1235767 |
81673 | Múnich | 11,6301888 | 48,1301745 |
81675 | Múnich | 11,602372 | 48,1409528 |
81677 | Múnich | 11,6318274 | 48,1402794 |
81679 | Múnich | 11,6081608 | 48,1495544 |
81735 | Múnich | 11,6398593 | 48,1118932 |
81737 | Múnich | 11,6328189 | 48,1005994 |
81739 | Múnich | 11,6597466 | 48,0902065 |
81825 | Múnich | 11,6603823 | 48,120573 |
81827 | Múnich | 11,6891554 | 48,1088248 |
81829 | Múnich | 11,6876646 | 48,1354537 |
81925 | Múnich | 11,6224939 | 48,1637603 |
81927 | Múnich | 11,6373241 | 48,1600676 |
81929 | Múnich | 11,6639512 | 48,1624688 |
Pero no funcionará. Voy a ver todos o incluso uno por uno. ¿Pero ni un cliente y un grupo de proveedores?
¿También intenté cambiar las interacciones?
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 | |
2 | |
2 | |
2 | |
1 |