MicroStrategy URL API: mejora la navegación de tu cuadros de mando en mobile

Uno de los grandes hándicaps de MicroStrategy 9.4.1. a la hora de diseñar cuadros de mando para mobile (tablets y dispositivos móviles) es la navegación y usabilidad. Especialmente si vienes del diseño web, echarás de menos facilidades para pasar variables de una pantalla a otra para mantener las selecciones (próximamente publicaré una guía para usar prompts en Reports que capturen los atributos seleccionados previamente), ocultar/mostrar elementos, poder activar simultáneamente objetos de distinto tipo de la pantalla (por ejemplo, que un botón me permita seleccionar un valor de atributo y al mismo tiempo, mostrar un panel específico de un PanelStack), implementar la funcionalidad de Volver atrás, etc. Confío que con la versión 10 hayan facilitado y mejorado este aspecto del diseño. Por el momento, tenemos a nuestra disposición la MicroStrategy URL API con la que podemos conseguir evitar algunos baches de usabilidad.

MicroStrategy URL API

Lo que nos permite esta API (podéis consultarla aquí) es a utilizar una URL parametrizada con el protocolo especial mstr:// para ejecutar eventos como abrir un informe, activar la pantalla de configuración, responder a prompts de un informe, activar un panel específico de un panelStack, etc. Lo que vamos a abordar en este artículo es este último punto para mejorar la navegación de un Document. Los PanelStacks o Pilas de paneles son bloques de información que nos permiten implementar en el mismo documento varias pantallas distintas que podemos activar a través de un Selector, deslizando el dedo de hacia los lados (slide)o bien utilizando el URL API

MicroStrategy URL API: especificar un panel de un panelstack

Imaginad un Document en el que tenemos una pantalla principal con varios botones que distribuye el contenido segmentado en categorías a través de un PanelStack en el que cada panel tiene la información (gráficos, grids, KPIs, etc) de cada categoría. En la parte superior del Document queremos tener un listado de filtros que afecten a todas las categorías. Si queremos implementar la navegación por defecto de MicroStrategy tenemos que usar un Selector que active cada panel, pero nuestra idea no es mostrar en la página principal un montón de botones. Queremos mostrar un resumen de información de cada categoría y un botón para ampliar la información. Además, una vez estemos dentro del panel de la categoría, queremos poder volver a la pantalla principal. Esto con los selectores de MicroStrategy no puede hacerse. Por suerte, contamos con la URL API.

MicroStrategy URL API: especificar un panel de un panelstack

Seleccionar un Panel específico de un PanelStack utilizando MicroStrategy URL API

Los botones (tanto los que activan los paneles de las categorías, como los de «volver») vamos a configurarlos para que el Link aproveche la URL API para activar un panel u otro, incluso paneles de distintos PanelStacks (imaginad que en una categoría queremos cambiar los filtros de la cabecera, que están implementados en otro PanelStack). Vamos a utilizar el evento 2048076:

mstr://?evt=2048076&psKey=XXXX&pKey=YYYY

La URL está formada por:

  • Protocolo especial mstr://
  • Parámetro evt que en este caso es 2048076 (como podéis comprobar en la documentación, cada acción tiene un código de evento, abrir un nuevo documento sería el 2048001).
  • psKey: nos permite especificar el ID del PanelStack
  • pKey: especificamos el ID del Panel

En caso de que busquemos activar paneles de varios PanelStack distintos, simplemente añadimos los IDs correspondientes separados por la barra vertical o slash «|». Es necesario ordenar correctamente los IDs. En el parámetro psKey indicamos los PanelStacks (x1, x2 y x3), y en el parámetro pKey debemos indicar los paneles correspondientes a cada PanelStacks respetando el orden, es decir, el primer panel que debemos especificar es el del PS «x1», el segundo será el del panel «x2», etc.

mstr://?evt=2048076&psKey=x1|x2|x3&pKey=x1y1|x2y1|x3y1

La única forma que tenemos de obtener los IDs es buscándolos en el código fuente desde el editor Microstrategy Web Administrator. Dentro del código buscamos el PanelStack que deseamos activar y el Panel correspondiente. La forma más rápida de hacerlo es utilizando el Inspector de código de Google Chrome (el resto de navegadores tienen algo similar como Herramientas de desarrollador). Pulsamos la tecla F12, nos aparece la ventana del inspector. Pulsamos sobre el botón Inspect y seleccionamos el área del PanelStack. Inmediatamente el código fuente se reposiciona en esta ubicación:

MicroStrategy URL API: especificar un panel de un panelstack

De esta forma, la url completa para activar el Panel B de ese PanelStack sería:

mstr://?evt=2048076&psKey=K143&pKey=K566
MicroStrategy URL API: especificar un panel de un panelstack

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

What is 2 + 10 ?
Please leave these two fields as-is: