<< Back

Macro Alteryx & API Tableau Server – Partie 1

Bonjour à tous ! Aujourd’hui nous allons convertir en macro le travail que nous avons effectué lors du tutoriel https://www.theinformationlab.fr/2018/03/23/api-rest-tableau-alteryx/

L’intérêt des macros réside dans la capacité de pouvoir réutiliser une portion de workflow de manière extensive dans chacun de vos projets. Si vous vous trouvez dans la situation à faire beaucoup de copier-coller dans vos workflow Alteryx il est probable que vous trouviez un intérêt à vous intéresser aux macros.

Nous avions déjà parlé des macros lorsque nous avions créé une macro de création d’XML. Je vais donc réutiliser cette macro dans la macro que nous utiliserons aujourd’hui.

1/ Quelques liens intéressants :

Vous pouvez trouver la documentation de l’API Tableau Server ici.

Par ailleurs, vous pouvez télécharger le workflow du tutoriel précédent sur ce lien.

Vous pouvez également télécharger la macro de création de XML ici.

2/ Entrée des informations

Cette macro devra prendre en paramètre l’URL de votre site, le nom d’utilisateur, son mot de passe, le site sur lequel vous souhaitez vous connecter ainsi que la version d’API utilisée. Elle devra renvoyer le token ainsi que le site_id concerné pour réutilisation ultérieure dans tout workflow.

Pour commencer, j’initie un flux Alteryx avec l’outil Text Input. Je n’ai besoin que d’une ligne et d’une colonne que je choisis de noter arbitrairement [1].

Notez que j’ai choisi de remplir l’unique cellule par une chaîne de caractères de As relativement longue. L’idée est de faire en sorte d’avoir suffisamment de caractères pour la suite en forçant Alteryx à assigner suffisamment d’espace pour notre colonne. Ensuite, nous allons utiliser un outil Formula pour y créer le champ [server].

Vous pouvez dès à présent écrire la valeur par défaut de votre serveur Tableau. J’ai ici choisi d’écrire au contraire la valeur « text » mais le principe reste le même. En effet, cette valeur va être remplacée par la suite. Connectez ensuite un outil Action surmonté d’un champ Text Box comme montré sur l’image ci-après :

NB : En phase de tests vous serez susceptible de lancer l’exécution de votre macro de manière répétée. Or, une url « text » n’a aucun sens et ne produira pas le résultat attendu après utilisation de l’outil Download notamment. Je vous recommande donc de remplacer cette valeur par l’url réelle de votre serveur. Une fois que vous obtiendrez le comportement attendu pour votre macro, vous pourrez remplacer ces valeurs par des valeurs plus standards.

Paramétrez votre action de la façon suivante :

Comme vous le voyez, nous ne remplaçons pas la valeur entière de l’expression « text ». Nous remplaçons l’expression à l’intérieur des guillemets (text sans les guillemets « ). C’est une distinction subtile mais très importante. Comprenez bien que l’outil Action va remplacer en dur la valeur « text » par la valeur « url_rentrée_par_utilisateur ». Si nous avions omis d’enlever les guillemets, Alteryx comprendrait que le calcul [server] serait égal à la colonne [url_rentrée_par_utilisateur].

Une fois que vous avez passé cette étape, il vous suffit de répéter l’opération autant de fois que nécessaire pour les champs name, password, cententUrl et api_version :

3/ Macro de création d’XML et outil Download

Lors du précédent tutoriel, nous avions généré le contenu nécessaire à l’appel de l’API en JSON. Naturellement, je vais cette fois-ci générer le contenu au format XML. Générer le XML sera très facile grâce à la macro de création XML que nous avons créé ensemble lors du tutoriel précédent.

La documentation Tableau donne le format suivant pour l’appel d’authentification :

Si nous partons sur du XML, nous devons utiliser la macro XML 3 fois d’affilée.

  1. Création du noeud site avec un attribut contentUrl et aucun texte intérieur.
  2. Création du noeud credentials avec un attribut name, un attribut password et le xml précédent en texte intérieur
  3. Création du noeud tsRequest sans attributs avec le contenu xml précédent à l’intérieur

Terminez par paramétrer votre outil Download exactement comme pour le tutoriel en JSON (lien).

4/ Parsing du résultat

Pour terminer notre macro, nous devons récupérer le contenu site_id et token présent dans le XML. Cela se fait à l’aide de deux outil XML Parse à la suite l’un de l’autre, l’un paramétré pour scanner DownloadData à la racine root et le second paramétré pour scanner credentials_OuterXML à la racine.

Nous avons presque terminé, les étapes nécessaires pour terminer cette macro incluent :

  • Renommer credentials_token en token
  • Ajout d’un outil Select pour ne garder que les champs token, site_id et url.
  • Ajout d’un outil formula pour ne garder que la partie gauche de l’url afin de pouvoir la réutiliser plus tard.
  • Ajout d’une icône custom suivant vos envies Views => Interface designer => clé => Custom Icon

La macro finale devrait ressembler à ceci et vous pouvez la télécharger ici:

Si vous avez bien enregistré votre macro dans le répertoire assigné pour vos macros, vous devriez pouvoir l’utiliser immédiatement avec vos identifiants pour récupérer un token.

Julien Godenir

Anywhere

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *