FMLINFO : Renvoyer des valeurs FOR

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.


Haut de page

x
Syntaxe : Conserver des valeurs FOR dans une requête FML
FMLINFO('FORVALUE', output)

où :

'FORVALUE'

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.

output

Alphanumérique

est le champ qui contient le résultat, ou le format de la valeur de sortie entre guillemets simples.



Exemple : Extraire des valeurs FOR pour lignes FML hiérarchiques

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



Exemple : Utiliser FMLINFO avec une phrase OR

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