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"

Une fois publiés, les reportings sont accessibles dans 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 ! ;-)

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 ! ;-)

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"

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 !

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

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=

Puis écrivons, sur la première ligne de notre rapport dynamique la formule :
=LIEN_HYPERTEXTE($C$11&C20;"détailler "&C20)

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

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

Ça fonctionne ! :-)

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...

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 !
