Community Spring Cleaning week is here! Join your fellow Maveryx in digging through your old posts and marking comments on them as solved. Learn more here!
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 (Vous êtes ici)

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

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

 

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

 

Après avoir détaillé les options à disposition et les menus qui impactent cette largeur, voici 10 exemples cohérents ou non pour bien visualiser les effets des options.

 

StephaneP_0-1648215268106.jpeg

 

Notez bien les cas particuliers qu’il est bon de connaître pour valider comment peut évoluer votre tableau dans le temps.

StephaneP_1-1648215268111.png

 

Attention ces exemples détaillent le fonctionnement pour une extraction vers PDF. Le comportement vers d’autres connecteurs peut être sensiblement différent. Notamment celui de Excel n’est pas aussi nuancé. Un chapitre dédié lui est consacré en fin de post.

 

Ces exemples sont présents dans le workflow joint en fin d’article.

 

Données de base :

 

StephaneP_2-1648215268117.png

 

A noter que la colonne D ne comporte aucun espace dans l’entête ou les données, contrairement à la colonne E qui en comporte 1. Nous verrons l’effet distinct que cela implique parfois.

 

1 - Table :             Automatique

Colonnes :           Automatique

Rendu :               Tout l’espace nécessaire pour le tableau

Voici le résultat :

 

 

Formule 1.png

 

La taille de chaque colonne s’adapte au contenu. L’outil ne prend que ce qu’il a besoin en fonction du contenu des colonnes.

 

Note : Par colonne, il prend la plus grande taille nécessaire pour ne rien avoir à tronquer entre l’entête et les données. Pour mettre sous contrôle ou ajuster les tailles de colonne pensez donc à gérer les tailles des données et entêtes.

 

2 - Table :             Pourcentage 100%

Colonnes :           Automatique

Rendu :                Tout l’espace nécessaire pour le tableau

 

Voici le résultat :

table 2.png

 

L’outil prend 100% de la largeur à disposition et réparti la taille des colonnes au prorata de leur taille respective.

 

Note : Pour gérer la taille des tableaux à 100%, il faut donc se reporter à l’outil Rendu qui définira plus tard la taille de la sortie. Entre un A4 et un B3 on n’a pas la même taille du coup.

 

3 - Table :              Fixe 9cm

Colonnes :            Automatique

Rendu :                 Tout l’espace nécessaire pour le tableau

 

table3.png

 

L’outil prend 9 cm de largeur et réparti la taille des colonnes au prorata de leur taille respective. Ici, tout va bien car tout rentre dans les 9 cm.

 

4 - Table :              Fixe 3cm

Colonnes :            Automatique

Rendu :                Tout l’espace nécessaire pour le tableau

table4.png

 

L’outil prend 3 cm de largeur et réparti la taille des colonnes au prorata de leur taille respective.

 

Cas particulier 1 : Malheureusement, le contenu des colonnes ne rentre pas dans ces 3 cm. Il ne change pas les polices pour que cela rentre, il tronque donc. Attention dans ces cas-là, l’outil essaye de faire des retours à la ligne dès qu’il trouve un espace afin de rester dans la largeur attendue. Ceci explique qu’en colonne E on se retrouve avec 2 lignes à la fois sur les données et sur l’entête.

 

Cas particulier 2 : Lorsqu’une valeur ne rentre pas dans la largeur d’une colonne, il indique un ### si c’est un nombre (colonne B) ou, il la tronque si c’est une chaine de caractère (colonne D). Comme on en sur du pdf et qu’on ne peut ajuster la taille en direct. La donnée est illisible. Ce n’est pas le cas pour la sortie Excel.

 

5 - Table :              Automatique

Colonnes :            1cm chacune

Rendu :                 Tout l’espace nécessaire pour le tableau

table5.png

 

 

Les colonnes dont le contenu fait moins de 1 cm sont augmentées à 1 cm.

 

Cas particulier : Celles dont le contenu fait plus de 1 cm prennent la taille de leur contenu. Attention dans ces cas là, l’outil essaye de faire des retours à la ligne dès qu’il trouve un espace afin de rester dans les 1 cm. Ainsi la colonne D fait donc plus de 1 cm, alors que la colonne E, bénéficiant des retours à la ligne reste à 1 cm. Cette notion de retour à la ligne concerne l’entête et les données.

 

6 - Table :              Automatique

Colonnes :            3cm chacune

Rendu :                Tout l’espace nécessaire pour le tableau

 

Voici le résultat :

StephaneP_4-1648215268163.png

 

Même exemple que précédemment, mais ici tous les contenus sont de taille inférieure à la taille demandée. Leur largeur a donc été augmentée jusqu’à 3 cm même si le contenu est plus court.

 

7 - Table :              Pourcentage 100%

Colonnes :            10% pour A et C, 20% pour B,D et E (=80% en tout)

Rendu :                 Tout l’espace nécessaire pour le tableau

 

table7.png


La table est à 100%. Cela veut dire que par rapport à la taille de la sortie finale la table prendra 100% de la largeur. Cela dépend donc de ce qui est paramétré dans l’outil Rendu. Mais 100% signifie qu’il prendra toute la largeur de la feuille moins les marges.

 

Au sein de ces 100% de la table, le tableau fera la somme des % des colonnes à savoir 10%x2 (A et C) + 20%x3 (B, D et E) = 80%.

 

Ce qui explique la partie blanche à droite du tableau (qui vaut 20%) pour atteindre les 100% de la table.

 

On a bien aussi les colonnes A et C qui sont 2 fois plus petites que les autres colonnes (20% est 2 fois plus grand que 10%).

 

8 - Table :              Pourcentage 100%

Colonnes :            5% pour toutes les colonnes (= 25% en tout)

Rendu :                Tout l’espace nécessaire pour le tableau

 

StephaneP_1-1648223544258.png

 

La table fait ici aussi 100%, on voit qu’elle prend toute la largeur de la feuille.

 

Le tableau à l’intérieur est la somme des colonnes. Il prend donc 25% (=5%x5 colonnes) de la taille potentielle complète disponible sur le rendu final.

 

Cas particulier : les colonnes D et E n’ont pas assez de place pour afficher leur contenu dans 10%. Elles ne sont pas tronquées, comme il reste de la place disponible leur taille va faire au final plus de 5%. Comme toujours, il essaye de faire des retours à la ligne s'il y a des espaces (colonne E), mais si il ne peut pas (colonne D) il augmente la taille au-delà des 5% prévus.

 

Note : À anticiper si on veut avoir une largeur fixe, car cette technique ne peut pas le garantir.

 

9 - Table :              Pourcentage 50%

Colonnes :            15% pour toutes les colonnes (= 75% en tout)

Rendu :                 Tout l’espace nécessaire pour le tableau

 

Table9.png

 

La table fait ici 50% seulement de la largeur de la page, On voit justement que la bordure noire s’arrête à la moitié de la largeur complète de la page.

 

Le tableau à l’intérieur fait lui 5x15%= 75% de la table. C’est bien de la table et non pas de la page. Ce sont donc 75% de 50% en largeur.

 

Cas particulier : les colonnes B, D et E n’ont pas assez de place pour afficher leur contenu dans 15%. Elles ne sont pas tronquées, comme il reste de la place disponible leur taille va faire au final plus de 5%. Comme toujours, il essaye de faire des retours à la ligne s'il y a des espaces (colonne E), mais s'il ne peut pas (colonne D) il augmente la taille au delà des 5% prévus. La somme de toutes ces colonnes occupe donc plus que 75%.

 

Note : À anticiper si on veut avoir une largeur fixe, car cette technique ne peut pas le garantir.

 

10 - Table :              Automatique

Colonnes :              Automatique

Rendu :                   80x70mm

 

Table10.png

 

Cas particulier : 80 mm est une largeur trop faible par rapport à la taille du tableau et des marges. Ceci est un exemple qui s’applique à tous les cas où le rendu demandé via l’outil table est d’une taille supérieure à la taille de la page finale.

Il essaye donc de réduire au maximum et cette il va devoir tronquer. Comme c’est du PDF, on ne verra pas les valeurs.

 

 

C’est donc le cas lorsque le Rendu est de taille trop petite, ou la somme de la taille des colonnes supérieures à la taille de la table (cf exemple 4), ou tout autre incohérence.

 

Cas particulier de l’extraction vers Excel.

StephaneP_0-1648223991880.png

 

Je vais vous faire gagner du temps ici car nombreux sont ceux qui essayent par tous les moyens de mettre sous contrôle les colonnes dans une sortie Excel. C’est peine perdue. Peu d’options sont à disposition. L’extraction vers Excel 2007 est nettement moins fine.

 

Au niveau Table : Automatique, Pourcentage et Résolu n’ont aucun impacte.

 

Au niveau Colonne : idem.

 

Les seuls paramètres qui ont un impact sont la taille de la police et la taille du format de sortie.

 

Oubliez l’autosize ou la largeur fixe !

 

StephaneP_5-1648223544569.png

 

Après, pas de panique il suffit d’ouvrir le classeur et en 2 clics l’autosize est refait. En revanche, si vous souhaitez des tailles standards pour tous vos tableaux ce ne sera pas possible simplement.

 

Paradoxalement, alors qu’il n’a pas de souci de nombre de colonne à disposition, c’est en réduisant le format théorique de sortie vers Excel (de Letter à plus petit en personnalisant) qu’on peut impacter la largeur des colonnes. Il va ainsi essayer de réduire la largeur des colonnes pour rentrer dans cette plus petite zone.

 

Exemple :

Si il n'a pas de contrainte de taille en sortie, il prend sa taille standard en fonction du type de donnée et des données de chaque colonne.

 

StephaneP_1-1648224057252.png

 

Si on le stress en le réduisant la taille de la sortie (outil Rendu), il va réduire la taille des colonnes mais on n’a pas la main dessus. La règle est qu'il essaye de faire de l'autosize sur toutes les colonnes.

 

StephaneP_2-1648224057257.png

 

On voit sur cet exemple qu’on a pas la main sur la largeur, c’est forcément via cette technique de l’autosize. Et ce n’est pas dynamique car si les données changent cela va changer.

 

Si on réduit encore la taille de la sortie, il va commencer à tronquer (visuellement). Il suffira de double cliquer pour réouvrir.

 

StephaneP_3-1648224057261.png

 

D’où ces itérations pour obtenir l’étape précédente.

 

À noter ce post qui met à disposition via une macro une technique pour automatiser cet autosize : How to Autosize columns in excel.

 

J’espère pour vous que c’est plus clair. 😊

 

Au prochain post on attaque la génération d’entête multi lignes… Miam Miam.

 

Enjoy !

Stéphane Portier
Sales Engineer

Étiquettes