Automation Hub
Plus récente (Latest)
False
Image de fond de la bannière
Guide de l'API Automation Hub
Dernière mise à jour 29 janv. 2024

Automation Hub - Appli ouverte - Analyse des données des requête

L'analyse des données de l'API Automation Hub peut parfois s'avérer difficile, surtout si vous consolidez un rapport très complexe.

Vous trouverez dans cette page quelques conseils et astuces qui peuvent être utilisés pour améliorer le processus global d'analyse des données. La page contient :

  • Les étapes à suivre, avec des références à la documentation d'Ouvrir l'API (Open API) et de Power Query.
  • Un exemple de fichier dans lequel vous pouvez suivre les étapes directement dans Power Query.

Configuration de la requête principale (pour GET Automation Pipeline)

Procédez comme suit pour configurer la requête principale :

  1. Accédez à Power BI ou Excel et appuyez sur Obtenir les données (Get Data), puis sélectionnez À partir du web (From Web).
  2. Dans la nouvelle fenêtre, appuyez sur Avancé (Advanced).
  3. Vous devez ajouter les données Ouvrir l'API (Open API) correspondantes pour établir la connexion.
  4. Commencez par ajouter le point de terminaison (par exemple, GET Automation Pipeline).
  5. Ensuite, les en-têtes
  6. Ajoutez le jeton d'authentification dans les en-têtes.
  7. Assurez-vous d'ajouter le mot Porteur (Bearer) avant d'insérer la valeur du jeton.
  8. Cliquez sur Connexion (Connect).

Vous devriez désormais obtenir la réponse JSON d'Ouvrir l'API (Open API) dans Power BI. De plus, vous devez approfondir les données avant d'enregistrer la table en procédant comme suit :

  1. Développez l'objet de données.
  2. Puis, développez l'objet du processus.
  3. Vous pouvez maintenant convertir les données en table, ce qui permettra d'obtenir une seule colonne avec tous les enregistrements.
  4. Développez cette colonne pour obtenir tous les enregistrements disponibles dans le fichier JSON ; vous pouvez choisir de tous les récupérer ou récupérer seulement une partie d'entre eux.
  5. Une fois le développement terminé, assurez-vous de vérifier toutes les colonnes, car certaines d’entre elles contiennent des enregistrements imbriqués que vous devez développer.
  6. Passez en revue chaque colonne pour vous assurer que les données sont correctes. Vous pouvez également formater certaines des colonnes comme vous le souhaitez.
  7. Si vos données semblent correctes, appuyez sur Enregistrer et fermer (Save and Close) et attendez que les données se chargent.
  8. Vous pouvez désormais commencer à créer votre tableau de bord/rapport.

Utilisation de la pagination pour obtenir dynamiquement tous les éléments des requêtes Ouvrir l'API (Open API)

Commencez par une requête simple dans laquelle vous n'utilisez aucun paramètre de limite ; vous obtiendrez, par défaut, une réponse avec le nombre d'éléments par défaut (20), puis suivez les étapes ci-dessous :

  1. Explorez le champ totalPages.
  2. Cliquez sur le bouton Fonction (Function), votre formule devrait se transformer en =totalPages.
  3. Insérez la formule suivante =List.Numbers(1,totalPages,1).
  4. Une liste contenant tous les numéros de page disponibles dans la réponse de l'API est générée.

Cette liste est dynamique et se base sur le nombre de pages obtenues par la réponse. Ainsi, si vous actualisez la requête API et que vous avez de nouvelles données (une nouvelle page), elle sera automatiquement ajoutée à la liste. Continuez en procédant comme suit :

  1. Transformez la liste en table.
  2. Changez le nom de la colonne en Page et le type de données en Texte (Text).
  3. Créez une colonne personnalisée.
  4. Ajoutez la requête suivante dans la formule de la colonne :
let 
       Source = Json.Document(Web.Contents(" https://automation-hub.uipath.com/api/v1/openapi/automationpipeline?pre=all&page="&[Page], [Headers=[#"Content-Type"="application/json", #"x-ah-openapi-app-key"="test", #"x-ah-openapi-auth"="openapi-token", Authorization="Bearer xxxxxx"]])), 
       data = Source[data], 
       processes = data[processes] 
   in 
       processeslet 
       Source = Json.Document(Web.Contents(" https://automation-hub.uipath.com/api/v1/openapi/automationpipeline?pre=all&page="&[Page], [Headers=[#"Content-Type"="application/json", #"x-ah-openapi-app-key"="test", #"x-ah-openapi-auth"="openapi-token", Authorization="Bearer xxxxxx"]])), 
       data = Source[data], 
       processes = data[processes] 
   in 
       processes 

La requête ci-dessus obtient les données de l'Ensemble des automatisations (Automation Pipeline) et utilise le paramètre Page (que nous obtenons dynamiquement dans la liste) pour obtenir le contenu de toutes les pages disponibles. Vous disposez désormais de tous les éléments disponibles dans la réponse, quel que soit le nombre de pages renvoyées par l'API.

Analyse d'une requête différente (GET Automations) pour extraire les champs Description et Application

L'analyse de l'application (délimitée par des virgules) s'effectue en suivant les étapes suivantes :

  1. Dans l'éditeur de requête, accédez à la colonne dans laquelle se trouvent vos applications et cliquez sur Développer (Expand) pour voir de nouvelles lignes.
  2. Appuyez à nouveau sur Développer (Expand) et sélectionnez les métadonnées de l'application que vous souhaitez extraire, telles que le nom de l'application.
  3. Dans l'onglet Accueil/Ruban (Home Tab/Ribbon), cliquez sur Regrouper par (Group by).
  4. Dans la fenêtre Regrouper par (Group by), sélectionnez :

    • Le regroupement doit se faire par la colonne ID du processus (Process ID), car l'ID est unique.
    • Le nouveau nom de colonne doit ressembler à « applications agrégées ».
    • Opération : Somme (Sum)
    • Colonne : la colonne que vous avez développée pour les applications (dans l'exemple ci-dessus, il s'agit de Column.1applications.applications_name).
  5. Après avoir appuyé sur OK, vous obtiendrez une erreur, car la fonction Somme (Sum) ne peut pas fonctionner avec des entrées de texte.
  6. Accédez à la barre de formule et remplacez List.Sum par Text.Combine comme fonctions.
  7. De plus, dans la formule, après le nom de la colonne des applications, ajoutez un délimiteur pour vos entrées de texte ; par exemple « , »

    Voici à quoi ressemble la formule avant et après la modification :

    Avant la modification

    Après la modification

    = Table.Group(#"Expanded Column1.applications1", {"Column1.process_id

    = Table.Group(#"Expanded Column1.applications1", {"Column1.process_id

  8. Appuyez sur Enregistrer (Save) et jetez un œil aux entrées de la colonne :

Analyse de la description (délimitée par paragraphe)

Mêmes étapes que pour la description, mais comme la description est un champ de texte où nous devons séparer les différents paragraphes, nous utiliserons un séparateur différent dans la formule « #(lf) ».

Avant la modification

Après la modification

= Table.ExpandRecordColumn(#"Expanded Column1.process_description.blocks", "Column1.process_description.blocks", {"text

= Table.Group(#"Expanded Column1.process_description.blocks1", {"Column1.process_id

Analyse d'une requête différente (GET Automations) pour extraire des questions personnalisées/des questions de l'Évaluation de haut niveau (High Level Assessment)

Commencez à partir d'une nouvelle requête pour GET Automations (vous pouvez utiliser celle avec la pagination présentée ci-dessus) et suivez les étapes ci-dessous :

  1. Développez les colonnes suivantes :

    • ID du processus
    • Advanced_Information ou Évaluation de haut niveau (High Level Assessment) (les deux fonctionnent de la même manière, mais pour ce tutoriel, nous travaillerons avec la colonne advanced_information)
  2. Développez à nouveau la colonne pour obtenir les champs de questions.
  3. Développez à nouveau la colonne pour obtenir les champs suivants.

    • Question_text
    • Answer_text
    • Question_response_answers
  4. Développez Question_response_answers et extrayez response_choice_text.
  5. Combinez les colonnes Texte de la réponse (Answer Text) et Response_choice_text en une seule colonne à l'aide de la formule.
if [AnswerText] is null then [AnswerChoice.response_choice_text] else [AnswerText].

Cela s'applique toujours, car vous pouvez avoir soit une réponse textuelle, soit un choix de réponse (jamais les deux). Continuez le processus en suivant les étapes ci-dessous :

  1. Vérifiez et supprimez toutes les entrées nulles de la colonne Question.
  2. Utilisez une colonne de tableau croisé dynamique pour transposer toutes les données actuelles des colonnes Question et réponse (Question and Answer) en lignes.
  3. Sélectionnez la colonne Question et cliquez sur la colonne Tableau croisé dynamique (Pivot) dans le menu Transformer (Transform).
  4. Sélectionnez la colonne des réponses comme colonne de valeurs.
  5. Sélectionnez Ne pas agréger (Don't aggregate) comme Fonction de la valeur agrégée (Aggregate Value Function) et cliquez sur OK.

Toutes les idées ont désormais une colonne correspondante représentant les questions personnalisées et leurs valeurs correspondantes.

Fusion des requêtes (depuis GET Automations) vers votre requête principale (GET Automation Pipeline)

Pour fusionner deux requêtes différentes dans Power BI, regardez comment cela se fait généralement dans Power Query. Puis, vous pouvez commencer par la requête Ensemble des automatisations (Automation Pipeline) et la fusionner avec la requête Obtenir les automatisations (Get Automations).

  • De cette façon, vous développerez les colonnes disponibles dans Obtenir l'ensemble des automatisations (Get Automation Pipeline) avec celles dans Obtenir les automatisations (Get Automations).
  • Vous devez utiliser l'ID du processus (Process ID) pour fusionner les requêtes, car il s'agit à la fois de l'identifiant unique et de la clé commune entre toutes les requêtes.

Démonstration de l'analyse de Power Query de l'API Automation Hub

Vous trouverez ci-dessous une démonstration vidéo des étapes décrites dans cet article.

Dans cette vidéo :

L'exemple de fichier utilisé dans la vidéo peut être téléchargé ici.

Cette page vous a-t-elle été utile ?

Obtenez l'aide dont vous avez besoin
Formation RPA - Cours d'automatisation
Forum de la communauté UiPath
Logo Uipath blanc
Confiance et sécurité
© 2005-2024 UiPath. All rights reserved.