Free Trial

Blog

Les analyses et les idées des plus grands esprits de l'analyse.
TIPS de la semaine

Chaque semaine, découvrez de nouvelles astuces et bonnes pratiques pour devenir un expert !

Voir l'index
StephaneP
Alteryx
Alteryx

Le reporting avancé ou le paradoxe de Spock : 1-Le Starter kit du reporting avancé 

Reporting avancé ou le paradoxe de Spock : 2. Comprendre la logique de formatage

Reporting avancé ou le paradoxe de Spock : 3 - Découverte de la syntaxe CSS pour les bordures

Reporting avancé ou le paradoxe de Spock : 4 - 1er Exemple avancé d’utilisation du CSS

Reporting avancé ou le paradoxe de Spock : 5 - 2ème Exemple avancé d’utilisation du CSS

Reporting avancé ou le paradoxe de Spock : 6. Gestion de la taille des colonnes

Reporting avancé ou le paradoxe de Spock : 7. Exemples de gestion de taille des colonnes

Reporting avancé ou le paradoxe de Spock : 8. Entête multilignes sorti dans 1 tableau XLS

Reporting avancé ou le paradoxe de Spock : 9. Entête multi lignes sorti dans 1 onglet XLS

Reporting avancé ou le paradoxe de Spock : 10. Entête multi lignes via l’outil Table (Vous êtes ici)

Reporting avancé ou le paradoxe de Spock : 11. Entête multi lignes via l’outil Table 2

 

Suite de nos formatages multi entête avancé, avec cette fois-ci le Graal du reporting, le mythe enfin atteint, le formatage multi entête via l’outil Table. Si si, on peut ! Et suite à cet article, vous serez parmi les 5% des utilisateurs Alteryx qui savent le faire. La classe. 😊

 

StephaneP_0-1655889199001.jpeg

 

Rien ne l’arrête ce Spock.

Pour rappel cet article explique l’une des 4 méthodes pour réaliser un formatage avancé de ce type avec une entête multilignes.

StephaneP_1-1655889199051.png

 

Les 4 méthodes pour y arriver et pourquoi en choisir une plutôt que l’autre :

1 - SORTIE TABLEAU EXCEL 1 : Insertion des données dans un tableau Excel pré formaté contenant déjà les entêtes (non ce n’est pas de la triche monsieur !! C’est un quick win.)

2 - SORTIE ONGLET EXCEL 2 : Insertion des données dans un onglet Excel qu'un onglet de Reporting vient exploiter via des formules (toujours pas de la triche, un quick win plus maintenable)

3 - SORTIE TABLE : Intégration des entêtes dans la table de donnée puis formatage via l’outil Table.

4 - SORTIE REPORTING : Formatage et génération des entêtes via les outils de Reporting

 

Pour vous aider voici un arbre de décision : 

 

Critère 1

Méthode

Critère 2

Méthode

·  C’est du 1 shot

·  Je veux un résultat rapide

·  Pas de dynamisme

·  Peu d’évolution

EXCEL

·  Mes reportings sont le résultat de traitements distincts

1 jeu de donnée => 1 reporting

SORTIE TABLEAU EXCEL

 

 

·  Mes reportings sont des déclinaisons d’un même jeu de données

1 jeu de donnée => Plusieurs reportings

·  Le format de mes reportings finaux évolue souvent mais pas ma préparation de donnée

SORTIE ONGLET EXCEL

·  La gouvernance est prioritaire

·  Je dois décliner un même reporting pour plusieurs paramètres (département, mois…)

·  Je veux du dynamisme sur les lignes aussi

·  Je ne veux pas uniquement une sortie Excel mais aussi pdf, mail…

·  Je veux aussi du géospatial/ cartes

PALETTE DE REPORTING

·  Je veux visualiser la construction de mes entêtes via des objets Alteryx

·  J’accepte de ne pas avoir la main sur tous les formatages que je souhaite

SORTIE TABLE

 

 

·  Je veux concentrer la maintenance sur le minimum d’outil

·  Je veux être très précis sur le formatage final

SORTIE REPORTING

 

3 - SORTIE TABLE : Intégration des entêtes dans la table de donnée puis formatage via l’outil Table.

 

Principe :

 

L’outil Table n’accepte qu’une seule ligne en entête alors qu’on en souhaite plusieurs. Et bien, n’utilisons pas du tout la partie entête de l’outil et descendons tout dans la table de donnée. On formatera alors ces lignes d’entête conditionnellement.

 

Mais c’est diabolique de détourner ainsi la solution !!

 

StephaneP_2-1655889199484.png

 

C’est vrai oui 😊 mais c’est tellement efficace…

 

Le tables de données Alteryx n’acceptant pas non plus le multi entête, il faut aussi ajouter une étape spécifique de construction de cet entête avant de la pousser dans l’outil Table.

StephaneP_3-1655889199868.png

 

On peut alors alimenter cette table de donnée dans l’outil Table en demandant à ne pas exploiter l’entête :

 

StephaneP_4-1655889200278.png

 

Il ne reste plus qu’à formater. Les entêtes étant un « gros » cas particulier 😊 :

 

StephaneP_5-1655889200328.jpeg

 

StephaneP_6-1655889200785.png

 

Préparation de l’entête

 

Afin de faciliter les règles conditionnelles, je préconise de placer des « - » (tiret du 6) dans les cellules où aucun texte ne doit apparaître dans les entêtes. Ou tout autre caractère qui permettra aux règles conditionnelles de faire la différence entre du « vide d’entête » et du « vide de donnée » qui, généralement, n’est pas coloré/bordé/encré de la même manière. On fera disparaître visuellement ce caractère en le mettant de la même couleur que le fond.

 

Exemple :

 

StephaneP_7-1655889200927.png

 

 

Cela permet aussi de rendre plus dynamique vos entêtes en fonction du contenu des entêtes (texte ou « -»).

 

Note 1 : La limite de cette technique est qu’on ne peut pas fusionner des cellules. 1 libellé est dans une colonne ou une autre mais ne peut pas être à cheval sur 2. Ici, par exemple, les entêtes November, 3Y et 2020 ne sont pas réellement fusionnées. Il y a 3 cellules et seule la cellule centrale porte du texte. Si on avait que 2 colonnes, il faudrait choisir l’une ou l’autre pour porter le libellé.

 

Si la fusion d’entête est importante pour vous, voir plutôt l’autre option 4 via la combinaison d’outils de Reporting. Mais elle est plus complexe.

 

Note 2 : Avec cette technique on peut aussi rendre le contenu des entêtes dynamiques. Exemple, passer de November à October, de AUM en € à AUM en $. En effet :

- Comme l’entête n’est pas codée dans l’outil table mais générée par le workflow, on peut la rendre dynamique,

- Une des limites de l’outil table est justement que si on définit un formatage sur une colonne puis qu’on en change le nom, celui-ci disparait. C’est souvent très pénible pour la maintenance. Ici, pas de souci car ce sont les données qui changent. Le nom technique des colonnes n’apparait pas.

- Même si on ne veut pas rendre les noms dynamiques, mais juste les modifier, là aussi c’est simplifié car il suffit de le faire dans la table des entêtes (avant l’outil table) et ainsi le formatage s’adapte.

 

Tout est bien dynamique et maintenable.

 

Note 3 : avec cette technique, toutes les colonnes sont de type chaîne de caractère. En effet, comme on rajoute des lignes textuelles au-dessus des données, toute la colonne devient de type chaîne. Ce n’est pas forcément bloquant mais il faut l’anticiper pour le formatage des nombres.

StephaneP_8-1655889200990.png

 

A privilégier lorsque

Moins à l’aise pour

·       on veut générer des cartes ou du géospatial

·       on veut générer des reportings de masse avec des dizaines voir des centaines de sorties distinctes

·       rendre le reporting dynamique sans intervention manuelle (nouveau pays, mois, départements...)

·       on a le temps de le préparer

·       on souhaite générer des mails automatiques

·       la gouvernance est un critère important (toute la chaîne est tracable et auditable au sein d'Alteryx, minimisant les interventions manuelles)

·       du formatage précis ou complexe (Excel like)

·       des graphiques pointus (Excel like)

·       un résultat rapide

·       des débutants dans la palette de Reporting

 

Méthodologie :

 

Cette technique ne se fait pas « à la volée » ou de manière improvisée. Il faut être clair dès le début sur le formatage final que l’on souhaite obtenir. Comme entête et données doivent être mixées et qu’on devra ajouter des formatages conditionnels dédiés pour les entêtes il est important de savoir dès le début ce que l’on souhaite obtenir sous peine de faire de multiple aller-retour sur votre travail.

 

Constitution de l’entête. Comme précisé dans le chapitre principe, il faut constituer votre entête comme une table de données. Cela peut être un simple outil Saisi de texte comme dans l’exemple à venir, mais cela peut aussi être généré dynamiquement via un workflow pour faire évoluer le contenu des libellés des entêtes.

 

Dans notre exemple nous avons saisi :

 

StephaneP_9-1655889201014.png

 

Pour rappel les « - » représentent des cellules visuellement vides de l’entête. Vous pouvez utiliser un autre caractère si vous le souhaiter.

Il faut ensuite concaténer cet entête avec les données pour obtenir une unique table de données que l’on va injecter dans l’outil Table.

 

StephaneP_10-1655889201097.png

 

Note : conservez bien une étape dédiée avec uniquement votre entête. Nous verrons que lorsqu’on veut diffuser en masse un reporting (articles à suivre) il faut recombiner cet entête avec toutes les données par section. Ayez donc le réflexe d’avoir toujours cette table de référence à part.

Par défaut, on obtient donc la table brute suivante :

 

StephaneP_11-1655889201170.png

 

Réflexion sur comment constituer le formatage pour se simplifier la vie

StephaneP_12-1655889201218.png

 

Mes 3 lignes d’entête du début vont être au croisement des règles de table, colonnes et lignes. Il convient donc pour se simplifier le paramétrage de limiter les cas particuliers.

 

C’est pour cela qu’on va partir sur :

 

1 - Formatage de table :  fond blanc alterné avec du fond bleu clair.

Pourquoi : car on a plus de lignes de données que de lignes d’entête. On va donc mettre du fond blanc alterné avec du fond bleu clair et on n’aura que 3 lignes de cas particulier à traiter : les entêtes.

 

2 - Formatage standard de colonne : Taille des colonnes, justification et bordures verticales sur certaines colonnes

Pourquoi : car les seules parties qui n’ont pas besoin de bordures verticales sont les parties hautes de l’entête. Donc moins de cas particulier.

 

3 - Formatage conditionnel de 1ère ligne d’entête (Anualized) : fond blanc et encre blanche.

StephaneP_13-1655889201265.png

 

Pourquoi : le blanc sur blanc fait que visuellement les cellules paraitront vides. Cela s’appliquera à toutes les cellules de la ligne. Et je n’aurai qu’un cas particulier à traiter, la valeur « Anualized » que je devrais repasser en encre noire pour la faire apparaître.

 

4 - Formatage conditionnel de la 2ème entête (November, 3Y…) : fond gris avec encre grise

StephaneP_14-1655889201307.png

 

Pourquoi : là aussi car on a plus de cellule grises sans texte. Nos cas particuliers seront le début de la ligne où on devra passer en fond blanc/encre blanche et les libellés November, 3Y… que l’on devra repasser en encre noire.

A noter que j’aurai des cas particuliers pour gérer les bordures car d’une colonne à l’autre ce ne sont pas les mêmes bordures (d’où usage du CSS).

 

6 - Formatage conditionnel de la 3ème entête (libellés des colonnes) : encre blanche sur fond bleu.

Pourquoi : facile, toutes les cellules on le même formatage. 

 

7 - Formatage conditionnel des lignes de totaux et sous totaux : pas de cas particulier identifié.

Juste bien penser en terme de maintenabilité qu’il est plus pertinent de se baser sur le libellé de la ligne pour le color coding, que sur sa position. Ainsi, si demain on a plus de lignes de détail, la mise en forme s’adaptera.

StephaneP_15-1655889201511.png

 

8 - Formatage conditionnel des colonnes : gestion de tous les cas particuliers restant :

 - Couleur d’encre/ de fond des entêtes

 - Bordures à supprimer/rajouter sur les entêtes

 

J’avoue cela fait beaucoup d’informations au 1er abord. Maîtriser cette approche demande de la pratique et une bonne compréhension des ordres de priorité mais après, vous verrez cela se fait tout seul. Cela se mérite d’être un grand maitre du reporting.

 

StephaneP_16-1655889201633.jpeg

 

Au début, lancez-vous et expérimentez. D’un reporting à l’autre, vous irez de plus en plus vite. C’est la bonne nouvelle. 😊

Dans le prochain article un pas à pas de ces étapes.

Stéphane Portier
Sales Engineer

Étiquettes