Qlik Sense - Usar variables en REST API

No solo de Splunk vive el hombre! Otra de las herramientas con las que llevo bastante tiempo trabajando es Qlik Sense, una de las herramientas TOP dentro del mundo BI. Aunque la parte de visualización es muy potente, y a los usuarios finales les suele gustar mucho, para mi sin duda, su punto estrella es su posibilidad de ejercer de ETL, y la parte del script de carga, donde podemos programar recargas y hacer transformaciones de datos para luego presentárselas forma impecable al usuario.

Pero bueno, vamos al grano, hace unos días me encontré con una problemática en un proyecto de Qlik Sense. Tenia que descargarme de varias web unos JSON para realizar unos dashboards, en principio la cosa no parecía muy complicada, salvo por la complejidad de como trata Qlik la descarga de los JSON, y la estructura que le da a estos, ademas estas descargas tenían que ser exactamente iguales, pero cambiando los credenciales, ya que en función del usuario, los datos eran diferentes, la verdad que en la cabeza lo veía claro, pero no encontré muchos ejemplos, y la documentación en este sentido era muy justa, decía que se podía hacer, pero no encontraba un ejemplo como el que yo buscaba, así que después de darle un par de vueltas, y orientándome por alguna cosillas que encontré en algún foro, di con la solución, que ahora os pongo aquí.

De base parto de una tabla donde tengo mis usuarios, donde tengo usuarios y su token de acceso

usuarios:
Load * Inline [
usuario, token
'pepe','123456'
'juan','qwerty'
];


Ahora necesito pasar estos token como argumentos en la conexiones a la REST API, y así no tener que hacer varias llamadas, una por usuario y token.
La clave en este caso es tener mi conexión correctamente configurada, y pasarle los argumentos con el comando WITH CONNECTION


LIB CONNECT TO 'Servicio Rest';

for icredenciales=0 to NoOfRows ('usuarios')-1

  let vRUL = 'https://www.ejemplo.com';
  let vcredencial = peek('token',icredenciales,'usuarios');



RestConnectorMasterTable:
SQL SELECT 
                      XXXXXXXXXX
                      XXXXXXXXXX

FROM JSON (wrap on) "root" PK "__KEY_root"

WITH CONNECTION (
url "$(vURL)",
QUERY "authSchema" "anonymous",
HTTPHEADER  "Authorization" "$(vcredencial)"
);

    drop table RestConnectorMasterTable;

next icredenciales

Marco en negrita la parte del "WITH CONNECTION", donde puedo ir pasando variables, también podría añadir información en el BODY de la petición

Aquí alguno ejemplo de los doc oficial.

Espero que os sirva

Comentarios

  1. I think this is the best way of providing information about QlikView,QlikSense and REST API.

    Qlik Rest Api Connection

    ResponderEliminar

Publicar un comentario

Entradas populares de este blog

REGISTRAR UNA DLL EN SISTEMAS 64 BITS

¿QUE ES ALTIRIS CLIENT MANAGEMENT SUITE?

Arquitecturas Splunk: Capitulo 1 - Introduccion