Cómo: |
Lenguajes disponibles: informes
La función FMLINFO devuelve el valor de FOR asociado a cada fila de un informe de FML. FMLINFO permite usar el valor correspondiente de FOR en un comando COMPUTE, para hacer drill-downs y cambios de signo en cada fila del informe, incluso cuando la fila es una fila de resumen creado con una lista OR o un comando ADD de jerarquía del lenguaje de modelos financieros (FML, en sus siglas en inglés).
Nota: Puede usar el parámetro SET FORMULTIPLE=ON para activar un registro entrante y usarlo en más de una línea de un informe de FML.
FMLINFO('FORVALUE', output)donde:
Alfanumérico
Devuelve el valor de FOR asociado a cada fila de un informe de FML. Si la fila de FML se ha generado como suma de los registros de datos, mediante una frase OR, FMLINFO devuelve el primer valor de FOR especificado en la lista de valores. Si la frase OR ha sido generada por un comando ADD de jerarquía FML, FMLINFO devuelve el valor de FOR asociado al elemento principal especificado en el comando ADD.
Alfanumérico
Es el nombre del campo que contiene el resultado, o el formato del valor de salida puesto entre comillas solas.
La siguiente solicitud crea un campo llamado PRINT_AMT que es el negativo del campo NAT_AMOUNT para los números de cuenta inferiores a 2500, en el origen de datos CENTSYSF. El origen de datos CENTGL contiene la información de jerarquía de CENTSYSF. Por tanto, CENTGL se une a CENTSYSF para la solicitud:
SET FORMULTIPLE = ON JOIN SYS_ACCOUNT IN CENTGL TO ALL SYS_ACCOUNT IN CENTSYSF TABLE FILE CENTGL SUM NAT_AMOUNT/D10 IN 30 COMPUTE PRINT_AMT/D10 = IF FMLINFO('FORVALUE','A7') LT '2500' THEN 0-NAT_AMOUNT ELSE NAT_AMOUNT; COMPUTE FORV/A4 = FMLINFO('FORVALUE', 'A4'); COMPUTE ACTION/A9 = IF FORV LT '2500' THEN 'CHANGED' ELSE 'UNCHANGED'; FOR GL_ACCOUNT 2000 WITH CHILDREN 2 ADD AS CAPTION END
Nota: El valor principal, especificado en el comando WITH CHILDREN ADD (2000), se devuelve para la primera fila del informe. Cada fila posterior también se trata de una subsección de la jerarquía con un valor principal devuelto por FMLINFO:
Month
Actual PRINT_AMT FORV ACTION
------ --------- ---- ------
Gross Margin -25,639,223 25,639,223 2000 CHANGED
Sales Revenue -62,362,490 62,362,490 2100 CHANGED
Retail Sales -49,355,184 49,355,184 2200 CHANGED
Mail Order Sales -6,899,416 6,899,416 2300 CHANGED
Internet Sales -6,107,890 6,107,890 2400 CHANGED
Cost Of Goods Sold 36,723,267 36,723,267 2500 UNCHANGED
Variable Material Costs 27,438,625 27,438,625 2600 UNCHANGED
Direct Labor 6,176,900 6,176,900 2700 UNCHANGED
Fixed Costs 3,107,742 3,107,742 2800 UNCHANGED
El valor de FOR imprimido para la línea de resumen es de 1010, aunque FMLINFO devuelve el primer valor especificado en la lista OR, 1030:
SET FORMULTIPLE = ON
TABLE FILE LEDGER
SUM AMOUNT
COMPUTE RETURNEDFOR/A8 = FMLINFO('FORVALUE','A8');
FOR ACCOUNT
1010 OVER
1020 OVER
1030 OVER
BAR OVER
1030 OR 1020 OR 1010
ENDLa salida es:
AMOUNT | RETURNEDFOR | |
1010 1020 1030 | 8,784 4,494 7,961 | 1010 1020 1030 |
------ | --------- | |
1010 | 21,239 | 1030 |
| Information Builders |