Comment : |
Langages disponibles : reporting
La fonction FMLINFO renvoie la valeur FOR associées à chaque ligne dans un rapport FML. Avec FMLINFO, vous pouvez utiliser la valeur correcte FOR dans une commande COMPUTE de façon à effectuer d'zoom en profondeur et des modifications des signes pour chacune dans le rapport, même si la ligne est une ligne de sommaire créé avec une liste OR list ou une commande ADD FML pour hiérarchie.
Remarque : vous pouvez utiliser le paramètre SET FORMULTIPLE=ON pour activer un enregistrement entrer qui soit utilisé sur plus d'une ligne dans un rapport FML.
FMLINFO('FORVALUE', output)
où :
Alphanumérique
Conserver la valeur FOR associées à chaque ligne dans un rapport FML. Si la ligne FML a été généré en tant que somme d'enregistrements de données en utilisant la phrase OR, FMLINFO renvoie la première valeur FOR spécifiée dans la liste de valeurs. Si la phrase OR a été généré via une commande ADD FML pour hiérarchie, FMLINFO renvoie la valeur FOR associée au parent spécifié dans la commande ADD.
Alphanumérique
est le champ qui contient le résultat, ou le format de la valeur de sortie entre guillemets simples.
La requête suivante créée un champ appelé PRINT_AMT qui est le négatif du champ NAT_AMOUNT pour les numéros de compte inférieurs à 2500 dans la source de données CENTSYSF. La source de données CENTGL contient l'information de hiérarchie pour CENTSYSF. Par conséquent, CENTGL est jointe à CENTSYSF pour la requête :
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
Remarque : la valeur parente spécifiée dans la commande WITH CHILDREN ADD (2000) est renvoyée pour la première ligne sur le rapport. Chaque ligne suivante est elle aussi consolidée en tant que sous-section de la hiérarchie avec une valeur parente qui est renvoyée par 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
La valeur FOR imprimée pour la ligne de sommaire est 1010, mais FMLINFO renvoie la première valeur spécifiée dans la liste 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
END
La sortie est :
AMOUNT | RETURNEDFOR | |
1010 1020 1030 | 8,784 4,494 7,961 | 1010 1020 1030 |
------ | --------- | |
1010 | 21,239 | 1030 |
Information Builders |