Tirer profit de l’intelligence d’affaires au cours d’une intégration Maximo standard
Les plateformes de gestion des actifs d’entreprise (enterprise asset management, ou EAM) génèrent beaucoup d’information sur l’exploitation et l’entretien des systèmes essentiels. Pour tirer le meilleur parti de Maximo, les données à jour et l’analyse de ces données doivent être à portée de main afin de vous aider à prendre des décisions éclairées. La solution la plus courante est de générer un rapport ou d’avoir recours à un outil d’intelligence d’affaires haut de gamme. Mais une question demeure : les autres outils Maximo sont-ils exploités à leur meilleur escient? Regardons cela de plus près!
Figure 1 – Centre de contrôle typique dans Maximo (Start Center).
Téléchargements
Figure 2 – Emplacement du bouton « Download ».
Pratiquement toutes les listes dans Maximo peuvent être téléchargées au format Excel. Les feuilles de calcul sont des outils très convenables pour effectuer l’analyse de données système. Pour mettre cette fonction à profit, envisagez de recueillir toute l’information contenue dans les listes. Un onglet List dans Maximo contient un ensemble de données présentant un survol des enregistrements qu’il représente. L’affichage de liste très larges nécessite inévitablement un défilement horizontal à l’écran, bien que l’interface ait été configurée pour empêcher le recours à ce procédé. Les téléchargements de données importantes peuvent être ajoutés à l’onglet List, à l’extrême droite de l’écran, de façon à ce qu’ils soient facilement visibles.
Il existe un outil convivial, quoique limité, pour regrouper les données. On le dit limité puisqu’il se réduit aux données visibles dans la liste. Il est toutefois puissant puisqu’il permet de trier l’onglet List, autant dans l’immédiat qu’au moyen de l’option Advanced Search.
L’optimisation de listes propres à l’entreprise est un excellent point de départ pour améliorer l’accès aux données recueillies par Maximo.
Requêtes
Après un certain temps, les listes de bons de travail, d’actifs, de demandes de service, etc. peuvent devenir très volumineuses. Trouver une information précise peut alors se transformer en un processus long et complexe, même en ayant recours à un rapport pour examiner les chiffres et générer de l’information exploitable. Certains groupes de données sont fréquemment consultés : tous les enregistrements propres à un utilisateur ou à un groupe, tous les enregistrements en cours, tous les enregistrements sur le site d’un utilisateur, et ainsi de suite. On peut y avoir accès au moyen d’une requête (query).
Figure 3 – Liste « Work Order Tracking » triée par enregistrements « In Progress » au moyen de la barre de filtrage.
Figure 4 – Option « Advanced Search » pour la liste « Work Order Tracking », montrant le filtre INPRG dans la barre de filtrage, ainsi qu’une recherche effectuée pour les enregistrements « Corrective Maintenance ».
La plupart des applications dans Maximo sont dotées de la fonction de requête. Tout d’abord, les données demandées doivent être établies selon chaque requête en particulier. Quels critères doit-on ajouter au filtre pour obtenir les résultats souhaités? Mais surtout, ces résultats sont-ils pertinents? Documentez-les, puis appliquez un filtre pour l’information désirée au moyen de la rangée Filter de l’onglet List, dans le système Advanced Search, également offert dans la plupart des applications Maximo. Après avoir généré une liste d’enregistrements qui répondent à un besoin précis (ex. : tous les bons de travail en cours pour tel utilisateur), il est temps de créer une requête.
Figure 5 – Emplacement du bouton « Save Query ».
Maintenant que les filtres sont en place et que les données pertinentes s’affichent, cliquez sur Save Query dans la partie supérieure de l’onglet List.
Figure 6 – Boîte de dialogue « Save Query ».
Saisissez un nom de requête et une description dans la boîte de dialogue. Si l’objectif est de rendre l’information publique au sein de l’entreprise, cochez la case Public. Si vous souhaitez que cette requête soit établie par défaut pour l’utilisateur, cochez également la case Default. Cliquez sur OK. La nouvelle requête sera maintenant accessible à partir de la liste de requêtes disponibles, et mise en surbrillance s’il s’agit de la requête par défaut.
Figure 7 – Nouvelle requête accessible à partir du menu déroulant « Available Queries ».
Les requêtes existantes peuvent être modifiées par l’utilisateur qui les a créées. Cliquez sur le bouton pour faire dérouler le menu Save Query et cliquez sur View/Manage Queries.
Figure 8 – Chemin vers le bouton « View/Manage Queries ».
Cliquez sur l’icône à gauche de la requête à mettre à jour. La clause WHERE devrait s’afficher au bas de la boîte de dialogue. Cliquez sur OK après avoir apporté toutes les modifications à la requête.
Figure 9 – Boîte de dialogue « View/Manage Queries » affichant la nouvelle requête sélectionnée.
Pour ceux et celles qui connaissent le SQL (Structured Query Language) et la structure des données dans Maximo, des requêtes avancées peuvent être créées au moyen de la clause WHERE dans l’onglet List. Elle se trouve dans le menu déroulant Advanced Search.
Figure 10 – Chemin vers le bouton de la clause WHERE.
La clause WHERE correspond exactement à la clause SQL WHERE employée pour générer les données de la liste, et contient les informations enregistrées dans la requête. La boîte de dialogue de la clause WHERE permet de modifier ces informations au moyen d’expressions SQL. En principe, la requête SQL précédant cette clause, pour l’application Work Order, devrait être :
select * from workorder where.
Veuillez noter que les outils SQL tels que les « joins » sont ainsi non disponibles. Toutes les tâches doivent être effectuées dans la clause WHERE.
Figure 11 – Modification d’une clause WHERE.
Les requêtes peuvent être modifiées davantage à l’aide des variables liées (bind variables) dans Maximo. La requête ci-dessus a été créée afin d’afficher tous les enregistrements qui correspondent à la liste des bons de travail par défaut et en cours dans Maximo (état INPRG). L’ajout de la notion de propriété est couramment exigé. Et donc, pour modifier davantage cette requête « In Progress » de sorte qu’elle filtre les bons de travail non répertoriés, les changements doivent être apportés dans le menu View/Manage Queries, comme indiqué ci-dessous :
Figure 12 – Utilisation d’une variable liée Maximo dans une requête.
L’emploi de :&PERSONID& au lieu de :USER est nécessaire étant donné que la valeur du champ reportedby est une personne. Pas besoin d’être un utilisateur Maximo pour signaler la nécessité d’un bon de travail!
La liste suivante dresse l’inventaire des variables liées dans Maximo, accompagnées de leur brève description :
:&OWNER&
Il s’agit de l’objet métier Maximo (Maximo Business Object, ou MBO) qui est propriétaire du MBO actuel. Elle est toujours employée de pair avec un nom de zone ou un nom de relation tel que &OWNER&.ATTR1 ou :&OWNER&.RELATIONSHIP2.ATTR2. On s’en sert pour obtenir la valeur d’un objet par rapport à un MBO propriétaire, ou pour une ou plusieurs relations liées au MBO propriétaire. Cette pratique s’avère très utile lorsque l’enregistrement actuel n’a pas été enregistré dans la base de données et que vous avez besoin de connaître sa valeur ou sa valeur relative.
:&APPNAME&
Il s’agit du nom de l’application au moyen de laquelle on accède au MBO actuel. À titre d’exemple, le nom d’un objet affiché dans la boîte de dialogue de l’application WOTRACK sera WOTRACK. Dans le cas où aucune application propriétaire n’est associée à un objet, le système renvoie une chaîne vide. Cette variable est généralement employée en contexte d’interface utilisateur conditionnelle ou de restriction d’accès aux données.
:&MBONAME&
Il s’agit du nom de l’objet. Très pratique lorsqu’on veut rattacher une condition commune à différents objets similaires.
:&OWNERNAME&
Cette variable renvoie le nom de l’objet propriétaire de l’objet actuel.
:&PERSONID&
Cette variable renvoie la valeur PERSONID de l’utilisateur présentement connecté.
:&USERNAME&
Cette variable renvoie le nom d’utilisateur de la personne connectée.
:&DATE&
Il s’agit d’une chaîne de données correspondant à la date actuelle, lorsqu’on l’utilise dans des expressions telles qu’un modèle de communication, et à une fonction JDBC s’appuyant sur la date actuelle, lorsqu’on l’emploie dans une relation.
:&DATETIME&
Variable enregistrée sous &DATE&, mais au format DATETIME.
:&HOSTNAME&
Variable généralement employée dans les modèles de communication. Il s’agit de l’URL du serveur. Elle correspond à la propriété mxe.hostname.
:&UNIQUEID&
Cette variable renvoie l’identifiant unique de l’objet actuel.
:&synonymlist&_
Le mot-clé est tout en minuscules. Cette variable renvoie une liste de valeurs synonymes qui peuvent toutes être employées directement dans un SQL. À la suite du mot-clé &synonymlist&_, vous pouvez saisir le nom de domaine synonyme ainsi qu’une liste de valeurs internes.
:&synonymlist&_DOMAINNAME[VALUE1,VALUE2,...ETC.] renverra une chaîne correspondant à ('synonymofvalue1', 'synonymofvalue2'...etc.). On recommande d’utiliser cette variable dans la clause WHERE parente lorsque vous avez besoin de trier les enregistrements selon les valeurs synonymes d’un domaine synonyme. La raison est que les requêtes qui en découleront offriront une bien meilleure performance qu’un composant subselect correspondant à une table de domaine synonyme.
Indicateurs de rendement clés
Accessibles à partir du centre de contrôle de l’utilisateur, les indicateurs de rendement clés (key performance indicators, ou KPI) offrent un aperçu des données essentielles dans Maximo. L’information fournie par un KPI est un nombre seul, mais ce nombre peut représenter un ensemble d’inscriptions, la somme de certaines valeurs, la lecture d’un compteur ou toute autre donnée pertinente. Ce nombre peut être comparé à une valeur cible (target value), à une valeur d’avertissement (warning value) ou à une valeur d’alerte (alert value)
Figure 13 – Apparence d’un KPI.
Figure 14 - Affichage de trois KPI.
Une inscription de KPI dans le centre de contrôle peut être soit un KPI seul ou un ensemble de KPI connexes. L’affichage d’un KPI seul (temps d’arrêt par mois, bons de travail retardés, etc.) sert à se concentrer sur une statistique importante en particulier. L’affichage de plusieurs KPI connexes (bons de travail par groupe d’entretien, température prise à différents moments sur un même appareil, usure des pneus, etc.) permet non seulement de surveiller toutes les valeurs, mais aussi de comparer ces valeurs entre elles afin d’équilibrer la charge de travail ou de constater les problèmes qui surviennent lorsqu’elles changent à différents moments, par exemple.
Chaque KPI peut être relié à une source d’information externe comme un KPI connexe ou un rapport qui pourrait révéler les causes derrière les résultats. Cette pratique donne aux utilisateurs l’accès à beaucoup d’information; ils peuvent ainsi constater les problèmes en amont et prendre des décisions éclairées.
La caractéristique la plus importante chez les KPI est le fait qu’ils consignent un historique des valeurs. Ces valeurs peuvent être affichées dans un graphique pour illustrer certaines tendances et anticiper les problèmes. Ces données sont essentielles en contexte d’entretien prédictif.
Figure 15 – Graphique de tendance associé à un KPI.
L’historique des valeurs peut aussi être affiché sous forme de liste. Les listes peuvent être téléchargées au format Excel à des fins d’analyse poussée.
Figure 16 – Historique des valeurs sous forme de liste.
Les KPI peuvent être configurés dans l’application KPI Manager.
Figure 17 – Application KPI Manager.
La première section affiche l’information de base du KPI.
Figure 18 – Bloc en-tête du KPI.
Dans la partie supérieure se trouvent le nom et la description du KPI. Formulez l’information de la manière la plus descriptive afin que tous les utilisateurs sachent de quoi il est question à première vue. Les résultats d’un KPI peuvent être affichés au format décimal ou en pourcentage. Il est aussi possible de calculer les données relatives aux tendances.
Figure 19 – Détails d’une requête KPI.
Dans la prochaine section, on aborde le cœur du sujet : la requête. Il s’agit d’une véritable requête SQL scindant la clause WHERE en deux : tout ce qui se trouve avant le début de la clause WHERE, dont les clauses SELECT et FROM (SELECT), et tout ce qui se trouve après le début de la clause WHERE, y compris les clauses WHERE et ORDER BY (WHERE). SELECT est le seul champ obligatoire; les requêtes dont toute l’information se trouve dans les clauses SELECT et FROM peuvent ainsi être traitées.
Comme mentionné, le produit d’une requête créée pour un KPI est un nombre seul. Toute autre valeur est invalide.
Figure 20 – Paramètres d’un KPI.
Les paramètres d’un KPI servent à interpréter les données. Trois paramètres peuvent être configurés : Target, Caution At et Alert At. La valeur Target est la cible à atteindre. La valeur Caution At est le nombre duquel il faut se préoccuper. Et finalement, si le KPI renvoie un nombre au-delà de la valeur Alert At, les alarmes sont déclenchées et l’objet auquel le KPI est rattaché doit être examiné. Le KPI sera ascendant si la valeur Alert At est plus grande que la valeur Caution At, sans quoi il sera descendant.
Figure 21 – Liens KPI.
Un KPI, comme mentionné précédemment, peut être associé à un autre KPI ou même à un rapport. Le KPI connexe ou le rapport doit en principe fournir des détails supplémentaires au sujet du KPI dont il est question. Ces associations sont affichées dans le dernier bloc de description du KPI, soit la fenêtre Links.
Résultats
Figure 22 – Résultats typiques.
Les Résultats (Result Set) sont des ensembles de données à l’attention de l’utilisateur dans son centre de contrôle (tableau de bord). Les données sont généralement sélectionnées selon leur utilité par rapport au rôle de l’utilisateur.
Les Résultats s’appuient sur une application Maximo et sur une requête enregistrée au moyen de cette application, qui détermine les données qui seront affichées. Au moment de leur configuration, les colonnes peuvent être tirées de la liste de tous les champs dans la table principale de l’application. Veuillez noter que les colonnes disponibles ne se limitent pas à celles qui s’affichent dans la vue « liste » de l’application.
Cliquer sur un objet dans la rangée dirigera l’utilisateur vers l’enregistrement dans l’application propriétaire, à des fins d’examen approfondi. Par conséquent, les colonnes sélectionnées doivent fournir à l’utilisateur toute l’information lui permettant de déterminer si un examen approfondi est nécessaire. Comme indiqué plus haut, tout dépend du rôle de l’utilisateur au sein de l’organisation.
Les Résultats peuvent aussi être affichés sous forme de diagramme. Si l’option d’affichage sous forme de diagramme a été configurée, l’utilisateur peut cliquer sur le bouton Chart View dans le coin inférieur gauche pour basculer en mode diagramme. Sinon, le bouton affichera plutôt Set Chart Options. Cliquer sur Set Chart Options ouvre la boîte de dialogue suivante, où l’utilisateur peut saisir le type de diagramme et la valeur à comptabiliser, et choisir le mode d’affichage par défaut parmi « liste » et « diagramme ».
Figure 23 – Options offertes pour la configuration du diagramme.
Après cette configuration, le diagramme s’affichera et offrira une perspective unique sur les données.
Figure 24 – Diagramme en barres pour l’affichage des Résultats.
Comme mentionné, les colonnes de la vue « non-diagramme » peuvent être triées et ainsi offrir à l’utilisateur une perspective différente de celle qu’offre la vue standard sous forme de liste pour l’application. Pour apporter des modifications, déplacez le curseur dans le coin supérieur droit des résultats dans le centre de contrôle, puis cliquez sur l’icône crayon.
Dans la boîte de dialogue, le premier onglet offre la possibilité d’utiliser le contenu de la liste des résultats. N’importe quel champ de l’objet associé à l’application peut alors être utilisé. De plus, le contrôle des résultats fait usage de Report Object Structures (ROS) qui permettent d’ajouter à l’application propriétaire toute information externe connexe. Étant donné les limites inhérentes à l’affichage des résultats, seules les données disposant d’un mappage un à un peuvent être utilisées. Les champs d’un actif lié peuvent être ajoutés, mais l’information provenant de toutes les tâches liées est exclue.
L’espace d’affichage des résultats est limité; il est possible que les colonnes souhaitées s’affichent mal – un aspect qui vaut la peine d’être souligné avant de choisir les colonnes pertinentes. Les colonnes devraient être choisies par ordre de priorité selon qu’elles sont « essentielles » ou simplement « utiles ». Par conséquent, certaines colonnes simplement « utiles » peuvent être retirées sans poser de problème. Les colonnes retirées peuvent être ajoutées à d’autres groupes de résultats portant sur un thème différent. Gardez à l’esprit qu’un utilisateur peut toujours employer l’application propriétaire pour obtenir de l’information supplémentaire.
Figure 25 – Choix des colonnes pour l’affichage des Résultats.
Le dernier point en ce qui a trait aux Résultats est l’utilisation des couleurs. Étant donné que tous les outils du centre de contrôle sont des solutions visant à offrir un simple aperçu, il est pertinent d’optimiser les Résultats de façon à ce qu’ils attirent l’attention sur les principaux points d’intérêt. Voilà l’utilité de Color Options, dernier onglet de la configuration des résultats.
Figure 26 – Enregistrements mis en surbrillance par la couleur.
Color Options permet de mettre à l’essai diverses conditions par rapport aux colonnes précédemment sélectionnées (TARGCOMPDATE, dans l’exemple ci-dessus). Pour chaque condition à mettre en surbrillance, une rangée unique doit être créée pour décrire la condition à tester et choisir la couleur. Les tests sont faciles à configurer au moyen des options de comparaison : equal to, greater than, greater than or equal to, less than, et less than or equal to. La colonne sélectionnée peut être comparée à une valeur donnée et si le résultat est vrai, la ligne de laquelle la valeur provient s’affichera dans la couleur demandée. Aucune requête complexe n’est permise.
Figure 27 – Résultats avec enregistrements retardés mis en surbrillance par la couleur verte.
La valeur qui fait l’objet de la comparaison peut être littérale (c.-à-d. correspondant exactement aux caractères saisis) ou l’une des variables liées de Maximo telles que :SITEID ou :&USERNAME&. Une valeur littérale peut être n’importe quel groupe de caractères alphanumériques, comme 12 ou APPR. Pour les personnes qui connaissent bien SQL, veuillez noter que les valeurs que l’on compare aux caractères alphanumériques ne doivent pas être entre guillemets anglais.
En ce qui a trait aux variables liées, :&DATETIME& est l’une des plus utiles dans Maximo. Elle renvoie la date et l’heure actuelles, et permet de cibler les articles qui pourraient être échus ou périmés. Ces variables n’ont pas besoin d’être entourées de guillemets anglais non plus. Mais n’oubliez pas les deux-points initiaux.
Autres sujets
Un des sujets qui brille par son absence est la génération de rapports ad hoc (Ad Hoc Reporting). Il s’agit d’un moyen très pratique pour extraire des données complexes de la plateforme Maximo. La génération de rapports ad hoc s’appuie sur certaines informations dont il a été question dans le présent article. Toutefois, nous aborderons les fonctions des rapports ad hoc et les améliorations qu’on peut y apporter dans un autre billet de blogue. Entretemps, n’hésitez pas à communiquer avec nous si vous avez besoin d’information supplémentaire à ce sujet.