Organisation de colonnes sur une page

Dans cette section :

Référence :

La facilité avec laquelle un utilisateur localise des données dépend de l'organisation des colonnes sur une page. Vous avez à votre disposition de nombreuses options de conception. En utilisant des attributs de feuille de style ou des commandes vous pouvez :


Haut de page

x
Référence : Fonctionnalités de l'organisation des colonnes

Fonctionnalité

Description

S'applique à

SQUEEZE

Détermine la largeur des colonnes.

HTML (exige FONT=DEFAULT-FIXED)

PDF

PS

SET SPACES

Détermine le nombre d'espaces entre les colonnes.

HTML (exige SET STYLEMODE=FIXED)

SEQUENCE

Détermine l'ordre des colonnes.

PDF

PS

HTML

EXL2K (Remarque : ne fonctionne pas avec EXL2K FORMULA)

FOLD-LINE

Réduit la largeur du rapport en empilant les colonnes.

PDF

PS

OVER

Empile les colonnes en les plaçant les unes sur les autres.

HTML

PDF

PS

IN {n|+n}

Détermine la position de début absolue ou relative d'une colonne.

HTML (exige SET STYLEMODE=FIXED)

PDF

PS



x
Détermination de la largeur des colonnes

Comment :

La valeur de l'attribut SQUEEZE dans une feuille de style détermine la largeur des colonnes dans un rapport. Vous pouvez utiliser un paramètre SET au lieu d'une feuille de style afin de régler la valeur de SQUEEZE. S'il y a des valeurs de feuille de style et SET contradictoires, la feuille de style annule le paramètre SET. Pour plus de détails à propos des fonctions de SET, reportez-vous au manuel Développement d'applications de reporting .

Lorsque SQUEEZE=ON (la valeur par défaut), la largeur des colonnes de feuille de style est ignorée. La largeur des colonnes est déterminée en utilisant les réglages par défaut de votre navigateur.

L'utilisation du paramètre SQUEEZE peut avoir une incidence sur l'affichage des en-têtes, pieds de page et titres de colonne dans votre rapport. Pour plus d'informations, consultez Utilisation d'en-têtes, pieds de page, titres et étiquettes.



x
Syntaxe : Déterminer la largeur des colonnes (HTML)

Cette syntaxe s'applique aux rapports HTML. Pour la syntaxe des rapports PDF et PS, consultez Déterminer la largeur des colonnes (PDF ou PS).

[TYPE=REPORT,] SQUEEZE={ON|OFF}, $

où :

TYPE=REPORT

Applique la largeur des colonnes au rapport entier. Comme ceci est la valeur par défaut, il n'est pas requis.

ON

Détermine la largeur des colonnes en fonction de la valeur de données ou du titre de colonne la/le plus large. ON est la valeur par défaut.

Pour les rapports HTML, le navigateur Web rétrécit la largeur de colonnes à celle du titre de colonne ou de la valeur de champ le / la plus court(e).

OFF

Détermine la largeur des colonnes en fonction du format de champ dans le fichier Master. Des espaces blancs capitonnent la largeur des colonnes jusqu'à la longeur du titre de colonne ou le format de fichier.

Remarque : SQUEEZE n'est pas pris en charge pour les colonnes créées avec l'expression OVER.



Exemple : Utilisation de la largeur des colonnes par défaut (HTML)

Cette requête utilise SQUEEZE=ON (la valeur par défaut) pour un rapport HTML. La largeur des colonnes se fait en fonction de ce qui est plus large, la valeur de données ou le titre de colonne.

SET PAGE-NUM = OFF
TABLE FILE GGSALES
SUM UNITS DOLLARS
BY CATEGORY BY PRODUCT
ON TABLE SET STYLE *
TYPE=REPORT, GRID=OFF, FONT=COURIER, $
ENDSTYLE
END

Pour Category, Unit Sales et Dollar Sales, le titre de colonne est plus large que les valeurs de données correspondantes. Pour Product, les valeurs de données sont plus larges et déterminent donc la largeur des colonnes. Voici le rapport HTML :



Exemple : Utilisation de la largeur des colonnes en fonction du format de champ dans un fichier Master (HTML)

Cette requête utilise SQUEEZE=OFF pour un rapport HTML. La largeur des colonnes se fait en fonction du format de champ dans le fichier Master.

SET PAGE-NUM = OFF
TABLE FILE GGSALES
SUM UNITS DOLLARS
BY CATEGORY BY PRODUCT
ON TABLE SET STYLE *
TYPE=REPORT, GRID=OFF, SQUEEZE=OFF, FONT=COURIER, $
ENDSTYLE
END

Des espaces blancs capitonnent la largeur des colonnes jusqu'à la longeur du format de fichier pour Category (A11) et Product (A16). Voici le rapport HTML :



x
Syntaxe : Déterminer la largeur des colonnes (PDF ou PS)

Cette syntaxe s'applique aux rapports PDF et PostScript. Pour la syntaxe qui s'applique aux rapports HTML, consultez Déterminer la largeur des colonnes (HTML).

[TYPE=REPORT,] COLUMN=identifier, SQUEEZE={ON|OFF|width}, $

où :

TYPE=REPORT

Applique la largeur des colonnes au rapport entier. Comme ceci est la valeur par défaut, il n'est pas requis.

identificateur

sélectionne une colonne à l'aide de l'attribut COLUMN, comme le décrit Désignation de composants de rapport dans la syntaxe de feuille de style WebFOCUS. Si vous omettez un identificateur de colonne, la valeur pour SQUEEZE s'applique à toutes les colonnes du rapport. Vous pouvez aussi utiliser la valeur SET SQUEEZE pour régler la largeur des colonnes.

ON

Détermine la largeur des colonnes en fonction de la valeur de données ou du titre de colonne la/le plus large. ON est la valeur par défaut.

OFF

Détermine la largeur des colonnes en fonction du format de champ dans le fichier Master. Des espaces blancs capitonnent la largeur des colonnes jusqu'à la longeur du titre de colonne ou le format de fichier.

largeur

Est une dimension pour la largeur des colonnes, spécifiée avec l'attribut UNITS.

Si la valeur de données la plus large dépasse la dimension spécifiée :

et que le champ est...

ce qui suit s'affiche...

Alphanumérique

Autant de la valeur qui va dans la largeur spécifiée, suivie d'un point d'exclamation (!) afin d'indiquer une troncation.

Numérique

Des astérisques (*) à la place de la valeur de champ.

Remarque : SQUEEZE n'est pas pris en charge pour les colonnes créées avec l'expression OVER.



Exemple : Exemple :

Cette requête utilise SQUEEZE=2.5 pour augmenter la colonne par défaut du champ PRODUCT dans un rapport PDF. Notez que cette fonctionnalité est utilisée essentiellement pour les rapports imprimés. Selon votre résolution d'écran, la largeur des colonnes peut apparaître différement que la façon dont elle sera imprimée.

SET ONLINE-FMT = PDF 
TABLE FILE GGSALES
SUM UNITS
BY PRODUCT
ON TABLE SET PAGE-NUM OFF
ON TABLE SET STYLE * 
TYPE=REPORT, COLUMN=PRODUCT, SQUEEZE=2.5, $ 
ENDSTYLE
END

Voici le rapport PDF :


Haut de page

x
Contrôle de l'espacement des colonnes

Comment :

Par défaut, les colonnes de rapport se sont séparées par un ou deux espaces, selon la largeur de la sortie. Les paramètres SET SPACES et ON TABLE SET SPACES contrôlent le nombre d'espaces entres les colonnes dans un rapport.

Dans la phrase de tri horizontale (ACROSS), le paramètre SPACES détermine la distance entre les jeux de tri horizontaux. A l'intérieur d'un jeu, la distance entre les colonnes est toujours d'un espace et n'est pas modifiable.

Cette fonctionnalité s'applique aux rapports HTML. Cela exige que vous mettiez le paramètre STYLEMODE à FIXED.



x
Syntaxe : Contrôler l'espacement des colonnes

Cette syntaxe s'applique aux rapports HTML.

Pour toutes les requêtes de rapport dans une procédure

SET SPACES = {n|AUTO}

Pour une requête de rapport

ON TABLE SET SPACES {n|AUTO}

où :

n

Est un nombre entier entre 1 et 8, indiquant le nombre d'espaces entre les colonnes de rapport.

AUTO

Sépare automatiquement les colonnes de rapport par un ou deux espaces. AUTO est la valeur par défaut.



Exemple : Contrôle de l'espacement de colonnes entre les critères de tri horizontal (ACROSS

Cette requête utilise ACROSS avec ON TABLE SET SPACES. Le paramètre ON TABLE SET STYLEMODE FIXED est requis pour HTML.

TABLE FILE CENTORD
SUM QUANTITY LINEPRICE ACROSS ORDER_NUM BY PLANT AS 'Plant'
WHERE ORDER_NUM EQ '28003' OR '28004' 
ON TABLE SET SPACES 7 
ON TABLE SET PAGE-NUM OFF 
ON TABLE SET STYLEMODE FIXED 
END

Le jeu ACROSS consiste des champs intitulés Quantity et Line Total. La distance entre chaque jeu est de sept espaces :


Haut de page

x
Changement de l'ordre des colonnes

Comment :

Vous pouvez changer l'ordre de l'affichage des colonnes de tri verticales (BY) dans un rapport. Cette fonctionnalité ne s'applique pas aux lignes de tri horizontales (ACROSS) ou aux colonnes empilées.



x
Syntaxe : Changer l'ordre des colonnes

Cette syntaxe s'applique aux rapports PDF, PS, HTML et EXL2K

[TYPE=REPORT,] COLUMN=identifier, SEQUENCE=sequence, $

où :

TYPE=REPORT

Applique l'ordre des colonnes au rapport entier. Comme ceci est la valeur par défaut, il n'est pas requis.

identificateur

sélectionne une colonne à l'aide de l'attribut COLUMN, comme le décrit Désignation de composants de rapport dans la syntaxe de feuille de style WebFOCUS.

séquence

Est un chiffre représentant l'ordre de la colonne sélectionnée.

Les chiffres ne doivent pas être dans l'ordre séquentiel ou en incréments d'un. L'ordre des colonnes va du plus bas vers le plus haut. Les colonnes NOPRINT ne sont pas comprises.



Exemple : Changement de l'ordre des colonnes

Cette requête réorganise l'ordre dans lequel les colonnes s'affichent normalement dans un rapport, c'-est-à-dire, où SNAME s'affiche premièrement, PRODCAT deuxièmement et LINEPRICE troisièmement.

SET ONLINE-FMT = PDF
TABLE FILE CENTORD
SUM LINEPRICE AS 'Sales'
BY SNAME BY PRODCAT AS 'Product'
WHERE SNAME EQ 'eMart' OR 'City Video'
ON TABLE SET PAGE-NUM OFF
ON TABLE SET STYLE * 
TYPE=REPORT, COLUMN=SNAME, SEQUENCE=3, $
TYPE=REPORT, COLUMN=PRODCAT, SEQUENCE=2, $
TYPE=REPORT, COLUMN=LINEPRICE, SEQUENCE=1, $ 
ENDSTYLE
END

LINEPRICE (Sales) s'affiche maintenant comme la première colonne, PRODCAT (Product) comme la deuxième (comme il l'était en tant que valeur par défaut) et SNAME (Store Name) comme la troisième colonne. Voici le rapport PDF :


Haut de page

x
Empilement de colonnes

Dans cette section :

Comment :

Vous pouvez empiler les colonnes pour réduire la largeur du rapport, ou comparer facilement les valeurs dans un rapport en créant une matrice. Pour empiler des colonnes, vous pouvez utiliser :

La différence entre FOLD-LINE et OVER est que FOLD-LINE commence sur la deuxième ligne (non pas la deuxième colonne) juste au-dessous de la première ligne, quoique légèrement indenté. Over empile les valeurs d"une colonne directement à une autre. Vous pouvez utiliser FOLD-LINE et OVER dans une même requête.



x
Syntaxe : Empiler les colonnes avec FOLD-LINE
display_command fieldname ... FOLD-LINE fieldname ...

ou

{ON|BY} fieldname FOLD-LINE

où :

display_command

Est une commande d'affichage. Il n'y a pas de décalage lorsque une ligne est pliée après un champ d'affichage.

fieldname

Est un champ d'affichage ou un champ de tri mis sur une ligne différente lorsque la valeur des champs ON ou BY change. Lorsqu'elle est pliée sur un champ de tri, une ligne est décalée par deux espaces provenant de la ligne précédente.

ON|BY

Est une phrase de tri vertical. Les deux termes sont synonymes.



Exemple : Empilement de colonnes avec FOLD-LINE

Ce qui suit illustre la façon d'utiliser FOLD-LINE afin de réduire la largeur de votre rapport. Dans cet exemple, les colonnes sont empilées lorsque la valeur du champ de tri CATEGORY change.

TABLE FILE GGSALES
SUM UNITS BUDUNITS
BY CATEGORY
ON CATEGORY FOLD-LINE
ON TABLE SET ONLINE-FMT PDF
ON TABLE SET PAGE-NUM OFF
END

Voici le rapport :

Sans FOLD-LINE, voici à quoi ressemble le rapport :



x
Syntaxe : Empiler les colonnes avec OVER
display_command fieldname1 OVER fieldname2 OVER fieldname3 ...

où :

display_command

Est une commande d'affichage.

fieldname1, fieldname2, fieldname3

Est un champ d'affichage ou une valeur calculée. Un champ de texte n'est pas valable.



Exemple : Empilement de colonnes avec OVER

Cette requête contient une phrase ACROSS dans un rapport HTML pour trier horizontalement selon département. Elle utilise deux phrases OVER afin d'empiler les colonnes.

TABLE FILE EMPLOYEE
SUM GROSS OVER DED_AMT OVER
COMPUTE NET/D8.2M = GROSS - DED_AMT; 
ACROSS DEPARTMENT
ON TABLE SET PAGE-NUM OFF
ON TABLE SET STYLE *
TYPE=REPORT, GRID=OFF,$
ENDSTYLE
END

En utilisant OVER, les colonnes GROSS, DED_AMT et NET sont empilées pour une meilleur lisibilité :

Sans OVER, voici à quoi ressemble le rapport :



x
L'alignement des champs dans les rapports avec OVER dans la sortie de rapport PDF

Lorsque les colonnes sont placées sur la sortie de rapport, elles sont séparées par des espaces. Vous pouvez contrôler la taille des espaces entre les colonnes avec les attributs de feuille de style LEFTGAP et RIGHTGAP.

Par défaut, les espaces entre les colonnes sont placés à l'extérieur des limites réservées pour les champs sur la sortie du rapport. Toutefois, la valeur de la largeur ou de compression définie pour un champ délimite la taille de la zone de texte pour la valeur de données. La valeur de la largeur ou de squeeze ne compte pas la largeur des espaces entre les colonnes. La zone de limitation utilisée pour définir les bordures et la couleur de l'arrière-plan est déterminée en fonction de la largeur des données, et de l'espace à droite et de l'espace à gauche.

Les espaces externes aux limites de colonne doivent être pris en compte lorsque vous essayez d'aligner les champs dans les rapports qui utilisent la phrase OVER.

Cette amélioration, ainsi que certaines des autres améliorations de WebFOCUS Révision 7.6 Version 11, sont conçues pour prendre en charge le développement des rapports multi-lignes en utilisant des noms AS vides (titres de colonne). Sauf mention contraire, ces fonctionnalités fonctionnent avec des titres non-blancs, mais elles n'ont pas été conçues pour prendre en charge l'alignement avec des titres de colonne non-blancs.

Par défaut, les titres de colonne sont placés à gauche des valeurs de champ dans un rapport avec OVER. Le Titre et la Valeur OVER sont mesurés par la combinaison de trois paramètres, LEFTGAP, WIDTH, et RIGHTGAP :

Avec OVER et des noms AS vides, chaque valeur de données devient une cellule de données qui peut être utilisée pour construire des lignes et des colonnes dans les lignes de données du rapport. Afin d'aligner les valeurs de données sur une ligne inférieure avec les colonnes au-dessus d'elles, vous devez calculer les largeurs pour les colonnes du niveau inférieur qui prennent en compte les largeurs des données au-dessus d'elles et les largeurs de tous les espaces à gauche et à droite des valeurs de données.

Cela peut être complexe à calculer comment dimensionner chaque colonne lors d'un alignement de données et d'en-têtes dans des rapports avec OVER. Chaque calcul de la taille de la colonne doit en plus tenir compte des espaces à gauche et à droite externes, et ces espaces sont cumulatifs comme le nombre de colonnes sur une ligne attribuée augmente.

Utilisation de l'attribut de feuille de style GAPINTERNAL=ON, vous pouvez avoir les espaces placés dans les limites des colonnes pour la sortie de rapport PDF. Cette fonctionnalité facilite l'alignement des champs et des en-têtes dans les rapports qui utilisent la phrase OVER pour créer des lignes multiples.

Remarque : OVER est désormais pris en charge avec SQUEEZE.



x
Syntaxe : Contrôler l'emplacement GAP dans les rapports
TYPE=REPORT, GAPINTERNAL={OFF|ON}

où :

OFF

Place les espaces à gauche et à droite en dehors de la largeur de champ définie. OFF est la valeur par défaut.

ON

Place les espaces à gauche et à droite internes à la largeur de champ définie.



Exemple : Comparaison des espaces externes avec des espaces internes

Avec la commande GAPINTERNAL=OFF, vous devez tenir compte de l'accumulation des espaces à gauche et à droite ainsi que des largeurs de champs lorsque vous définissez la largeur des colonnes empilées.

Avec la commande GAPINTERNAL=ON, la commande définie WIDTH représente l'espace complet utilisé par la cellule ou la colonne données. Cela enlève l'effet cumulatif alors que les valeurs OVER se poursuivent sur une ligne.



Exemple : Utilisation de GAPINTERNAL dans un rapport

La requête suivante contre la source de données GGSALES place le champ PRODUCT au-dessus des champs UNITS et DOLLARS et définit GAPINTERNAL à OFF :

SET LAYOUTGRID=ON
TABLE FILE GGSALES
"Product<+0>"
"Units<+0>Dollars"
SUM
PRODUCT AS ''
OVER
UNITS/D8C AS '' DOLLARS/D12.2CM AS ''
BY PRODUCT NOPRINT
ON TABLE PCHOLD FORMAT PDF
ON TABLE SET STYLE *
TYPE=REPORT, SQUEEZE=ON, FONT=ARIAL, SIZE=8, LEFTMARGIN=1, TOPMARGIN=1,
 LEFTGAP=.1, RIGHTGAP=.1, GAPINTERNAL=OFF, $
TYPE=REPORT, BORDER=ON, $
TYPE=HEADING, BORDERALL=ON, $
TYPE=HEADING, LINE=1, ITEM=1, POSITION = PRODUCT, $
TYPE=HEADING, LINE=2, ITEM=1, POSITION = UNITS, $
TYPE=HEADING, LINE=2, ITEM=2, POSITION = DOLLARS, $
TYPE=REPORT, COLUMN=PRODUCT(2),   SQUEEZE=2,  $
TYPE=REPORT, COLUMN=UNITS, SQUEEZE=1, $
TYPE=REPORT, COLUMN=DOLLARS, SQUEEZE=1, $
END

Les largeurs spécifiées pour les champs UNITS et DOLLARS sont un pouce chacun, alors que la largeur du champ PRODUCT est spécifé pour être à deux pouces. Avec la commande GAPINTERNAL=OFF, la commande LAYOUTGRID affiche que les largeurs utilisés pour placer les colonnes sont supérieures que les largeurs spécifiées dans la requête. L'espace supplémentaire présenté par les comptes d'espace à gauche et à droite pour cet effet :

Les bordures de l'en-tête sont alignées à droite du rapport en raison de l'attribut SQUEEZE=ON dans la feuille de style. L'espace supplémentaire a été ajouté au report pour aligner les en-têtes. Si vous modifiez la déclaration de feuille de style pour le champ PRODUCTS à JUSTIFY=RIGHT, vous pouvez voir que l'espace supplémentaire empêche la valeur du produit de s'aligner avec la valeur en dollars :

Modification de la déclaration de feuille de style à GAPINTERNAL=ON entraîne les largeurs spécifiées à utiliser parce que les espaces sont internes et sont inclus dans les valeurs spécifiées :

La sortie de rapport suivante démontre que les valeurs s'alignenent correctement même si les valeurs PRODUCT sont définies avec JUSTIFY=RIGHT :


Haut de page

x
Positionnement d'une colonne

Comment :

Vous pouvez spécifier la position de début absolue ou relative d'une colonne. La position de début relative est le nombre de caractères à droite de la dernière colonne.

En utilisant cette fonctionnalité avec un rapport HTML, mettez le paramètre STYLEMODE à FIXED.



x
Syntaxe : Positionner une colonne
field IN {n|+n}

où :

field

Est le colonne que l'on positionne.

n

Est un chiffre indiquant la position absolue de la colonne.

Lorsqu'il est utilisé avec ACROSS, n spécifie la position de début du jeu ACROSS.

Lorsqu'il est utilisé avec FOLD-LINE ou OVER, n s'applique à la ligne où se trouve le champ référencé.

+n

Est un chiffre indiquant la position relative de la colonne. La valeur de n est le nombre de caractères à droite de la dernière colonne.



Exemple : Positionnement de colonnes

Cette requête spécifie le positionnement absolu des trois colonnes dans le rapport. Le paramètre ON TABLE SET STYLEMODE FIXED est requis pour HTML.

TABLE FILE CENTQA 
SUM CNT.PROBNUM IN 1 AS 'Total #,Problems' 
SUM CNT.PROBNUM IN 45 AS '# Problems,by Product'
BY PLANT NOPRINT BY PRODNAME IN 15 
WHERE PLANT EQ 'ORL'
ON TABLE SET PAGE-NUM OFF 
ON TABLE SET STYLEMODE FIXED 
END

Les colonnes sont espacées pour la lisibilité :



Exemple : Positionnement de colonnes de tri horizontal (ACROSS

Cette requête utilise la phrase IN avec le critère de tri horizontal PLANT afin de spécifier la position de début de la colonne. En plus, elle utilise le positionnement relatif pour ajouter des espaces de plus entre les colonnes PROBNUM. Le paramètre ON TABLE SET STYLEMODE FIXED est requis pour les rapports HTML.

TABLE FILE CENTQA 
SUM PROBNUM IN +8
ACROSS PLANT IN 35 
BY PROBLEM_CATEGORY
WHERE PLANT EQ 'BOS' OR 'ORL'
ON TABLE SET PAGE-NUM OFF
ON TABLE SET STYLEMODE FIXED
END

Le jeu ACROSS commence dans la colonne 35 et il y a huit espaces de plus entre les colonnes de données dans ACROSS :



Exemple : Positionnement de colonnes empilées (OVER)

La requête suivante utilise OVER pour empiler les colonnes et IN pour les positionner.

TABLE FILE EMPLOYEE 
SUM GROSS IN 40
OVER DED_AMT IN 40 
BY DEPARTMENT BY LAST_NAME IN 20 
ON TABLE SET PAGE-NUM OFF
ON TABLE SET STYLEMODE FIXED
END

Dans le rapport, GROSS et DED_AMT sont empilés, commençant dans la colonne 40. LAST_NAME commence dans la colonne 20.


WebFOCUS