Automatisez l'écriture de plusieurs sorties avec les paramètres Tableau Prep

March 30, 2026
January 25, 2023
5
min read

Préparation à Tableau est un outil puissant qui rend la préparation des données simple et intuitive. Il fournit un moyen visuel et simple de combiner, de mettre en forme et de nettoyer les données, ce qui permet aux utilisateurs de démarrer plus facilement leur analyse.

Imaginez un scénario dans lequel vous analysez les données de vente d'un magasin. Il s'agit d'un grand magasin avec plusieurs directeurs régionaux. Certains managers aiment analyser leurs propres données de vente. Ils vous demanderont donc régulièrement de produire un ensemble de données récapitulatif qui leur est propre.

Nous allons vous montrer ici comment utiliser Tableau Prep pour produire des sorties multiples et distinctes avec des données récapitulatives. Dans notre scénario, nous produirons un fichier de sortie pour chacun des différents responsables régionaux, filtré en fonction des données pertinentes pour chacun d'entre eux. Nous proposerons également des solutions pour rationaliser et automatiser ce flux de travail, en utilisant Interface de ligne de commande de Tableau Prep et un simple script de ligne de commande.

En résumé, nous allons suivre les principales étapes suivantes :

  • Créez un flux Tableau Prep simple qui regroupe/résume les données de vente et les enregistre dans un seul fichier de sortie Excel
  • Filtrez les données du flux Prep vers un seul responsable régional à l'aide d'un paramètre
  • Exécutez le même flux plusieurs fois à l'aide de la ligne de commande, en modifiant à chaque fois le paramètre et en filtrant sur un gestionnaire régional différent, pour obtenir plusieurs sorties distinctes

Nous utiliserons tout au long de l'ensemble de données Superstore de Tableau, que vous trouverez dans le dossier « Sources de données » de votre emplacement « Mon référentiel Tableau ». Veuillez également noter que nous travaillerons avec des fichiers Excel pour des raisons de simplicité. Dans un environnement d'entreprise, vous travaillerez probablement avec des tables de base de données, mais cela ne pose aucun problème. Tableau Prep vous permet de lire/écrire des données depuis/vers diverses bases de données, ce qui vous permet d'adapter facilement l'exemple fourni. Si vous souhaitez en savoir plus sur l'utilisation de Tableau Prep pour écrire dans une base de données, consultez notre précédent billet de blog.

Écrire plusieurs fichiers Excel de sortie avec Tableau Prep

Commençons par ce simple flux :

Vous pouvez voir sur la gauche que nous avons créé une connexion au fichier Excel du jeu de données Superstore. Nous avons ensuite intégré au flux les tableaux « Personnes » (bleu) et « Commandes » (orange).

« Personnes » est un tableau simple composé de deux colonnes contenant le nom des responsables régionaux et la région à laquelle ils sont affectés :

Le tableau « Commandes » est plus complexe et contient les données de vente pour chaque commande passée auprès du Superstore (notez que toutes les colonnes ne sont pas affichées sur la capture d'écran) :

Passons maintenant en revue les différentes étapes du flux. Nous effectuons d'abord une jointure gauche entre les deux tables (étape « Rejoindre » en orange), en utilisant le champ commun « Région », qui nous permet d'attribuer les différentes commandes à chaque responsable régional :

L'étape « Agréger » en orange nous permet d'obtenir un résumé des données et de fournir aux gestionnaires un ensemble de données moins granulaire :

À l'étape « Gestionnaire de filtres » en orange, nous utilisons l'option « Conserver uniquement » pour sélectionner le gestionnaire pour lequel nous voulons produire le jeu de données récapitulatif. Dans notre exemple, nous allons commencer par Fred Suzuki :

Enfin, nous utilisons l'étape « Sortie » pour configurer l'écriture d'un fichier Excel, nommé « Fred Suzuki Summary Data », lorsque nous exécutons le flux. Les données seront écrites dans la feuille « Données récapitulatives du responsable » du fichier Excel :

Voici à quoi ressemble notre fichier de sortie :

À ce stade, on peut imaginer deux manières simples d'aller de l'avant et de produire les fichiers Excel pour les responsables régionaux restants :

  • Nous pourrions modifier le gestionnaire filtré et le nom du fichier de sortie dans les deux dernières étapes correspondantes du flux et réexécuter le flux trois fois de plus pour obtenir les fichiers récapitulatifs distincts pour chaque responsable régional.
  • Nous pourrions également ajouter trois étapes de filtrage supplémentaires avec des sorties dédiées au flux de préparation et produire les fichiers pour chaque gestionnaire en appuyant simplement sur le bouton « Exécuter le flux ».

Cependant, les deux options peuvent devenir fastidieuses et sujettes à des erreurs, en particulier pour un grand nombre de managers. De plus, aucune des deux options n'est suffisamment flexible en cas de changement d'un ou de plusieurs de vos responsables ou si vous en recrutez d'autres, auquel cas vous devrez ajuster et corriger manuellement votre flux. Voyons donc comment nous pouvons automatiser ce processus.

Automatisation avec les paramètres Tableau Prep

Une nouvelle fonctionnalité tant attendue a été introduite dans la version 2021.4 de Tableau Prep, publiée fin 2021 : les paramètres. À l'instar de Tableau Desktop, les paramètres de Prep sont des variables qui permettent aux utilisateurs de remplacer une valeur dans un calcul ou un filtre.

Créons un paramètre dans notre flux à l'aide du menu en haut de la page. Notre paramètre s'appellera « Manager », aura le type « String » et veillera à cocher « Demander la valeur au moment de l'exécution » (la valeur actuelle n'est pas si importante, car nous finirons par la modifier plusieurs fois) :

Nous utiliserons ce paramètre nouvellement créé à l'étape « Gestionnaire de filtres », où nous supprimerons le filtre spécifique que nous avons codé auparavant et le remplacerons par un filtre nécessitant que le champ « Directeur régional » soit égal au paramètre « Gestionnaire ». Notez que, tout comme dans Tableau Desktop, le calcul affiche les champs en orange et les paramètres en violet :

Enfin, nous modifierons le nom du fichier Excel de sortie à l'étape « Sortie », pour inclure également le paramètre nouvellement créé :

Si nous essayons d'exécuter le flux, nous verrons apparaître la fenêtre suivante, qui nous permet de définir la valeur du paramètre « Manager ». Nous allons utiliser Chuck Magee, pour le différencier de la valeur par défaut, puis exécuter le flux :

Le fichier de sortie indique que le paramètre a fait le travail. Nous obtenons le fichier « Chuck Magee Summary Data.xlsx », filtré vers le gestionnaire souhaité :

Nous allons maintenant fermer le flux Prep et essayer de l'exécuter en utilisant Interface de ligne de commande de Tableau Prep. Notre flux simple peut être exécuté en saisissant ce qui suit sur une invite de commande :

"C:\Program Files\Tableau\Tableau Prep Builder 2021.4\scripts\tableau-prep-cli.bat" -t ManagerFlow.tfl -p Manager.json

N'oubliez pas que vous devez modifier la première partie pour qu'elle pointe vers l'emplacement d'installation de Tableau Prep et que la partie qui suit -t doit correspondre au nom de votre flux. Le fichier json qui apparaît après -p nous permet de définir les valeurs des paramètres utilisés dans le flux via la ligne de commande. Nous allons donc créer le fichier « Manager.json » au format ci-dessous. Ce fichier indiquera à Tableau Prep de remplacer la valeur par défaut du paramètre « Manager » (défini directement dans le flux) par « Roxanne Rodriguez » :

{"Manager":"Roxanne Rodriguez"}

Nous pouvons maintenant taper la commande dans l'invite de commande :

Ce qui produit le résultat attendu :

Avec cette configuration, nous pouvons constater que pour produire les données récapitulatives pour un gestionnaire spécifique, nous devons d'abord modifier le fichier « Manager.json », puis exécuter le flux Prep. Nous pouvons donc écrire un script de ligne de commande qui inclut cette séquence de commandes. Notre script peut même placer cette séquence dans une boucle qui parcourt la liste des managers. De cette façon, la séquence sera exécutée une fois pour Roxanne, puis une fois de plus pour Fred, etc.

Créons donc la liste des gestionnaires pour lesquels nous voulons produire les données récapitulatives. Nous utiliserons un fichier texte, nommé « ManagerList.txt ». Dans ce cas, nous avons copié la liste directement à partir de la table Personnes, car nous allons produire des résultats pour les quatre gestionnaires :

Passons maintenant à notre script. Voici une version très simple de ce à quoi il pourrait ressembler :

Pour créer votre version du script, vous pouvez copier-coller les lignes ci-dessous et les enregistrer sous le nom « runall.cmd » dans votre répertoire de travail (nous supposons que le script, le flux Tableau Prep, le fichier ManagerList.txt, le fichier Manager.json et les fichiers Excel de sortie sont tous enregistrés/écrits dans le même répertoire de travail de votre choix et que vous exécutez le script à partir de ce répertoire de travail) :

FOR /F "tokens=*" %%A IN (ManagerList.txt) DO (
ECHO {"Manager":"%%A"} > Manager.json && "C:\Program Files\Tableau\Tableau Prep Builder 2021.4\scripts\tableau-prep-cli.bat" -t ManagerFlow.tfl -p Manager.json
)

Voici un aperçu de ce que fait le script :

FOR /F "tokens=*" %%A IN (ManagerList.txt) DO ( … )

Il s'agit de la partie en boucle du script. Il lit le fichier ManagerList.txt et effectue une boucle sur chacune des lignes du fichier, %%A représentant la valeur de chaque ligne. Le script exécutera ensuite tout ce qui se trouve entre parenthèses autant de fois qu'il y a de lignes dans le fichier ManagerList.txt (quatre dans notre cas). D'abord, utiliser %%A équivaut à Sadie Pawthorne (première responsable de la liste), puis utiliser %%A comme Chuck Magee (deuxième dans la liste), etc.

ECHO {"Manager":"%%A"} > Manager.json

Cette partie écrit la valeur de %%A, c'est-à-dire le nom du gestionnaire, dans le fichier json, avec le format requis pour le réglage correct du paramètre dans le flux. Le code se trouve entre parenthèses de la boucle FOR, il sera donc exécuté quatre fois. La première fois qu'il écrira

{"Manager":"Sadie Pawthorne"} 

dans Manager.json, la deuxième fois, il écrira

{"Manager":"Chuck Magee "} 

dans le fichier json, et ainsi de suite.

&& "C:\Program Files\Tableau\Tableau Prep Builder 2021.4\scripts\tableau-prep-cli.bat" -t ManagerFlow.tfl -p Manager.json

Il s'agit de la commande que nous avons exécutée ci-dessus directement dans l'invite de commande. Il exécute simplement notre flux de préparation ManagerFlow.tfl à l'aide du fichier json que nous venons d'écrire. Les symboles « && » indiquent que cette commande ne sera exécutée que si la commande précédente s'exécute correctement. Le flux ne sera donc pas exécuté si le nom du gestionnaire n'a pas encore été écrit dans le fichier Manager.json, sinon le paramètre Manager ne sera pas défini correctement.

Pour exécuter le script, vous pouvez simplement taper runall.cmd dans l'invite de commande :

runall.cmd

Une fois le script exécuté, vous devriez avoir quatre fichiers Excel différents dans votre répertoire de travail, chacun contenant des données provenant d'un responsable régional différent :

Cette solution constitue une approche du flux de travail plus efficace et moins sujette aux erreurs :

  • Vous n'avez besoin de configurer qu'une seule étape de sortie dans votre flux de préparation
  • Vous produisez plusieurs fichiers de sortie en une seule fois en exécutant un seul script
  • Les noms des gestionnaires ne sont pas codés en dur dans le flux Prep, vous n'avez donc jamais besoin de l'ouvrir ou de le modifier. Lorsque les responsables demandent des données, il vous suffit d'ajouter leurs noms à la liste du fichier texte et d'exécuter un script. Vous pouvez même ajouter les noms de responsables qui n'existaient pas au moment où vous avez développé le flux Prep.

Tableau
Tableau
Tableau

Préparation à Tableau est un outil puissant qui rend la préparation des données simple et intuitive. Il fournit un moyen visuel et simple de combiner, de mettre en forme et de nettoyer les données, ce qui permet aux utilisateurs de démarrer plus facilement leur analyse.

Imaginez un scénario dans lequel vous analysez les données de vente d'un magasin. Il s'agit d'un grand magasin avec plusieurs directeurs régionaux. Certains managers aiment analyser leurs propres données de vente. Ils vous demanderont donc régulièrement de produire un ensemble de données récapitulatif qui leur est propre.

Nous allons vous montrer ici comment utiliser Tableau Prep pour produire des sorties multiples et distinctes avec des données récapitulatives. Dans notre scénario, nous produirons un fichier de sortie pour chacun des différents responsables régionaux, filtré en fonction des données pertinentes pour chacun d'entre eux. Nous proposerons également des solutions pour rationaliser et automatiser ce flux de travail, en utilisant Interface de ligne de commande de Tableau Prep et un simple script de ligne de commande.

En résumé, nous allons suivre les principales étapes suivantes :

  • Créez un flux Tableau Prep simple qui regroupe/résume les données de vente et les enregistre dans un seul fichier de sortie Excel
  • Filtrez les données du flux Prep vers un seul responsable régional à l'aide d'un paramètre
  • Exécutez le même flux plusieurs fois à l'aide de la ligne de commande, en modifiant à chaque fois le paramètre et en filtrant sur un gestionnaire régional différent, pour obtenir plusieurs sorties distinctes

Nous utiliserons tout au long de l'ensemble de données Superstore de Tableau, que vous trouverez dans le dossier « Sources de données » de votre emplacement « Mon référentiel Tableau ». Veuillez également noter que nous travaillerons avec des fichiers Excel pour des raisons de simplicité. Dans un environnement d'entreprise, vous travaillerez probablement avec des tables de base de données, mais cela ne pose aucun problème. Tableau Prep vous permet de lire/écrire des données depuis/vers diverses bases de données, ce qui vous permet d'adapter facilement l'exemple fourni. Si vous souhaitez en savoir plus sur l'utilisation de Tableau Prep pour écrire dans une base de données, consultez notre précédent billet de blog.

Écrire plusieurs fichiers Excel de sortie avec Tableau Prep

Commençons par ce simple flux :

Vous pouvez voir sur la gauche que nous avons créé une connexion au fichier Excel du jeu de données Superstore. Nous avons ensuite intégré au flux les tableaux « Personnes » (bleu) et « Commandes » (orange).

« Personnes » est un tableau simple composé de deux colonnes contenant le nom des responsables régionaux et la région à laquelle ils sont affectés :

Le tableau « Commandes » est plus complexe et contient les données de vente pour chaque commande passée auprès du Superstore (notez que toutes les colonnes ne sont pas affichées sur la capture d'écran) :

Passons maintenant en revue les différentes étapes du flux. Nous effectuons d'abord une jointure gauche entre les deux tables (étape « Rejoindre » en orange), en utilisant le champ commun « Région », qui nous permet d'attribuer les différentes commandes à chaque responsable régional :

L'étape « Agréger » en orange nous permet d'obtenir un résumé des données et de fournir aux gestionnaires un ensemble de données moins granulaire :

À l'étape « Gestionnaire de filtres » en orange, nous utilisons l'option « Conserver uniquement » pour sélectionner le gestionnaire pour lequel nous voulons produire le jeu de données récapitulatif. Dans notre exemple, nous allons commencer par Fred Suzuki :

Enfin, nous utilisons l'étape « Sortie » pour configurer l'écriture d'un fichier Excel, nommé « Fred Suzuki Summary Data », lorsque nous exécutons le flux. Les données seront écrites dans la feuille « Données récapitulatives du responsable » du fichier Excel :

Voici à quoi ressemble notre fichier de sortie :

À ce stade, on peut imaginer deux manières simples d'aller de l'avant et de produire les fichiers Excel pour les responsables régionaux restants :

  • Nous pourrions modifier le gestionnaire filtré et le nom du fichier de sortie dans les deux dernières étapes correspondantes du flux et réexécuter le flux trois fois de plus pour obtenir les fichiers récapitulatifs distincts pour chaque responsable régional.
  • Nous pourrions également ajouter trois étapes de filtrage supplémentaires avec des sorties dédiées au flux de préparation et produire les fichiers pour chaque gestionnaire en appuyant simplement sur le bouton « Exécuter le flux ».

Cependant, les deux options peuvent devenir fastidieuses et sujettes à des erreurs, en particulier pour un grand nombre de managers. De plus, aucune des deux options n'est suffisamment flexible en cas de changement d'un ou de plusieurs de vos responsables ou si vous en recrutez d'autres, auquel cas vous devrez ajuster et corriger manuellement votre flux. Voyons donc comment nous pouvons automatiser ce processus.

Automatisation avec les paramètres Tableau Prep

Une nouvelle fonctionnalité tant attendue a été introduite dans la version 2021.4 de Tableau Prep, publiée fin 2021 : les paramètres. À l'instar de Tableau Desktop, les paramètres de Prep sont des variables qui permettent aux utilisateurs de remplacer une valeur dans un calcul ou un filtre.

Créons un paramètre dans notre flux à l'aide du menu en haut de la page. Notre paramètre s'appellera « Manager », aura le type « String » et veillera à cocher « Demander la valeur au moment de l'exécution » (la valeur actuelle n'est pas si importante, car nous finirons par la modifier plusieurs fois) :

Nous utiliserons ce paramètre nouvellement créé à l'étape « Gestionnaire de filtres », où nous supprimerons le filtre spécifique que nous avons codé auparavant et le remplacerons par un filtre nécessitant que le champ « Directeur régional » soit égal au paramètre « Gestionnaire ». Notez que, tout comme dans Tableau Desktop, le calcul affiche les champs en orange et les paramètres en violet :

Enfin, nous modifierons le nom du fichier Excel de sortie à l'étape « Sortie », pour inclure également le paramètre nouvellement créé :

Si nous essayons d'exécuter le flux, nous verrons apparaître la fenêtre suivante, qui nous permet de définir la valeur du paramètre « Manager ». Nous allons utiliser Chuck Magee, pour le différencier de la valeur par défaut, puis exécuter le flux :

Le fichier de sortie indique que le paramètre a fait le travail. Nous obtenons le fichier « Chuck Magee Summary Data.xlsx », filtré vers le gestionnaire souhaité :

Nous allons maintenant fermer le flux Prep et essayer de l'exécuter en utilisant Interface de ligne de commande de Tableau Prep. Notre flux simple peut être exécuté en saisissant ce qui suit sur une invite de commande :

"C:\Program Files\Tableau\Tableau Prep Builder 2021.4\scripts\tableau-prep-cli.bat" -t ManagerFlow.tfl -p Manager.json

N'oubliez pas que vous devez modifier la première partie pour qu'elle pointe vers l'emplacement d'installation de Tableau Prep et que la partie qui suit -t doit correspondre au nom de votre flux. Le fichier json qui apparaît après -p nous permet de définir les valeurs des paramètres utilisés dans le flux via la ligne de commande. Nous allons donc créer le fichier « Manager.json » au format ci-dessous. Ce fichier indiquera à Tableau Prep de remplacer la valeur par défaut du paramètre « Manager » (défini directement dans le flux) par « Roxanne Rodriguez » :

{"Manager":"Roxanne Rodriguez"}

Nous pouvons maintenant taper la commande dans l'invite de commande :

Ce qui produit le résultat attendu :

Avec cette configuration, nous pouvons constater que pour produire les données récapitulatives pour un gestionnaire spécifique, nous devons d'abord modifier le fichier « Manager.json », puis exécuter le flux Prep. Nous pouvons donc écrire un script de ligne de commande qui inclut cette séquence de commandes. Notre script peut même placer cette séquence dans une boucle qui parcourt la liste des managers. De cette façon, la séquence sera exécutée une fois pour Roxanne, puis une fois de plus pour Fred, etc.

Créons donc la liste des gestionnaires pour lesquels nous voulons produire les données récapitulatives. Nous utiliserons un fichier texte, nommé « ManagerList.txt ». Dans ce cas, nous avons copié la liste directement à partir de la table Personnes, car nous allons produire des résultats pour les quatre gestionnaires :

Passons maintenant à notre script. Voici une version très simple de ce à quoi il pourrait ressembler :

Pour créer votre version du script, vous pouvez copier-coller les lignes ci-dessous et les enregistrer sous le nom « runall.cmd » dans votre répertoire de travail (nous supposons que le script, le flux Tableau Prep, le fichier ManagerList.txt, le fichier Manager.json et les fichiers Excel de sortie sont tous enregistrés/écrits dans le même répertoire de travail de votre choix et que vous exécutez le script à partir de ce répertoire de travail) :

FOR /F "tokens=*" %%A IN (ManagerList.txt) DO (
ECHO {"Manager":"%%A"} > Manager.json && "C:\Program Files\Tableau\Tableau Prep Builder 2021.4\scripts\tableau-prep-cli.bat" -t ManagerFlow.tfl -p Manager.json
)

Voici un aperçu de ce que fait le script :

FOR /F "tokens=*" %%A IN (ManagerList.txt) DO ( … )

Il s'agit de la partie en boucle du script. Il lit le fichier ManagerList.txt et effectue une boucle sur chacune des lignes du fichier, %%A représentant la valeur de chaque ligne. Le script exécutera ensuite tout ce qui se trouve entre parenthèses autant de fois qu'il y a de lignes dans le fichier ManagerList.txt (quatre dans notre cas). D'abord, utiliser %%A équivaut à Sadie Pawthorne (première responsable de la liste), puis utiliser %%A comme Chuck Magee (deuxième dans la liste), etc.

ECHO {"Manager":"%%A"} > Manager.json

Cette partie écrit la valeur de %%A, c'est-à-dire le nom du gestionnaire, dans le fichier json, avec le format requis pour le réglage correct du paramètre dans le flux. Le code se trouve entre parenthèses de la boucle FOR, il sera donc exécuté quatre fois. La première fois qu'il écrira

{"Manager":"Sadie Pawthorne"} 

dans Manager.json, la deuxième fois, il écrira

{"Manager":"Chuck Magee "} 

dans le fichier json, et ainsi de suite.

&& "C:\Program Files\Tableau\Tableau Prep Builder 2021.4\scripts\tableau-prep-cli.bat" -t ManagerFlow.tfl -p Manager.json

Il s'agit de la commande que nous avons exécutée ci-dessus directement dans l'invite de commande. Il exécute simplement notre flux de préparation ManagerFlow.tfl à l'aide du fichier json que nous venons d'écrire. Les symboles « && » indiquent que cette commande ne sera exécutée que si la commande précédente s'exécute correctement. Le flux ne sera donc pas exécuté si le nom du gestionnaire n'a pas encore été écrit dans le fichier Manager.json, sinon le paramètre Manager ne sera pas défini correctement.

Pour exécuter le script, vous pouvez simplement taper runall.cmd dans l'invite de commande :

runall.cmd

Une fois le script exécuté, vous devriez avoir quatre fichiers Excel différents dans votre répertoire de travail, chacun contenant des données provenant d'un responsable régional différent :

Cette solution constitue une approche du flux de travail plus efficace et moins sujette aux erreurs :

  • Vous n'avez besoin de configurer qu'une seule étape de sortie dans votre flux de préparation
  • Vous produisez plusieurs fichiers de sortie en une seule fois en exécutant un seul script
  • Les noms des gestionnaires ne sont pas codés en dur dans le flux Prep, vous n'avez donc jamais besoin de l'ouvrir ou de le modifier. Lorsque les responsables demandent des données, il vous suffit d'ajouter leurs noms à la liste du fichier texte et d'exécuter un script. Vous pouvez même ajouter les noms de responsables qui n'existaient pas au moment où vous avez développé le flux Prep.

By clicking “Accept All Cookies”, you agree to the storing of cookies on your device to enhance site navigation, analyze site usage, and assist in our marketing efforts. View our Privacy Policy for more information.