Les utilisateurs d'IBM Planning Analytics sont friands, pour quelques années encore, de Tm1Web qui offre une véritable application web permettant moult choses utilises et agréables, notamment :

  • Des écrans et formulaires de saisie
  • Des reportings avec graphiques avancées (les mêmes qu’Excel en fait !)
  • Des interfaces pour naviguer librement dans les données
  • Des possibilités de lancer l’exécution des processus, programmes et traitements
  • ...

Saviez-vous que l’on peut aller encore plus loin ?

  • Donner, d’un coup d’un seul, une URL complète qui va :
    • Ouvrir un document (écran, restitution, …)
    • Positionner les invites de sélection
    • Activer le rafraichissement des données
  • URL que l’on peut encapsuler dans sa propre application web (son intranet par exemple)

Tout cela par l’utilisation des API URL de Tm1Web ! ( API URL de TM1 Web - Documentation IBM )

Nous allons découvrir les API au travers d’un exemple, basé sur la base tm1 d’exemples sData.

Construction et publication de petites restitutions

Pour illustrer notre exemple, construisons 2 restitutions :

  • Une restitution de synthèse : "Synthese"
  • Une restitution de détail : "Detail"

On notera l’absence d’espace, d’accents, de tout caractère rendant compliquée la construction d’une URL (on y reviendra plus précisément).

Reporting "Synthese"

Reporting "Detail"

Planning Analytics - Les API URL de Tm1Web

Une fois publiés, les reportings sont accessibles dans tm1web :

Planning Analytics - Les API URL de Tm1Web

(Pour plus d’infos, découvrez notre formation Formation IBM Planning Analytics for Excel)

Construction progressive de notre URL Tm1Web

Base de l’URL : (avec ma machine et mon port tm1web (dépend de votre implémentation)

http://machinetm1:9511/tm1web/URLApi.jsp

Action demandée : ouverture d’une websheet

Action=Open
Type=WebSheet

Identification de la websheet :

Workbook=Applications/Report/Synthese

Serveur tm1 : sData

TM1Server=SData

Mire d’authentification

UserName=admin
Password=apple

Notre exemple n’est pas très propre, car nous y indiquons le user et le password dans l’URL. 

Plusieurs possibilités s’offrent à vous :

  • Configurez une authentification SSO pour tm1
  • Cachez l’URL au sein de votre application web
  • Acceptez que l’utilisateur doive s’authentifier avec la mire de connexion tm1web

Notre URL devient :

http://machinetm1:9511/tm1web/URLApi.jsp#Action=Open&Type=WebSheet&Workbook=Applications/Report/Synthese&TM1Server=SData&UserName=admin&Password=apple

Essayons-la dans notre navigateur : Parfait ! ;-)

Planning Analytics - Les API URL de Tm1Web

Essayons d’ouvrir notre autre restitution :

http://machinetm1:9511/tm1web/URLApi.jsp#Action=Open&Type=WebSheet&Workbook=Applications/Report/Detail&TM1Server=SData&UserName=admin&Password=apple

C’est tout aussi parfait ! ;-)

Planning Analytics - Les API URL de Tm1Web

Passage de paramètres 

Nous aimerions maintenant choisir un point de vue particulier lors de l’ouverture de notre restitution "Detail", par exemple, ne pas l’ouvrir sur le "World" qui est la valeur pré-enregistrée, mais sur "Europe".

La sélection du membre dans la dimension "Region" se fait sur la cellule C15 de notre seul et unique onglet "Detail"

Planning Analytics - Les API URL de Tm1Web

Pour dire à l’API d’ouvrir notre restitution avec "Europe", nous devons utiliser la syntaxe suivante :

Title_S#-R#-C#=elementNameOrIndex

S : numéro de l’onglet (le premier, c’est 0)

R : numero de la ligne ( 14 , c’est la 15ème ligne en partant de zéro, donc la 14)

C : numéro de colonne ( 2, c’est la troisième colonne (A,B,C) en partant de zéro, donc la 2)

Ajoutons alors à notre URL :

Title_S0-R14-C2=Europe 

http://machinetm1:9511/tm1web/URLApi.jsp#Action=Open&Type=WebSheet&Workbook=Applications/Report/Detail&TM1Server=SData&UserName=admin&Password=apple&Title_S0-R14-C2=Europe 

Trop fort !

Planning Analytics - Les API URL de Tm1Web

Liens hyper texte dans Excel et accès au détail

Reprenons notre restitution de "Synthese"  et collons-lui des liens hypertexte circonstanciés pour chaque ligne de donnée :

=> Utilisation de la fonction Excel Lien_Hypertexte

Planning Analytics - Les API URL de Tm1Web

Posons, dans une cellule cachée (afficher / masquer les zones de format) notre base d’URL :

http://machinetm1:9511/tm1web/URLApi.jsp#Action=Open&Type=WebSheet&Workbook=Applications/Report/Detail&TM1Server=SData&UserName=admin&Password=apple&Title_S0-R14-C2=

Planning Analytics - Les API URL de Tm1Web

Puis écrivons, sur la première ligne de notre rapport dynamique la formule :

=LIEN_HYPERTEXTE($C$11&C20;"détailler "&C20)

Planning Analytics - Les API URL de Tm1Web

Regénérons notre restitution, avec une petite mise en forme (tableau de format)

Planning Analytics - Les API URL de Tm1Web

Après publication, utilisons notre restitution de "synthèse" et, par curiosité, regardons le détail du Benelux.

Planning Analytics - Les API URL de Tm1Web

Ça fonctionne ! :-) 

Planning Analytics - Les API URL de Tm1Web

Utilisation dans une autre appli web ( Intranet par exemple) 

Si vous savez gérer et respecter les éléments sécuritaires, genre allow_origin, frame_ancestors, etc …., vous pourrez sans soucis utiliser ce raccourci (votre API URL) pour afficher un bout d’analyse tm1web au sein de widgets dans vos propres applications web (votre intranet par exemple). ;-)

Limitation sur la taille et la complexité du texte URL 

La fonction Excel LIEN_HYPERTEXTE est limitée à 255 caractères pour l’URL.

Imaginez que votre websheet à ouvrir soit accessible au travers d’une longue, longue, très longue arborescence... 

Planning Analytics - Les API URL de Tm1Web

Alors l’URL risquera de dépasser les 255 caractères

http://machinetm1:9511/tm1web/URLApi.jsp#Action=Open&Type=WebSheet&Workbook=Applications/1%20longue%20arboresence/LongueEtCompliqueeSousArboresence/Repertoirefinaldesrestritutions/MonReporting&TM1Server=SData&UserName=admin&Password=apple&Title_S0-R14-C2=

Nous en sommes déjà à 256 caractères... :-(

Autre biais entrainant une augmentation du nombre de caractère dans notre fameuse chaîne :

Il est nécessaire de coder les caractères un peu spéciaux (c’est-à-dire pas américains !) afin de se conformer à la norme RFC3896 ……Voici un extrait des changements que l’on doit apporter à l’URL (norme RFC3986)

Caractère

Encodage URL

“espace”

%20

À

%C3%A0

Â

%C3%A2

Ä

%C3%A4

Ç

%C3%A7

É

%C3%A9

È

%C3%A8

Un reporting qui s’appellerait "Synthèse Détaillée" devrait s’écrire :

Synth%C3%A8se%20D%C3%A9taill%C3%A9e

Nous donnant une URL un peu absconde (excusez du peu !) ….. Déjà 181 caractères !

http://machinetm1:9511/tm1web/URLApi.jsp#Action=Open&Type=WebSheet&Workbook=Applications/Dossier1/Synth%C3%A8se%20D%C3%A9taill%C3%A9e &TM1Server=SData&UserName=admin&Password=apple

Nous pourrions utiliser une macro qui créerait une cellule de type "lien", mais cette macro ne fonctionnerait pas sous tm1web et notre "simplicité" serait partie en fumée….

Synthèse

L’utilisation de l’API URL de Tm1web permet de construire des websheet avec des liens d’accès au détail assez bluffant, à condition que le texte de l’URL fasse moins de 255 caractères.

L’API URL de Tm1web vous permet d’encapsuler des widgets (présentant des analyses ou autre tm1web) au sein de vos propres applicatifs web (votre intranet par exemple)

Vous souhaitez bénéficier d'experts, de développeurs, ou d'une formation sur TM1 / Planning Analytics ? Rendez-vous sur la page Contact !