En esta sección:
Referencia: |
La facilidad o dificultad con que un usuario localice los datos dependerá de la organización de las columnas en una página. Existen muchas opciones de diseño. Con los atributos o comandos de hoja de estilos puede:
Característica |
Descripción |
Funciona en |
---|---|---|
SQUEEZE |
Fija el ancho de la columna |
HTML (requiere FONT=DEFAULT-FIXED) PS |
SET SPACES |
Fija el número de espacios entre columnas |
HTML (requiere SET STYLEMODE=FIXED) |
SEQUENCE |
Fija el orden de las columnas |
PS HTML EXL2K (Nota: no funciona con EXL2K FORMULA) |
FOLD-LINE |
Apila las columnas y reduce así el ancho del informe. |
PS |
OVER |
Apila las columnas colocándolas una sobre la otra. |
HTML PS |
IN {n|+n} |
Fija el punto de inicio absoluto o relativo de una columna. |
HTML (requiere SET STYLEMODE=FIXED) PS |
Cómo: |
El valor del atributo SQUEEZE en una hoja de estilos determina el ancho de la columna en un informe. En vez de una hoja de estilos, puede usar un parámetro SET para fijar el valor de SQUEEZE. Si los valores de hoja de estilos y SET entran en conflicto, el valor de hoja de estilos anula al valor SET. Para más detalles sobre SET, consulte el manual Cómo desarrollar aplicaciones de informes.
Cuando SQUEEZE está activado (por defecto), se ignora la columna de la hoja de estilos. El ancho de la columna se determina usando la configuración predeterminada de su navegador.
El uso de SQUEEZE puede afectar la manera en que los encabezados, las notas al pie y los títulos de columna aparezcan en su informe. Para obtener información detallada, consulte Cómo usar encabezados, pies, títulos y etiquetas.
Esta sintaxis se aplica a un informe HTML. Para ver la sintaxis de un informe PDF o PS, consulte Cómo Determinar el ancho de una columna (PDF o PS).
[TYPE=REPORT,] SQUEEZE={ON|OFF}, $
donde:
Aplica el ancho de columna a todo el informe. No se requiere, pues es el predeterminado
Determina el ancho de la columna a partir del que sea más ancho, el valor de datos o el título de columna. ON es el valor predeterminado.
En el caso de los informes HTML, el navegador web reduce los anchos de columna al ancho del título de columna o valor de campo más estrecho.
Determina el ancho de columna a partir del formato de campo en el archivo máster. Los espacios en blanco acomodan el ancho de columna hasta la longitud del título de la columna o del formato de campo, el que sea más ancho.
Nota: No se admite SQUEEZE para columnas creadas con la frase OVER.
Esta solicitud usa SQUEEZE=ON (la posición predeterminada) para un informe HTML. El ancho de la columna se determina a partir del que sea más ancho, el valor de los datos o el título de la columna.
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
En los casos de Category, Unit Sales y Dollar Sales, el título de la columna es más ancho que los valores de datos correspondientes. En el caso de Product, los valores de datos más anchos determinan el ancho de la columna. El informe HTML es:
Esta solicitud establece SQUEEZE en OFF para un informe HTML. El ancho de la columna es determinado por el formato de campo en el archivo máster.
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
Los espacios en blanco acomodan el ancho de la columna hasta alcanzar la longitud del formato de campo para Category (A11) y Product (a16). El informe HTML es:
Esta sintaxis se aplica a un informe PDF o PS. Para la sintaxis de un informe HTML, consulte Cómo Determinar el ancho de una columna (HTML).
[TYPE=REPORT,] COLUMN=identifier, SQUEEZE={ON|OFF|width}, $
donde:
Aplica el ancho de columna a todo el informe. No se requiere, pues es el predeterminado
Selecciona una columna mediante el atributo COLUMN descrito en Cómo identificar un componente de informe en una hoja de estilo de WebFOCUS. Si omite un identificador de columna, el valor de SQUEEZE se aplica a todas las columnas del informe. También puede usar SET SQUEEZE para fijar el ancho de todas las columnas.
Determina el ancho de la columna a partir del que sea más ancho, el valor de datos o el título de columna. ON es el valor predeterminado.
Determina el ancho de columna a partir del formato de campo en el archivo máster. Los espacios en blanco acomodan el ancho de columna hasta la longitud del título de la columna o del formato de campo, el que sea más ancho.
Es una medida del ancho de la columna que se especifica con el atributo UNITS.
Si el valor de datos más ancho supera la medida especificada:
Y el campo es... | Aparece lo siguiente... |
---|---|
Alfanumérico | Todo lo que quepa en el ancho especificado, seguido de un signo de exclamación (!) para indicar un corte. |
Numérica | Asteriscos (*) en lugar del valor de campo. |
Nota: No se admite SQUEEZE para columnas creadas con la frase OVER.
Esta solicitud usa SQUEEZE=2.5 para aumentar la columna predeterminada del campo PRODUCT en un informe PDF. Fíjese que esta característica se usa primordialmente en informes impresos. En función de la resolución de su pantalla, puede que el ancho de las columnas se muestre de manera diferente a cómo se imprimirá.
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
El informe PDF es:
Cómo: |
De forma predeterminada, las columnas de los informes están separadas por uno o dos espacios, dependiendo del ancho de la salida. Los parámetros SET SPACES y ON TABLE SET SPACES controlan el número de espacios entre columnas en un informe.
En una frase de clasificación horizontal (ACROSS), el parámetro SPACES determina la distancia entre conjuntos de clasificación horizontal. Dentro del conjunto, la distancia entre columnas es siempre de un espacio y no se puede cambiar.
Esta característica se aplica a un informe HTML. Es obligatorio que establezca el parámetro STYLEMODE en FIXED.
Esta sintaxis se aplica a un informe HTML.
Para todas las solicitudes de informe en un procedimiento
SET SPACES = {n|AUTO}
Para una solicitud de informe
ON TABLE SET SPACES {n|AUTO}
donde:
Es un número entero entre 1 y 8 que indica el número de espacios entre las columnas de los informes.
Separa automáticamente las columnas de los informes con uno o dos espacios. AUTO es el valor predeterminado.
Esta solicitud usa ACROSS con ON TABLE SET SPACES. Se requiere el parámetro ON TABLE SET STYLEMODE FIXED para 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
El conjunto ACROSS está formado por los campos Quantity y Line Total. La distancia entre cada conjunto es de siete espacios:
Cómo: |
Puede cambiar el orden en que aparecen las columnas de clasificación vertical (BY) en un informe. Esta característica no se aplica a las filas de clasificación horizontal (ACROSS) o a las columnas apiladas (OVER).
Esta sintaxis aplica a informes PDF, PS, HTML y EXL2K.
[TYPE=REPORT,] COLUMN=identifier, SEQUENCE=sequence, $
donde:
Aplica el orden de las columnas a todo el informe. No se requiere, pues es el predeterminado
Selecciona una columna mediante el atributo COLUMN descrito en Cómo identificar un componente de informe en una hoja de estilo de WebFOCUS.
Es un número que representa el orden de la columna seleccionada.
Los números no tienen que estar en orden secuencial o en incrementos de uno. El orden de las columnas es de menor a mayor. Las columnas NOPRINT no están incluidas.
Esta solicitud reorganiza el orden en que las columnas suelen aparecer en el informe, es decir, con SNAME primero, PRODCAT segundo y LINEPRICE en tercer lugar.
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
Ahora, LINEPRICE (Sales) es la primera columna, PRODCAT (Product) es la segunda (tal como en el orden predeterminado) y SNAME (Store Name) es la tercera. El informe PDF es:
En esta sección: Cómo: |
Puede apilar columnas en un informe para reducir el ancho de dicho informe o para comparar con facilidad los valores en un informe mediante la creación de una matriz. Para apilar las columnas puede usar:
La diferencia entre FOLD-LINE y OVER es que FOLD-LINE inicia la segunda línea (no la segunda columna) inmediatamente debajo de la primera, pero con una pequeña sangría. OVER apila unos sobre otros los valores de una columna, literalmente. Puede utilizar FOLD-LINE y OVER en la misma solicitud.
display_command fieldname ... FOLD-LINE fieldname ...
o
{ON|BY} fieldname FOLD-LINE
donde:
Es un comando de visualización. No hay cambio de posición alguno cuando una línea se dobla después de un campo de visualización.
Es un campo de visualización o campo de clasificación colocado en una línea separada cuando cambia el valor del campo ON u OFF. Cuando se la dobla en un campo de clasificación, la línea se sale por dos espacios con relación a la línea anterior.
Es una frase de clasificación vertical. Ambos son sinónimos.
A continuación se muestra cómo usar FOLD-LINE para reducir el ancho de su informe. En este ejemplo, las columnas se apilan cuando cambia el valor del campo de clasificación CATEGORY.
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
El informe es:
Sin FOLD-LINE, el informe luce así:
display_command fieldname1 OVER fieldname2 OVER fieldname3 ...
donde:
Es un comando de visualización.
Es un campo de visualización o valor calculado. No resulta válido un campo de texto.
Esta solicitud contiene una frase ACROSS en un informe HTML para clasificar horizontalmente por departamento. Usa dos frases OVER para apilar columnas.
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
Con el uso de OVER, las columnas GROSS, DED_AMT y NET se apilan para mayor legibilidad:
Si no se usa OVER, el informe luce así:
Después de quedar colocadas en la salida del informe, las columnas se separan mediante espacios. Puede determinar el tamaño de estos espacios mediante los atributos de hoja de estilos LEFTGAP y RIGHTGAP.
Por defecto, los espacios entre las columnas quedan colocados fuera de los límites reservados a los campos, en la salida del informe. Por tanto, el valor de anchura o estrechez definido para un campo determina el tamaño del área de texto de ese valor de datos. No se cuenta el ancho de los espacios situados entre las columnas. El cuadro de límite empleado para definir los bordes y el color de fondo se determina en base al ancho de los datos, más los espacios izquierdo y derecho.
Los espacios situados fuera de los límites de la columna deben tenerse en cuenta a la hora de alinear campos en informes que utilizan la frase OVER.
Esta mejora, además de algunas otras en WebFOCUS Edición 7.6, Versión 11, está diseñada para ser compatible con el desarrollo de informes multifila utilizando nombres AS en blanco (títulos de columnas). A menos que se indique lo contrario, estas características funcionan con títulos que no estén en blanco, aunque su diseño no admite la alineación de títulos de columnas en blanco.
Por defecto, los títulos de las columnas se colocan a la izquierda de los valores de los campos, en informes que utilizan OVER. El título OVER y el valor OVER se miden en base a la combinación de tres parámetros, LEFTGAP, WIDTH y RIGHTGAP:
Con los nombres OVER y AS en blanco, cada valor de datos se convierte en una celda de datos que puede utilizarse para construir filas y columnas, dentro de las líneas de datos del informe. Si desea alinear los valores de datos en una línea inferior, con las columnas encima, debe calcular el ancho de las columnas en niveles inferiores para contar con el ancho de los datos situados sobre ellas, además del ancho de todos los espacios izquierdos y derechos situado entre medias.
El cálculo del tamaño asignado a cada columna al alinear datos y encabezados en informes que emplean OVER puede resultar complejo. Cada cálculo del tamaño de las columnas debe contar además con los espacios externos, izquierdos y derechos, puesto que estos se van acumulando según aumenta el número columnas en una fila determinada.
El atributo de hoja de estilos GAPINTERNAL=ON le permite colocar los espacios entre los límites de las columnas, en la salida de informes PDF. Esta característica facilita enormemente la alineación de campos y encabezados en los informes que usan la frase OVER para crear múltiples líneas.
Nota: OVER ahora se admite con SQUEEZE.
TYPE=REPORT, GAPINTERNAL={OFF|ON}
donde:
Coloca los espacios izquierdo y derecho fuera del ancho de campo definido. OFF es el valor predeterminado.
Coloca los espacios izquierdo y derecho dentro del ancho de campo definido.
Cuando GAPINTERNAL=OFF, tenga en cuenta la acumulación de espacios izquierdos y derechos, además del ancho de los campos, a la hora de definir el ancho de las columnas apiladas.
Cuando GAPINTERNAL=ON, el WIDTH definido representa el espacio completo usado por una determinada celda de datos o columna. Esto elimina el efecto acumulativo, puesto que los valores de OVER se encuentran en una fila.
La siguiente solicitud emitida frente al origen de datos GGSALES coloca el campo PRODUCT sobre los campos UNITS y DOLLARS, y establece GAPINTERNAL en 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
El ancho especificado para UNITS y DOLLARS es de una pulgada, mientras que el campo PRODUCT es de dos pulgadas. Cuando GAPINTERNAL=OFF, LAYOUTGRID muestra que el ancho empleado para colocar las columnas es superior al ancho especificado en la solicitud. El espacio adicional representado por los espacios externos, izquierdo y derecho, tiene en cuenta este efecto:
Los bordes del encabezado están alineados a la derecha del informe debido al atributo SQUEEZE=ON en la hoja de estilos. Se ha añadido espacio adicional al informe para alinear los encabezados. Si modifica la declaración de la hoja de estilos del campo PRODUCTS a JUSTIFY=RIGHT, apreciará cómo el espacio adicional evita que el valor del producto se alinee con el valor en dólares:
Si cambia la declaración de hoja de estilos a GAPINTERNAL=ON, hace que se emplee el ancho especificado ya que los espacios son internos y están incluidos en los valores especificados:
La siguiente salida de informe demuestra que los valores se alinean correctamente, incluso cuando los valores de PRODUCT se han definido con JUSTIFY=RIGHT:
Cómo: |
Puede especificar el punto de inicio absoluto o relativo de una columna en un informe. La posición de inicio relativa es el número de caracteres que se encuentra a la derecha de la ultima columna.
Cuando use esta característica con un informe HTML, establezca el parámetro STYLEMODE en FIXED.
field IN {n|+n}
donde:
Es la columna que se está ubicando
Es un número que indica la posición absoluta de la columna.
Cuando se usa con ACROSS, n especifica la posición inicial del conjunto ACROSS.
Cuando se usa con FOLD-LINE u OVER, n se aplica a la línea en que se encuentra el campo de referencia.
Es un número que indica la posición relativa de la columna. El valor de n es el número de caracteres a la derecha de la última columna.
Esta solicitud especifica la ubicación absoluta de las tres columnas del informe. Se requiere el parámetro ON TABLE SET STYLEMODE FIXED para 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
Las columnas se espacian para aumentar la legibilidad:
Esta solicitud emplea la frase IN con el campo de clasificación horizontal PLAN para especificar la posición inicial de la columna. También usa posicionamiento relativo para añadir espacios adicionales entre las columnas PROBNUM. Se requiere el parámetro ON TABLE SET STYLEMODE FIXED para informes 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
El conjunto ACROSS empieza en la columna 35 y hay ocho espacios adicionales entre las columnas de datos en el ACROSS:
La siguiente solicitud usa OVER para apilar columnas e IN para ubicarlas.
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
En el informe, GROSS y DED_AMT están apiladas a partir de la columna 40. LAST_NAME empieza en la columna 20.
WebFOCUS |