Appel d'une fonction dans une commande RECAP

Comment :

Vous pouvez invoquer une fonction depuis une commande FML RECAP.


Haut de page

x
Syntaxe : Appel d'une fonction dans une commande RECAP
RECAP name[(n)|(n,m)|(n,m,i)][/format1] =  
function(input1,...,['format2']);

où :

nom

est le nom du champ.

n

affiche la valeur dans la colonne dont le numéro est spécifié par n. Si vous omettez le numéro de colonne, la valeur apparaît dans toutes les colonnes.

n,m

affiche la valeur dans toutes les colonnes, en commençant par la colonne dans le numéro est spécifié par n et en finissant avec la colonne dont le numéro est spécifié par m.

n,m,i

affiche la valeur dans les colonnes, en commençant par la colonne dans le numéro est spécifié par n et en finissant avec la colonne dont le numéro est spécifié par m avec un intervalle spécifié par i. Par exemple, si n et 1, m est 5, et i est 2, la valeur s'affiche dans les colonnes 1, 3, et 5.

format1

est le format du champ. La valeur par défaut est le format de la colonne originale.

function

est la fonction.

input1,...

sont les arguments d'entrée, ce qui peut inclure les constantes numériques, les littéraux alphanumériques, les références de lignes et de colonnes (notation R, notation E, ou labels), et les noms d'autres calculs RECAP.

format2

est le format de la valeur de sortie entouré par des guillemets simples. Si le format du calcul est plus grand que la largeur de la colonne, la valeur s'affiche dans cette colonne-là sous forme d'astérisques.



Exemple : Appeler une fonction dans une commande RECAP

Cette requête calcule la somme du champ AMOUNT pour le compte 1010 en utilisant le label CASH, le compte 1020 en utilisant le label DEMAND, et le compte 1030 en utilisant le label TIME. La fonction MAX affiche la valeur maximale pour ses comptes.

TABLE FILE LEDGER
SUM AMOUNT FOR ACCOUNT
1010 AS 'CASH ON HAND'      LABEL CASH   OVER
1020 AS 'DEMAND DEPOSITS'   LABEL DEMAND OVER
1030 AS 'TIME DEPOSITS'     LABEL TIME   OVER
BAR                         OVER
RECAP MAXCASH = MAX(CASH, DEMAND, TIME); AS 'MAX CASH'
END

La sortie est :

                 AMOUNT
                 ------
CASH ON HAND      8,784
DEMAND DEPOSITS   4,494
TIME DEPOSITS     7,961
                 ------
MAX CASH          8,784

WebFOCUS