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 :
Fonctionnalité |
Description |
S'applique à |
---|---|---|
SQUEEZE |
Détermine la largeur des colonnes. |
HTML (exige FONT=DEFAULT-FIXED) PS |
SET SPACES |
Détermine le nombre d'espaces entre les colonnes. |
HTML (exige SET STYLEMODE=FIXED) |
SEQUENCE |
Détermine l'ordre des colonnes. |
PS HTML EXL2K (Remarque : ne fonctionne pas avec EXL2K FORMULA) |
FOLD-LINE |
Réduit la largeur du rapport en empilant les colonnes. |
PS |
OVER |
Empile les colonnes en les plaçant les unes sur les autres. |
HTML PS |
IN {n|+n} |
Détermine la position de début absolue ou relative d'une colonne. |
HTML (exige SET STYLEMODE=FIXED) PS |
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.
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ù :
Applique la largeur des colonnes au rapport entier. Comme ceci est la valeur par défaut, il n'est pas requis.
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).
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.
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 :
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 :
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ù :
Applique la largeur des colonnes au rapport entier. Comme ceci est la valeur par défaut, il n'est pas requis.
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.
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.
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.
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.
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 :
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.
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ù :
Est un nombre entier entre 1 et 8, indiquant le nombre d'espaces entre les colonnes de rapport.
Sépare automatiquement les colonnes de rapport par un ou deux espaces. AUTO est la valeur par défaut.
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 :
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.
Cette syntaxe s'applique aux rapports PDF, PS, HTML et EXL2K
[TYPE=REPORT,] COLUMN=identifier, SEQUENCE=sequence, $
où :
Applique l'ordre des colonnes au rapport entier. Comme ceci est la valeur par défaut, il n'est pas requis.
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.
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.
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 :
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.
display_command fieldname ... FOLD-LINE fieldname ...
ou
{ON|BY} fieldname FOLD-LINE
où :
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.
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.
Est une phrase de tri vertical. Les deux termes sont synonymes.
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 :
display_command fieldname1 OVER fieldname2 OVER fieldname3 ...
où :
Est une commande d'affichage.
Est un champ d'affichage ou une valeur calculée. Un champ de texte n'est pas valable.
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 :
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.
TYPE=REPORT, GAPINTERNAL={OFF|ON}
où :
Place les espaces à gauche et à droite en dehors de la largeur de champ définie. OFF est la valeur par défaut.
Place les espaces à gauche et à droite internes à la largeur de champ définie.
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.
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 :
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.
field IN {n|+n}
où :
Est le colonne que l'on positionne.
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é.
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.
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é :
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 :
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 |