Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Buenas Tardes.
Ya tengo la aplicacion QV toda desarrollada, pero quiero mostrar el TOTAL_VENTAS por PAIS con Google maps, pero no he podido llevar a acabo esto.
Alguien que me pueda ayudar con esto.
Muchas Gracias
Buenos días Handry,
Es posible mostrar mapas en la aplicación QV sin necesidad de hacer uso de extensiones. Se puede trabajar directamente contra el API de Google Maps. A continuación detallo el escenario y los pasos a seguir para llevarlo a cabo. He incluido una aplicación con el ejemplo que espero que te sirva de ayuda.
Escenario: Pintaremos puntos en el mapa en base a una serie de longitudes y latitudes. El tamaño del símbolo incrementará o decrementará en función del valor de un indicador. También se modifica el color del símbolo en base a su correlación con el resto de símbolos mostrados.
Pasos a seguir:
1.- Copiar el script necesario para que funcione el mapa.
//Es necesario modificar el separador decimal para trabajar correctamente con los mapas |
2.- Crear un nuevo Gráfico de Dispersión.
2.1. General: Seleccionar Gráfico de Dispersión.
2.2. Dimensiones: Seleccionamos la dimensión que queremos colocar en el mapa. En este caso, Ubicación.
2.3. Expresiones: El orden de las expresiones es representativo.
2.3.1. La primera expresión es la que indica la posición del eje x en la que se dibujará el símbolo.
Longitud =avg( round (256*pow(2,($(var_zoom)-1)))+( longitude *((256*pow(2,$(var_zoom)))/360)))
Hay que modificar la propiedad Color de Fondo de esta expresión. El objetivo es
Color de Fondo =colormix1((sum(importe) - v_min) / (v_max - v_min), argb(180, 255, 0, 0), argb(180, 0, 255, 0))
2.3.2. La segunda expresión es la que indica la posición del eje y en la que se dibujará el símbolo.
Latitud =avg(((256*pow(2,($(var_zoom)-1)))+((0.5*log((1+(sin((latitude)*pi()/180)))/(1-(sin((latitude)*pi()/180)))))*((-256*pow(2,$(var_zoom)))/(2*pi())))))
2.3.3. La tercera expresión es la que indica el tamaño del símbolo.
Ventas =sum(importe)
2.3.4. Ponemos una cuarta expresión porque queremos que al colocar el ratón sobre uno de los símbolos se nos muestre el valor de las ventas en un popup.
Popup_Ventas = ubicacion & Chr(10) & 'Ventas = ' & sum(importe)
2.4. Presentación: Eliminar Etiquetas Emergentes (no queremos ver los datos de Longitud y Latitud en el popup).
2.5. Ejes:
2.5.1. Eje x: Eliminar Forzar a 0 y seleccionar Ocultar eje.
2.5.2. Escala x Min Estático=((256*pow(2,($(var_zoom)-1)))+( var_mid_long *((256*pow(2,$(var_zoom)))/360)) -round(map_size_x/2))
2.5.3. Escala x Max Estático=((256*pow(2,($(var_zoom)-1)))+( var_mid_long *((256*pow(2,$(var_zoom)))/360)) + round(map_size_x/2))
2.5.4. Eje y: Eliminar Forzar a 0 y seleccionar Ocultar eje.
2.5.5. Escala y Min Estático=((256*pow(2,($(var_zoom)-1)))+((0.5*log((1+(sin(var_mid_lat*pi()/180)))/(1-(sin(var_mid_lat*pi()/180)))))*((-256*pow(2,$(var_zoom)))/(2*pi())))+round(map_size_y/2))
2.5.6. Escala y Max Estático =((256*pow(2,($(var_zoom)-1)))+((0.5*log((1+(sin(var_mid_lat*pi()/180)))/(1-(sin(var_mid_lat*pi()/180)))))*((-256*pow(2,$(var_zoom)))/(2*pi())))-round(map_size_y/2))
2.6. Colores: Imagen dinámica
='http://maps.google.com/maps/api/staticmap?center='
&
num(var_mid_lat, '##############', '.', ',' )
&
','
&
num(var_mid_long, '##############', '.', ',' )
&
'&zoom=$(var_zoom)'
&
'&maptype='&var_maptype
&
'&size='&map_size_x&'x'&map_size_y
&
'&key='& 'AIzaSyAABZIVacmXaH_m5XNM2PzcJo3uDr12Rzk'
&
'&sensor=false'
De manera nativa Qlikview no permite poder realizar este tipo de operaciones, para ello tendrás que recurrir a extensiones especificas de mapping. GeoQlik es posiblemente la mas popular aunque no es la única.
En la comunity podrás encontrar diversas soluciones para llevar a cabo este tipo de representaciones.
Buenos días Handry,
Es posible mostrar mapas en la aplicación QV sin necesidad de hacer uso de extensiones. Se puede trabajar directamente contra el API de Google Maps. A continuación detallo el escenario y los pasos a seguir para llevarlo a cabo. He incluido una aplicación con el ejemplo que espero que te sirva de ayuda.
Escenario: Pintaremos puntos en el mapa en base a una serie de longitudes y latitudes. El tamaño del símbolo incrementará o decrementará en función del valor de un indicador. También se modifica el color del símbolo en base a su correlación con el resto de símbolos mostrados.
Pasos a seguir:
1.- Copiar el script necesario para que funcione el mapa.
//Es necesario modificar el separador decimal para trabajar correctamente con los mapas |
2.- Crear un nuevo Gráfico de Dispersión.
2.1. General: Seleccionar Gráfico de Dispersión.
2.2. Dimensiones: Seleccionamos la dimensión que queremos colocar en el mapa. En este caso, Ubicación.
2.3. Expresiones: El orden de las expresiones es representativo.
2.3.1. La primera expresión es la que indica la posición del eje x en la que se dibujará el símbolo.
Longitud =avg( round (256*pow(2,($(var_zoom)-1)))+( longitude *((256*pow(2,$(var_zoom)))/360)))
Hay que modificar la propiedad Color de Fondo de esta expresión. El objetivo es
Color de Fondo =colormix1((sum(importe) - v_min) / (v_max - v_min), argb(180, 255, 0, 0), argb(180, 0, 255, 0))
2.3.2. La segunda expresión es la que indica la posición del eje y en la que se dibujará el símbolo.
Latitud =avg(((256*pow(2,($(var_zoom)-1)))+((0.5*log((1+(sin((latitude)*pi()/180)))/(1-(sin((latitude)*pi()/180)))))*((-256*pow(2,$(var_zoom)))/(2*pi())))))
2.3.3. La tercera expresión es la que indica el tamaño del símbolo.
Ventas =sum(importe)
2.3.4. Ponemos una cuarta expresión porque queremos que al colocar el ratón sobre uno de los símbolos se nos muestre el valor de las ventas en un popup.
Popup_Ventas = ubicacion & Chr(10) & 'Ventas = ' & sum(importe)
2.4. Presentación: Eliminar Etiquetas Emergentes (no queremos ver los datos de Longitud y Latitud en el popup).
2.5. Ejes:
2.5.1. Eje x: Eliminar Forzar a 0 y seleccionar Ocultar eje.
2.5.2. Escala x Min Estático=((256*pow(2,($(var_zoom)-1)))+( var_mid_long *((256*pow(2,$(var_zoom)))/360)) -round(map_size_x/2))
2.5.3. Escala x Max Estático=((256*pow(2,($(var_zoom)-1)))+( var_mid_long *((256*pow(2,$(var_zoom)))/360)) + round(map_size_x/2))
2.5.4. Eje y: Eliminar Forzar a 0 y seleccionar Ocultar eje.
2.5.5. Escala y Min Estático=((256*pow(2,($(var_zoom)-1)))+((0.5*log((1+(sin(var_mid_lat*pi()/180)))/(1-(sin(var_mid_lat*pi()/180)))))*((-256*pow(2,$(var_zoom)))/(2*pi())))+round(map_size_y/2))
2.5.6. Escala y Max Estático =((256*pow(2,($(var_zoom)-1)))+((0.5*log((1+(sin(var_mid_lat*pi()/180)))/(1-(sin(var_mid_lat*pi()/180)))))*((-256*pow(2,$(var_zoom)))/(2*pi())))-round(map_size_y/2))
2.6. Colores: Imagen dinámica
='http://maps.google.com/maps/api/staticmap?center='
&
num(var_mid_lat, '##############', '.', ',' )
&
','
&
num(var_mid_long, '##############', '.', ',' )
&
'&zoom=$(var_zoom)'
&
'&maptype='&var_maptype
&
'&size='&map_size_x&'x'&map_size_y
&
'&key='& 'AIzaSyAABZIVacmXaH_m5XNM2PzcJo3uDr12Rzk'
&
'&sensor=false'
Es una buena solución, pensaba que ser refería a alguna solución mas ad hoc, como el caso del conector para ESRI ARC GIS, o el propio GEOQLIK, con la posibilidad de mostrar polígonos sobre un mapa, no solo puntos.
También tienes otras opciones utilizando extensiones tanto basadas en GoogleMaps, como en SVG: